[go: nahoru, domu]

この記事は IoT デベロッパー アドボケート の Dave Smith による Android Developers Blog の記事 "An Update on Android Things" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Google はこの 1 年、パートナー各社と密接に連携し、Google アシスタント搭載の Android Things を活用した消費者向け製品を生み出してきました。パートナー各社は、スマート スピーカーやスマート ディスプレイで成功を収めています。その点を踏まえて、Android Things の方向性を変更し、進化を続けるこのカテゴリの端末を OEM パートナーが構築するためのプラットフォームといたします。そのため現在のところ、NXP、Qualcomm、MediaTek のハードウェアをベースとした System on Module(SoM)製品のサポートについては、一般公開されるデベロッパー プラットフォームとしての提供は予定していません。
Android Things は、今後も NXP i.MX7D や Raspberry Pi 3B などの人気ハードウェアをベースに、Android Things SDK を使ってスマートなネットワーク対応端末を実験、構築できるプラットフォームであり続けます。これらのボードのシステム イメージは、今後も Android Things コンソールから入手できます。デベロッパーは、Android Things コンソールを通して最大 100 台の非商用端末に対し、新しいビルドの作成やアプリのアップデートの配信を行うことができます。

これからも私たちは、すぐに利用できるハードウェア ソリューションを含む IoT 端末用マネージド プラットフォームの提供に注力してまいります。2019 年に IoT プロダクトを商用化したいと考えているデベロッパーの皆さんは、安全かつ大規模な端末のネットワーク接続を実現できる Cloud IoT Core や、各種マネージド エッジ コンピューティング サービスに利用できる Cloud IoT Edge ランタイム(近日公開)についてご確認ください。端末内機械学習アプリケーションに興味のある方は、Edge TPU 開発ボードにご期待ください。

Reviewed by Yuichi Araki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things client library for Google Cloud IoT Core" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Android Things 端末から Google Cloud IoT Core を簡単に使えるようにするクライアント ライブラリをリリースしました。わずか数行のコードで、IoT Core MQTT ブリッジへの接続、端末の認証、端末のテレメトリやステートのパブリッシュ、構成変更のサブスクライブ、エラーやネットワーク障害への対応を簡単に行うことができます。

Cloud IoT Core とは

Cloud IoT CoreGoogle Cloud Platform のフルマネージド サービスで、世界中に分散するたくさんの端末に対して、簡単かつ安全に接続、管理、データの取り込みを行えるようにするものです。Cloud IoT Core と、Google の Cloud IoT プラットフォームを構成する他のサービスを組み合わせると、IoT データをリアルタイムで収集、処理、分析、視覚化できるソリューションを開発でき、運用効率、コンプライアンス、収益管理の改善に役立てることができます。Android Things は、テレメトリー データの収集から強力なコンピュータ ビジョン、音声処理、機械学習アプリケーションまで、すべてを端末上で行うことをサポートするために設計されています。さらに、Cloud IoT Core を利用すると、データを Google Cloud Platform にプッシュしてさらに分析できます。



Cloud IoT Core クライアント ライブラリ

Cloud IoT Core クライアント ライブラリは、Android Things デベロッパーがわずか数行のコードで使い始めることができるように設計されました。認証、セキュリティ、エラー処理、オフライン操作のベスト プラクティスが実装されており、ネットワーク、スレッド、メッセージ ハンドリングの処理を行ってくれます。

Cloud IoT Core は承認済み端末を追跡する端末レジストリを管理し、各端末は公開鍵を使ってサーバー認証を行います。Android Things では、ハードウェアのサポートによって暗号鍵マテリアルを確実に保護する Android Keystore など、IoT アプリの保護に役立つ多くの機能が提供されています。クライアント ライブラリは RSA 鍵と ECC 鍵の両方をサポートし、Cloud IoT Core での認証に利用できる JSON Web Token(JWT)の生成を実装します。

接続を確立できた端末は、テレメトリー データをテレメトリー トピック内の 1 つまたは複数のバケットにパブリッシュできるほか、個々の端末状態トピックに対して内部状態を報告できます。端末の状態は、ソフトウェアのバージョンや動作しているセンサーの数などの情報を格納することを想定しています。テレメトリー メッセージは、実際のセンサーの測定値など、端末からのその他すべてのデータが対象です。端末は、Cloud IoT Core がパブリッシュする 構成変更をサブスクライブすることもできます。

現実世界の IoT 端末は質の悪い無線条件で動作しているので、クライアント ライブラリは、エラー処理や、イベントのキャッシュと再送信を幅広くサポートしています。オフライン動作をカスタマイズしたいデベロッパーのために、ライブラリのキューをカスタマイズしたり置き換えたりすることもできます。これにより、保存するイベントや、オンラインに戻ったときに送信するイベントの順番などを細かく制御することが可能です。

Android Things を使った端末のプロビジョニングと認証


Cloud IoT Core クライアント ライブラリは、Android Things を使った端末のプロビジョニングや認証の全体像の一部です。この点の詳細については、Google I/O 2018 のプレゼンテーション動画をご覧ください。




サンプルコード

Cloud IoT Core クライアント ライブラリは簡単に使ってみることができます。Android Things プロジェクトの build.gradle ファイルに次の行を追加するだけです。
implementation 'com.google.android.things:cloud-iot-core:1.0.0'

このライブラリは、ご自分でビルドしたい方のために、オープンソースとして GitHub で公開されています。さらに、Android Things でセンサーハブを実現する方法を示すサンプルも公開しています。これは、接続されているセンサーからデータを収集し、それを Google Cloud IoT Pub/Sub トピックにパブリッシュするものです。

独自のコードでクライアント ライブラリを使うのも簡単です。次の Kotlin の例は、プロジェクトに基づいて新しい構成とクライアントを作成する方法を示しています。
var configuration = IotCoreConfiguration.Builder().
                         .setProjectId("my-gcp-project")
                         .setRegistry("my-device-registry", "us-central1")
                         .setDeviceId("my-device-id")
                         .setKeyPair(keyPairObject)
                         .build()

var iotCoreClient = IotCoreClient.Builder()
              .setIotCoreConfiguration(configuration)
              .setOnConfigurationListener(onConfigurationListener)
              .setConnectionCallback(connectionCallback)
              .build()

iotCoreClient.connect()

続いて、次の Kotlin の例では、テレメトリー情報や端末の状態をパブリッシュしています。
private fun publishTelemetry(temperature: Float, humidity: Float) {
    // payload is an arbitrary, application-specific array of bytes
    val examplePayload = """{
        |"temperature" : $temperature,
        |"humidity": $humidity
        |}""".trimMargin().toByteArray()
    val event = TelemetryEvent(examplePayload, topicSubpath, TelemetryEvent.QOS_AT_LEAST_ONCE)
    iotCoreClient.publishTelemetry(event)
}

private fun publishDeviceState(telemetryFrequency: Int, enabledSensors: Array<String>) {
    // payload is an arbitrary, application-specific array of bytes
    val examplePayload = """{
        |"telemetryFrequency": $telemetryFrequency,
        |"enabledSensors": ${enabledSensors.contentToString()}
        |}""".trimMargin().toByteArray()
    iotCoreClient.publishDeviceState(examplePayload)
}


参考資料

Android Things 開発の詳細については、デベロッパー サイトをご覧ください。Cloud IoT Core を使ってみるための詳しい情報については、情報ページドキュメントをご覧ください。ぜひ Google+ の Google's IoT Developers Community に参加して、皆さんが Android Things や Cloud IoT Core で開発しているものについて教えてください。



Reviewed by Takuo Suzuki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Dave Smith による Android Developers Blog の記事 "Say Hello to Android Things 1.0" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Android Things は、モノのインターネット(Internet of Things)端末の構築と管理を可能にする Google が提供する OS です。認定ハードウェア、豊富なデベロッパー向け API、Google のバックエンド インフラを使用した安全なソフトウェアアップデートといった手間のかかる部分を堅牢なプラットフォーム Android Things 1.0 が担うため、皆さんは製品の構築に専念することができます。

SDK が 10 万回以上ダウンロードされたデベロッパー プレビューを経て、製品端末向けの長期サポートが付いた Android Things 1.0 をリリースしました。1.0 をリリースするまでの道のりにおいて、デベロッパーの皆さんのフィードバックや協力は欠かせないものでした。Issue Tracker やワークショップ、Google+ コミュニティを通してフィードバックをくださった、1 万人以上のデベロッパーの皆さんに感謝いたします。

強力な製品ハードウェア

NXP i.MX8M、Qualcomm SDA212、Qualcomm SDA624、MediaTek MT8516 の各ハードウェア プラットフォームをベースとした、新たな System-on-Module(SoM)のサポートについても先週発表しました。これらは、製品へ利用できるモジュールとして認定されており、3 年間の長期サポートが保証され、プロトタイプをより簡単に市場に出すことができます。これらの SoM の開発用ハードウェアやリファレンス設計は、今後数か月以内に提供を開始する予定です。
  
NXP、Qualcomm、MediaTek の新たな SoM

Raspberry Pi 3 Model B と NXP i.MX7D 端末は、プロトタイプや製品アイデアをテストするためのデベロッパー ハードウェアとして、引き続きサポートされ、NXP i.MX6UL 端末のサポートは終了します。製品用ハードウェアとプロトタイプ ハードウェアの違いについての詳細は、最新のサポート対象プラットフォームのページをご覧ください。

セキュアなソフトウェア アップデート

Android Things の中核となる考えの 1 つは、端末が長期間にわたって安全性を保ち続けることに力を注ぐことです。それには、タイムリーに OTA(無線)でソフトウェア アップデートを提供することが欠かせません。製品用ハードウェア プラットフォームでは、安定性に関わる修正やセキュリティ パッチがサポートされます。また、すべての端末において、デフォルトで自動アップデートが有効になっています。それぞれの長期サポート バージョンに対して、Google は、安定性の修正とセキュリティ パッチを 3 年間無料で提供します。追加オプションとして、延長サポートも提供しています。アプリのアップデートは、正式なサポート期間が終了しても配信を続けることができます。ソフトウェア アップデートのサポートに関する詳細は、プログラム ポリシーをご覧ください。

Android Things Console を用いたソフトウェア アップデートは、非商用のアクティブな端末 100 台までと制限されています。Android Things を搭載した商用製品を提供されたいデベロッパーは、Google との販売 / 配布契約にサインし、この制限を解除する必要があります。最新の Android Things SDK License AgreementConsole 利用規約の条項も合わせてご確認ください。

ハードウェア設定

Android Things Console には、ハードウェア周辺機器を設定するための新たなインターフェースが追加されています。これにより、利用できる Peripheral I/O 接続や、GPIO レジスタおよび I2C バス速度などの端末プロパティを構築時に管理できるようになっています。この機能は、今後のリリースでも継続的に拡張され、さらに多くの周辺ハードウェアの設定ができるようになる予定です。




リリース予定の製品

この数か月間、私たちは、Android Things を用いて構築した製品を市場に出すため、パートナーと密に連携してきました。その中には、LGiHome のスマート スピーカー、Lenovo、LG、JBL のスマート ディスプレイなどがあります。こうした製品は Google アシスタントや Google Cast のような強力な機能を搭載しており、米国ではこの夏から順次販売が開始される予定です。

スタートアップ企業や代理店も、Android Things を使ってさまざまなユースケースで革新的なアイデアを試すプロトタイプを作っています。私たちがわくわくしている、いくつかの例をいくつか紹介します。
  • Byteflies: ウェアラブル端末のヘルスデータを安全にクラウドへ転送するドッキング ステーション
  • Mirego: モントリオールの繁華街に設置された公衆写真ボックスと連動する大型フォト ディスプレイのネットワーク
Android Things を使って新しい製品を作りたいと思っている皆さんと、私たちはご一緒したいと思っています!そこで、Android Things チームによる技術指導やプロダクトの開発サポートを提供する特別限定プログラムをご紹介します。枠が限られているため、すべての方にご参加いただくことはできませんが、興味をお持ちのデベロッパーやスタートアップ、企業の方は、こちらからお知らせください。

参考資料

Android Things 1.0 のリリースノート全文をご覧ください。また、Android Things Console を開いて、お使いの端末に本番環境向けの 1.0 システム イメージを搭載できるかをご確認ください。プラットフォームの詳細を確認したい方は、デベロッパー サイトをご覧ください。キット、サンプルコード、コミュニティ プロジェクトを使ってみたい方は、androidthings.withgoogle.com をご覧ください。ぜひ Google+ の Google's IoT Developers Community に参加して、皆さんが Android Things で開発しているものについて教えてください。



Posted by Takeshi Hagikura - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Dave Smith による Android Developers Blog の記事 "Android Things Release Candidate" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

今年の CES では、Lenovo、LG、JBL、iHome、Sony といったパートナーが Android Things を使ったコンシューマー製品を展示しました。うれしいことに、Android Things によって、デベロッパー エコシステムはさらに広がりを見せています。本日は、Android Things の Developer Preview 8 についてお知らせします。これは、近日中に予定されている安定版リリース前の最終プレビュー リリースとなります。

すべての機能がそろった SDK

Developer Preview 8 は、近日中に予定されている安定版リリースで Android Things サポート ライブラリに公開される最終的な API が搭載されています。今後、SDK が安定版として v1.0 リリースを迎えるまで、互換性がなくなるような API の変更はありません。DP8 に含まれるすべての API の変更点を確認したい方は、リリースノートをご覧ください。最終版 SDK のクラスやメソッドを確認したい方は、改訂された SDK リファレンスを参照してください。

今回のリリースでは、Android Things デベロッパー コンソールにも新機能が追加され、本番端末のビルドや管理が今まで以上に簡単になっています。以下では、主なアップデート内容を紹介します。

本番環境を意識したコンソールの強化

近日中に予定されている LTS リリースで本番端末をビルドし、それを実際の環境に送り出すことを考慮して、Android Things デベロッパー コンソールに以下のアップデートを行っています。
  • OTA の強化: 現場で問題が見つかったとき、現在の OTA ビルドを非公開にします。
  • ストレージ レイアウトの視覚化: 各ビルドにおけるアプリやデータへの端末ストレージの割り当てを設定し、アプリが必要とするストレージ量の概要を示します。
  • フォントおよび言語 / 地域の制御: 各ビルドに組み込まれているサポート対象のフォントおよび言語 / 地域を設定します。
  • グループ共有: プロダクト共有が拡張され、Google グループがサポートされています。

アプリ ライブラリ

新しいアプリ ライブラリを使うと、APK を別々の zip バンドルにパッケージ化する必要がなくなるので、APK の管理が簡単になります。個々のバージョンのトラッキング、パーミッションの確認、他のコンソール ユーザーとのアプリの共有も可能です。詳細については、アプリ ライブラリのドキュメントをご覧ください。


パーミッション

モバイル端末では、アプリが実行時にパーミッションをリクエストし、エンドユーザーがそれを付与します。以前のプレビューでは、端末の起動時に Android Things がアプリに対して、同じパーミッションを自動的に付与していました。DP8 以降は、デベロッパー コンソールの新たなインターフェースでパーミッションを付与することになります。これにより、アプリが端末で使用するパーミッションをデベロッパーが細かく制御できるようになります。


Android Studio はデフォルトですべてのパーミッションを付与するので、この変更は開発には影響しません。コマンドラインを使っているデベロッパーの皆さんは、-g フラグを付けて adb install コマンドを実行すれば同じ動作が得られます。特定のパーミッションを取り消して端末のアプリの動作をテストしたい場合は、次のようにして pm コマンドを使用します。
$ adb shell pm [grant|revoke] <permission-name> ...

アプリ起動の動作

埋め込み端末は、起動時にプライマリ アプリを自動的に起動する必要があります。また、そのアプリが異常終了した際には、起動し直さなければなりません。以前のプレビューでは、端末のメインアプリでカスタム インテント IOT_LAUNCHER をリッスンすることにより、この動作を実現していました。DP8 より、このカテゴリが標準インテント CATEGORY_HOME に置き換わっています。
<activity android:name=".HomeActivity">
    ...

    <!-- Launch activity automatically on boot, relaunch on termination. -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.HOME"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
</activity>

IOT_LAUNCHER インテント フィルタを含むアプリは、起動時にトリガーされなくなります。アプリをアップデートして、CATEGORY_HOME を使うようにしてください。

フィードバック

デベロッパー プレビューの期間中にフィードバックを共有してくださっているデベロッパー コミュニティの皆さん、どうもありがとうございます。私たちは、大規模なネットワーク接続端末を構築する皆さんのお役に立ちたいと願っています。そのために、ぜひ Google+ の Google's IoT Developers Community に参加して、Android Things で開発しているものや、今後のリリースでプラットフォームを改善できる点についてお知らせください。


Reviewed by Yoshifumi Yamaguchi - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Dave Smith による Android Developers Blog の記事 "Android Things Developer Preview 7" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

本日(*原文公開当時)、Android Things の Developer Preview 7(DP7)をリリースいたします。Android Things は、Android デベロッパーがモノのインターネット(IoT)端末を構築できるようにする Google 製プラットフォームです。このプラットフォームは、動画やオーディオの処理、TensorFlow による端末上機械学習など、強力なアプリケーションもサポートしています。

最新のプレビューは Android 8.1 がベースとなっており、Google Play Services バージョン 11.8.0 をサポートするようにアップデートされています。DP7 の詳しい内容については、リリースノートをご覧ください。ここでは、いくつかの重要な機能について紹介します。

コンソールの強化と端末のアップデート


Android Things Console にも新機能が追加され、プロトタイプから本番までのプロダクト管理が強化されています。
  • プロダクト モデル: 同じハードウェアのプロダクトに対して複数のソフトウェア バリエーションを作成し、それぞれのビルドやアップデートを独立して管理します。
  • プロダクト共有: 追加のユーザー アカウントに対し、指定されたプロダクトのモデル、ビルド、アップデートを参照および管理する権限を付与します。
  • アナリティクス: プロダクトについて、端末のアクティベーションに関する指標やアップデートの統計を参照します。
  • アップデート チャンネル: 開発用やベータ版テスト用に、端末のグループにソフトウェア ビルドをデプロイします。現在使用されている本番端末に支障が出ることはありません。

UpdateManager に追加された新しい API を使うと、端末ごとに異なるアップデート チャンネルに登録できます。アップデート チャンネルへの登録については、改訂された Device Updates API ガイドコンソール ドキュメントをご覧ください。

デベロッパーからのフィードバックへの対応


デベロッパーの皆さんから、たくさんのすばらしいフィードバックをいただいています。今回のリリースでは、数多く寄せられた問題に対応することに特に重点を置いています。
  • カメラがサポートする解像度の向上: アプリから、カメラ ハードウェアのネイティブのフル解像度で撮影できるようになります。
  • MIDI サポート: アプリで MidiManager API を使って仮想 MIDI 端末を構築したり、外部 MIDI コントローラとインターフェースすることが可能になります。
  • Android Things アプリのテスト性の向上: Peripheral I/O API で公開されるのが抽象クラスではなくインターフェースになったので、ローカルでの単体テストの際にオブジェクトをモックやスタブと入れ替える操作が簡単になります。
  • 一貫性のある API 名: 今回のリリースでは、全般的に一貫性のあるデベロッパー エクスペリエンスを提供するため、多くの既存の Android Things API クラスの名前が変更されています。改訂された API リファレンスを参照し、パッケージ名やクラス名がどのように変更されているかをご確認ください。

新しい Bluetooth API


Android モバイル端末のユーザーは、Settings アプリから Bluetooth 端末とのペア設定や接続を行うことができます。Android Things を実行している IoT 端末では、同じ操作をプログラムから行う必要があります。新しい BluetoothConnectionManager API を使うと、ペア設定や接続のプロセスをアプリから制御できます。詳しくは、新しい Bluetooth API ガイドをご覧ください。

サンプルのアップデート


昨年の Google I/O では、Android Things での Kotlin を使ったアプリ構築について紹介しました。Kotlin を使っているデベロッパーの皆さんのために、Kotlin 版の Android Things サンプルの公開を始めました。本日より、ボタンと LED のサンプルは Kotlin と Java の両方をダウンロードできます。近日中に、別のサンプルにも対応する予定です。

また、TensorFlow イメージ分類サンプルアプリを移行して、TensorFlow Lite ライブラリを使うようにしました。これにより、事前トレーニング済みの TensorFlow モデルのサイズが 90% 以上小さくなり、イメージの分類に必要な時間も約 50% 短縮されています。

フィードバック


バグレポート機能リクエストを送信し、フィードバックをお願いします。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。皆さんが Android Things で作るアプリを楽しみにしています!


Reviewed by Takeshi Hagikura - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Dave Smith による Android Developers Blog の記事 "IoT Developer Story: Deeplocal " を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

Deeplocal は、アメリカのピッツバーグを本拠地とするイノベーションあふれるスタジオで、マーケティングの一環としてさまざまなプロジェクトを行っています。そのプロジェクトは、世界で愛されているブランドの発信にも役立つものです。Deeplocal チームは、Android Things を使っていくつかのロボット プロジェクトを推進しました。そのプロジェクトでは、Android プラットフォームのデベロッパー エコシステムや Android Thingsの ハードウェアの処理能力を活用することで、コンピュータ ビジョンや機械学習を組み込んだロボットを短時間で簡単に作ることができました。

DrawBot

DrawBot は、自分で組み立てることができるお絵かきロボットです。これを使うと、皆さんの自撮り写真を実物のアート作品に変えることができます。

Android Things プラットフォームを使うことで、アイデアからプロトタイプへ、そして最終製品へと短時間で進めることができました。Android Studio では、スマートフォン アプリから組み込みコードへの切り替えも簡単で、必要に応じて、OpenCV モジュールやモーターのドライバ、他のライブラリを組み込むこともできました。初めて Android Things デベロッパー キットを開けた 2 週間後には、プロトタイプの最終版ができていました

- Deeplocal プロデューサー、Brian Bourgeois

自分で DrawBot を組み立ててみたいという方は、Hackster.io プロジェクトをご覧ください。ソースコード、回路図、3D モデルなどがすべて公開されています。

HandBot

HandBot は、手を使ったジェスチャーを学習し、それに反応するロボットハンドです。ジェスチャーを視覚的に認識して、機械学習を適用しています。

「Android Things プラットフォームのおかげで、Handbot の組み込み作業はとてもスムーズに進みました。手のジェスチャーを認識するニューラル ネットワークは、TensorFlow を使ってトレーニングすることができました。それが完成した後は、Android Things ドライバを使って読みやすい Android コードでゲームを実装することもできました。わずか数週間で、新品のデベロッパー キットから、ロボットハンドとじゃんけんで勝負するところまで行き着いたのです」

- Deeplocal ソフトウェア エンジニア、Mike Derrick

自分で HandBot を組み立ててみたいという方は、Hackster.io プロジェクトをご覧ください。ソースコード、回路図、3D モデルなどがすべて公開されています。

ここで紹介したような刺激的なアイデアをもっと見てみたいという方は、Google Hackster コミュニティをご覧ください。また、Google+ の Google's IoT Developers Community に参加すると、最新のプラットフォーム アップデートを手に入れたり、質問をしたり、アイデアについて議論することができます。

Reviewed by Takuo Suzuki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Dave Smith による Android Developers Blog の記事 "LoWPAN on Android Things" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。


IoT 端末同士を確実に接続するのは、難しい場合があります。WiFi や Bluetooth はどこでも利用でき、多くのシナリオでうまく動作しますが、電力が限られていたり、単一のネットワークに多数の端末が必要になる場合は、制限が生じます。これを受けて、IoT の電力や拡張性といった要件に対処するため、新しい通信テクノロジーが登場しました。

LoWPAN(Low-power Wireless Personal Area Network)テクノロジーは、制約の多い電池駆動端末のピアツーピアに特化してデザインされています。同じ LoWPAN 上にある端末は、おなじみの IP ネットワークを使って相互に通信できるので、デベロッパーは HTTP や CoAP などの標準のアプリケーション プロトコルを利用できます。私たちがもっともすばらしいと考えている LoWPAN テクノロジーは、Thread です。これは、急速に業界基準となりつつある安全で耐障害性を備えた低電力メッシュ ネットワーク テクノロジーです。

本日は、Android Things Developer Preview 6.1 の一部として、LoWPAN を設定して管理するための API がサポートされたことをお知らせします。これには、Thread ネットワークのすばらしいサポートも含まれています。いずれかのデベロッパー キットに 802.15.4 無線通信モジュールを追加すると、Android Things 端末は Thread ネットワーク上のその他のピア端末と直接通信できるようになります。このような種類の低電力接続ソリューションを使うと、近くの端末のローカルでデータを集計し、クラウド サービスに常時接続せずに重要な判断を行うことで、Android Things 端末でエッジ コンピューティング タスクを実行できます。ローカル メッシュ ネットワークを作成したり、そこに参加するアプリを構築する詳しい方法については、LoWPAN API ガイドをご覧ください。

スタートガイド


OpenThread を使うと、Android Things で簡単に LoWPAN を始めることができます。Nordic nRF52840 など、サポートされている無線通信プラットフォームを選択し、ビルド済みファームウェアをダウンロードすると、これを Network Co-Processor(NCP)として有効化できます。次に、LoWPAN NCP ユーザー ドライバーを使って無線通信機能を Android Things に組み込みます。独自のユーザー ドライバーを構築して他の無線通信ハードウェアをサポートするように拡張することもできます。詳しくは、LoWPAN ユーザー ドライバー API ガイドをご覧ください。

DP6.1 を使ってみるには、Android Things Console からシステム イメージをダウンロードして既存の端末に書き込みます。その後、LoWPAN サンプルアプリをダウンロードして試してみてください。最新リリースで対応しているすばらしい機能は、LoWPAN だけではありません。DP6.1 に含まれる完全な修正やアップデートについては、リリースノートをご覧ください。

フィードバック


バグレポート機能リクエストを送信し、フィードバックをお願いします。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。自分が構築したすばらしいプロジェクトを共有できる hackster.io コミュニティも、新たに誕生しました。皆さんが Android Things で作るアプリを楽しみにしています!


Reviewed by Yuichi Araki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things Developer Preview 6" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

たくさんの新機能とバグの修正を含む Android Things の次期リリース Developer Preview 6(DP6)が登場しました。Android Things は、Android デベロッパーがモノのインターネット(IoT)端末を構築するための Google 製プラットフォームです。これを使うと、動画やオーディオの処理や TensorFlow による端末上機械学習などの強力なアプリケーションをサポートする IoT 端末を構築できます。新機能の詳細については、リリースノートをご覧ください。ここでは、DP6 の主な新機能をご紹介します。

IoT ランチャー


DP6 には、新しい IoT ランチャーが含まれており、タッチ スクリーンや USB 入力デバイスを使って、端末の現在の状態を確認したり設定を変更したりできます。WiFi の設定、ビルド ID の確認、アップデートのチェックといった設定が対話的に行えるようになり、簡単に使い始めることができます。このランチャーは、デベロッパーが IOT_LAUNCHER Activity を提供していない場合に表示されます。

グラフィック高速化のデフォルト


Android Things は、CPU ベースで OpenGL ES API を実装したオープンソースの SwiftShader ライブラリを使用しています。これにより、GPU ハードウェアが搭載されていないものも含め、すべてのプラットフォーム共通で OpenGL をサポートできます。ただし、ほとんどのシンプルな 2D UI は、OpenGL エミュレーションを使わずに直接フレームバッファに描画する方が高速にレンダリングできます。そこで、DP6 では、デフォルトで OpenGL レンダリングが無効になり、ほとんどのアプリでもっとも高速な UI が実行されるようになります。3D レンダリング、WebView、TextureView などで OpenGL のサポートが必要な場合は、ドキュメントに従い、次のように AndroidManifest.xml で明示的に有効化してください。
<activity

    ...
    android:hardwareAccelerated="true">

API 27 と Google Play Services


DP6 は、API レベル 27 が搭載された最新の Android 8.1 Developer Preview がベースになっています。標準 Android サンプルのほとんどは、DP6 で動作します。たとえば、Camera2 API と TextureView を使っている Camera2Basic サンプルは、NXP と Raspberry Pi ベースの端末の両方で動作します(hardwareAccelerated フラグを true にする必要があります)。Google Play Services は、SDK バージョン 11.6 をサポートするようにアップデートされており、最新機能がすべてサポートされています。

コマンドライン書き込みツール


デベロッパーの皆さんから、fastboot を使ってボードに書き込んだり設定したりする作業は非効率的な場合があるという声が寄せられました。そのため、Android Things Console から簡単に端末イメージを書き込む新しい方法が提供されています。手動で fastboot と adb コマンドを使う代わりに、新しいインタラクティブ コマンドライン android-things-setup-utility を利用できます。このツールを使うと、はるかに簡単に Android Things を使い始めることができ、ダウンロードや書き込みの処理を自動化できます。

Android Things Console のアップデート


DP6 では、今後の製品版リリースに使われる新しいパーティション スキームが導入されています。この新しいパーティション レイアウトのため、既存の DP5.1 以前の端末は無線(OTA)システムによるアップデートはできません。デベロッパーは、Android Things Console を開いて新しい DP6 ビルドをダウンロードして書き込む必要があります。DP6 機能に合わせて Console の UI も変更され、DP6 をベースとした新しいビルドのみ作成できます。それよりも古い既存ビルドは、ダウンロードはできますが OTA アップデートはサポートされません。デベロッパーの皆さんには、すべての作業を DP6 に移行することを推奨します。

GPIO ピンの名前


起動時に表示されるインタラクティブ IoT ランチャーに、I/O ピン出力セクションが含まれるようになります。ここでは、すべてのピンのラベルを確認することができます。i.MX7 で使われるピンの名前は変更されましたが、この新しい命名規則を使う場合、コードをアップデートする必要があります。完全なピンの名前のリストについては、i.MX7 ドキュメントをご覧ください。

設定および端末アップデート用 API


ローカル端末の設定や端末のアップデートを制御できる新しい API が Android Things に追加されています。UpdateManager を使うと、デベロッパーはアップデートや再起動を行えるタイミングを制御できるので、ユーザーが必要なときに確実に端末を使えるようになります。DeviceManager は、ファクトリー リセット、再起動、端末の言語/地域を管理します。画面を管理する ScreenManager、時計やタイムゾーンを管理する  TimeManager など、設定を行う API も提供されます。

周辺機器用のコマンドライン ツール


adb シェル経由で Peripheral API にアクセスできるコマンドライン ツール pio も提供されます。デベロッパーは、adb シェルから、GPIO, PWM, UART, I2C, SPI や今後のインターフェースを対話的にテストできます。これは、デバッグや自動テストに便利です。

フィードバック


DP6 では、プラットフォームに重大な変更や改善が加えられています。バグレポート機能リクエストを送信し、フィードバックをお願いします。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。DP6 を使ってみるには、Android Things Console からシステム イメージをダウンロードして既存の端末に書き込むか、android-things-setup-utility を利用します。詳しい変更点は、リリースノートに記載されています。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。自分が構築したすばらしいプロジェクトを共有できる hackster.io コミュニティも、新たに誕生しました。皆さんが Android Things で作るアプリを楽しみにしています!


Reviewed by Takeshi Hagikura - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things Developer Preview 5" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

本日(*原文公開当時)、Android Things の Developer Preview 5(DP5)をリリースいたします。これには、まもなく公開される Android O リリースをベースとした大きな変更が含まれています。Android Things は、Android デベロッパーがモノのインターネット(IoT)端末を構築し、シームレスにプロトタイプから製品に展開できるようにするための Google 製プラットフォームです。

Android O


現在、Android O はスマートフォンおよびタブレット向けの Developer Preview が公開されており、DP5 はまもなく公開されるこのリリースがベースとなっています(以前のリリースは、Android N をベースとしたものでした)。これにより、今後 Android Things プラットフォームでサポート ライブラリを利用するアプリケーションを正常に動作させるには、ターゲットを API 26 にする必要があります。

ハードウェアの変更点


デベロッパー キットのドキュメントにあるように、DP5 では新たに NXP SprIoT i.MX6UL デザインがサポートされています。Intel が EdisonJoule といったハードウェアを生産終了することに伴い、これらのプラットフォームはレガシー サポートに移行されています。これらのハードウェアでは最新のプラットフォーム アップデートは提供されなくなりますが、デベロッパーは引き続き Android Things Console から DP4.1 システム イメージにアクセスすることができます。

Android Things の重要な目的は、デベロッパーがシームレスにプロトタイプから本番環境に展開できるようにすることです。Developer Preview の終了後は、プロトタイプのみをターゲットにしたハードウェア プラットフォームと、本番環境に展開できるハードウェア リファレンス デザインが区別される予定です。本番対応のハードウェアは Google のセキュリティ要件を満たし、半導体メーカーによる長期サポートが含まれます。詳しくは、後日改めてお知らせします。

改善点


Android O コードベースへの移行に伴い、Android の新しい API 機能や、Android Things 特有の機能が追加されています。UserDriver API を利用しているデベロッパーの皆さんは、AndroidManifest.xml に新しいパーミッションを追加する必要があります。ドキュメントには、必要になるパーミッションがドライバの種類ごとに詳しく記載されています。DP5 では、Raspberry Pi 3 で OpenGL ES 2.0 や WebView がサポートされるようになりました。これらは、デベロッパーから多くのリクエストが寄せられた機能です。さらに、Raspberry Pi 3 では、使う機能に応じてピンがランタイムで設定される動的ピン多重化も実装されています。

Android Studio


Android Studio で直接 Android Things のサンプルの参照やインポートができるようになりました。[File] > [New] > [Import Samples] を選択して「Things」で検索すると、利用可能なサンプルが表示されます。ボタン、センサー、LED、ディスプレイと連携する方法を説明したものや、Google アシスタントや TensorFlow を実装したものなど、多数のサンプルを取りそろえています。

Android Things Console


先日、Android Things Consoleリリースされました。これは、Android Things 端末への OTA アップデートをサポートする機能を提供するものです。また、コンソールの UX も大幅に改善され、ユーザビリティや機能が向上しています。現在、DP5 は Android Things Console から利用できますが、何も操作を行わない場合、DP5 アップデートが自動的に端末に配信されることはありません。アプリケーションは、DP5 に対応するようにアップデートし、新しいアップデートを作成してコンソール経由で配信する必要があります。

フィードバック


Android Things が Android O にアップデートされたため、プラットフォームには大きな変更が発生しています。バグレポート機能リクエストを送信し、フィードバックをお願いします。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。DP5 を使ってみるには、Android Things Console からシステム イメージをダウンロードして既存の端末をアップデートします。詳しい変更点は、リリースノートに記載されています。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。自分が構築したすばらしいプロジェクトを共有できる hackster.io コミュニティも、新たに誕生しました!



Reviewed by Takeshi Hagikura - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things Console developer preview" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

本日(*原文公開当時)、Android Things Console のプレビュー版をリリースいたします。このコンソールを使うと、デベロッパーは一連の Android Things IoT 端末上で動作しているソフトウェアを管理できます。たとえば、ファクトリー イメージを作成したり、オペレーティング システムやデベロッパーが提供する APK をアップデートできます。端末が今後のアップデートを受信するには、近日中に公開される Developer Preview 5 など、Android Things Console からダウンロードしたシステム イメージを実行している必要があります。Google は、すべてのインフラストラクチャに対して OTA(無線)アップデートを提供しています。そのため、デベロッパーは固有のアプリケーションに集中でき、独自の実装を開発する必要もなく、IoT 端末を今まで以上に高速かつ安全にマーケットに出すことができます。

それでは、このコンソールが提供する機能を紹介しましょう。

プロダクトの作成と設定


デベロッパーは、最初にプロダクトを定義します。ここでは、名前の設定、端末の SoM(System-on-Module)タイプの選択などを行います。多くのデベロッパーは、IoT 端末を開発する際に Google Play Services を利用します。これはオプション機能となっており、この画面で設定できます。OEM パーティションのサイズも設定できます。この値は、今後の APK の増加分も含めて格納できる十分な大きさにする必要があります。

ファクトリー イメージ


今後、端末がコンソールからプロダクトに向けた適切なアップデートを受信するには、初期基本ファームウェアが必要です。最初は、[Create Build Configuration](ビルド設定の作成)を使い、プロダクト用に設定された空のバンドルを含むデフォルトのファクトリー イメージをビルドします。すると、このファクトリー イメージをダウンロードして端末に書き込めるようになり、端末に APK を読み込ませて、開発を始めることができます。

その後、プロダクトで利用するすべての端末にデプロイするアプリケーションの準備ができた段階で、バンドルをコンソールにアップロードします。このバンドルは ZIP ファイルで、この中にはメイン APK ファイル、APK 内でサービスとして動作するユーザー空間ドライバ、メイン APK によって起動される追加の APK が含まれています。bootanimation.zip ファイルもサポートされています。これは、起動時に表示されます。続いて、アップロードしたバンドル ZIP ファイルから完全なシステム イメージが生成され、それが端末にデプロイされます。バンドル ZIP ファイルの内容について詳しくは、ドキュメントに記載されています。

OTA アップデート


このタブでは、一連のプロダクト用端末にプッシュするシステム イメージを選択できます。デベロッパーがシステム イメージを 1 つ選択し、[Push to Devices](端末にプッシュ)を押すと処理が開始されます。アップデートはすべての端末に安全にプッシュされ、A/B パーティションのどちらかにインストールされて、端末が再起動した際にアクティブになります。何らかのエラーが検出されると、端末は以前に動作していたバージョンに自動的にロールバックされるので、アップデートをやり直すこともできます。デベロッパーは、Android Things の新しいリリースを事前にテストしてから、端末の自動アップデートの可否を決定できるようになる予定です。

フィードバック


現在の Android Things Console はプレビュー版で、さらに多くの機能やカスタマイズを追加するための作業が続けられています。Android Things デベロッパーの皆さんは、ぜひ Android Things Console を確認してフィードバックをお寄せください。バグレポート機能リクエストからフィードバックを送信できます。質問は、どんなものでもかまいませんので、Stack Overflow にお寄せください。Android Things Console の詳細については、詳しいドキュメントもご覧ください。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースです。



Reviewed by Yuichi Araki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things Developer Preview 4.1" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。  
 
先日、Android Things の Developer Preview 4.1(DP4.1)を新しくリリースしました。これには、サポート対象ハードウェアの追加や、プラットフォームのバグの修正を行うアップデートが含まれています。Android Things は、Android デベロッパーがモノのインターネット(IoT)端末を構築し、シームレスにプロトタイプから製品に展開できるようにするための Google 製プラットフォームです。  
 

新たなハードウェア


Pico i.MX6UL リビジョン B ボードが新しくリリースされています。これは、Adafruit や Pimoroni などのパートナー製のさまざまな汎用外部機器をサポートしています。一部のアーリーベータ版テスターは Pico i.MX6UL ボードのプロトタイプを利用できましたが、これには DP4.1 との互換性はありません。  
 

改善点


DP4.1 には、i.MX7D ベースのハードウェアの起動時間を短縮するブート時間の最適化など、DP4 以降に行われたいくつかのパフォーマンス改善が含まれています。今回の Developer Preview には、IoT 端末向けに最適化されたバージョンの Google Play Services も含まれています。この新たな IoT 向けバージョンはサイズが大幅に小さくなり、Android Things 用に最適化されています。これを使うには、build.gradle に play-services 11.0.0 以降を設定する必要があります。IoT 向けの Google Play Services でサポートされる機能の詳細については、インフォメーション ページをご覧ください。  
 

Google I/O


今年の Google I/O では Android Things が大きく取り上げられ、デベロッパー向けに Android Things の異なる側面を紹介する 7 つのセッションが開催されました。参加できなかった方は、プレイリストから動画をご覧ください。  
 
Google の IoT プラットフォームの新機能、Google のユビキタス コンピューティング



誰でもできる Android Things の端末作成




Android Things でプロトタイプから製品版まで




Android Studio を使った Android Things 開発




Android Things の IoT セキュリティ




Android Things で Google Cloud と TensorFlow を利用する




Android Things と Google Cloud Platform によるエンタープライズ IoT 開発

 
Google I/O では、参加者がガイドつきでじっくりと Android Things 開発を試すことができるコードラボ エリアも開設されました。コードラボは、どなたでも https://codelabs.developers.google.com/?cat=IoT からお試しいただけます。  
 

フィードバック


以前の Developer Preview にフィードバックを送ってくださったすべてのデベロッパーの皆様、どうもありがとうございました。バグレポート機能リクエストを送信し、引き続きフィードバックをお願いします。質問は、どんなものでもかまいませんので、stackoverflow にお寄せください。DP4.1 イメージは、Android Things ダウンロード ページからダウンロードできます。変更点はリリースノートをご覧ください。Google+ の Google IoT デベロッパー コミュニティにも参加できます。これは、最新情報を入手したりアイデアを話し合うことができるすばらしいリソースで、5,600 名以上のメンバーが参加しています。  
 
 
 
Reviewed by Yuichi Araki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things Developer Preview 4" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。  
 
太平洋夏時間 5 月 16 日、Android Things の Developer Preview 4(DP4)をリリースしました。これにより、サポート対象ハードウェアおよび機能の追加とバグの修正がプラットフォームに反映されます。Android Things は、Android デベロッパーが迅速にスマート端末を構築し、Google が提供するボードサポート パッケージ(BSP)を利用して、シームレスにプロトタイプから本番環境に拡大できるようにすることを目指しています。  
 
AIY Projects と Google Assistant SDK  
 
今月初め、私たちは AIY Projects との提携を発表し、Android Things が Raspberry Pi をベースとした Voice Kit に対応しました。Developer Preview 4 では、すべての Android Things 認定の開発ボードで Google Assistant SDK をサポートするために必要なドライバが提供されます。詳細は、サンプルの説明をご覧ください。  
 
新しいハードウェアとドライバのサポート  
 
i.MX6UL よりもパフォーマンスに優れながら、低電力の SoM(System on Module)設計を採用している NXP i.MX7D 用の新しいボードサポート パッケージを追加します。Peripheral I/O API には Inter-IC Sound Bus(I2S)のサポートが追加され、I2S バスで接続されたサウンド ハードウェアのユーザー スペースに、オーディオ ドライバを書き込めるようになりました。AIY Voice Kit のサンプルで、この I2S のオーディオ サポートの使い方を説明しています。また、実行時にデベロッパーが Bluetooth プロファイルを有効 / 無効にできる機能も提供しています。  
 

NXP i.MX7D System on Module

 
製品版ハードウェア サンプル  
 
Android Things は、デベロッパーが市場にリリース可能な端末を開発できるようサポートに特に力を入れています。それには、Android Things SoM(System on Module)上で実行するソフトウェアだけでなく、カスタム ハードウェアの構築も含まれます。この取り組みの一環として、ハードウェアとソフトウェアの連動の実例となる製品サンプル シリーズの第 1 弾となる Edison Candle をリリースしました。コードは GitHub に、ハードウェアの設計ファイルは CircuitHub にありますので、第三者企業もそれらを利用し簡単に製造することができます。  
 
Edison Candle サンプルのソース概略図

 
以前の Developer Preview にフィードバックを送ってくださったデベロッパーの皆さま、ありがとうございました。バグレポート機能リクエストによって今後も引き続きフィードバックをお願いします。質問はどんなものでもかまいませんので、stackoverflow にお寄せください。Developer Preview 4 のイメージは、Android Things ダウンロード ページに、変更点はリリースノートからご覧いただけます。最新情報やアイデアを話し合うことができ、4,900 名以上のメンバーが参加している Google+ の Google IoT デベロッパー コミュニティにも参加できます。Google I/O でも、Android Things と IoT に関する多数のセッションを行いました。YouTube にある Google I/O 2017 のプレイリストから動画をご覧ください。  
 
Posted by Takeshi Hagikura - Developer Relations Team

この記事は AIY Projects ディレクター、Billy Rutledge による Google Developers Blog の記事 "AIY Projects: Do-it-yourself AI for Makers" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。  
 
私たちのチームは、Makerの皆さんが Google のテクノロジーを活用して生み出す、すばらしいものたちにいつも刺激を受けています。そこには私たちでは決して思いつかないものや、現実世界の問題を解決してくれるものがあります。私たちは、モノ作りコミュニティのメンバーと話した際に、プロジェクトで人工知能を使いたいと思っているにもかかわらず、どこから始めてよいのかがわからない人が多いことを知りました。このギャップを埋めるために立ち上げたのが AIY Projects です。これは、人工知能の自作をサポートするものです。  
 
AIY Projects を使えば、人工知能を活用して、「人とマシンのやりとり」を「人と人のやりとり」に近づけることができます。今後、一連のリファレンス キットがリリースされる予定ですが、その第 1 弾が音声認識です。この最初のプロジェクトである音声認識機能は、次の用途に利用できます。  
 
  • 家庭用電気機器やコンシューマー向け電気製品の物理ボタンやデジタル ディスプレイ(90 年代の産物)をなくす(ボタンも画面もないコーヒー メーカーを、話しかけるだけで操作する)。
  • ネットワークに接続された端末を制御するためのスマートフォン アプリ(2000 年代の産物)をなくす(ネットワークに接続された電球や温度調節器を、話しかけるだけで操作する)。
  • アシスト用ロボットなどに音声認識機能を追加する(例: ユーザー補助機能)。「この部屋には何がありますか」「郵便配達が家の前に来たら教えてください」のように、ロボットに話しかけるだけで簡易プログラミング インターフェースとして機能する。
完成した Voice Kit
最初のオープンソース リファレンス プロジェクトとなるのは、音声ユーザー インターフェース(VUI)の構築方法を示す Voice Kit です。これは、新しい Google Assistant SDKCloud Speech API のようなクラウド サービスを活用することも、完全に端末上だけで実行することもできます。このプロジェクトは、デジタル工作にもっともよく使われているシングルボード コンピュータである Raspberry Pi の機能を拡張するものです。
Voice Kit の全付属品

 
Voice Hardware Accessory on Top(HAT)には、音声の認識と再生用のハードウェアが含まれています。たとえば、デュアルマイク ドーターボードやスピーカーをつなぐ便利なコネクタ、マイクロサーボやセンサーなどの低電力部品をつなぐ GPIO ピン、専用電源用のオプション バレルコネクタなどです。各部品は、Raspberry Pi 3 モデル B 用に設計およびテストされています。

または、Voice Kit 上で Android Things を実行することもできます。すべての機能が利用できるので、Internet-of-Things 端末の試作や既製のハードウェア ソリューション(Intel Edison、NXP Pico、Raspberry Pi 3 など)を使った商用製品へのスケールアップも簡単です。試すためには、最新の Android Things デベロッパー プレビューをダウンロードしてください。  
 

Voice HAT アクセサリ ボードの拡大図

 
Google Assistant SDK を使った作品 

先週、Google Assistant SDK デベロッパー プレビューがリリースされました。これはデフォルトで有効になっており、音声制御、自然言語理解、Google の頭脳などを含む Google Assistant を Voice Kit で使えるようになります。
Voice Kit と Google Assistant SDK を組み合わせれば、楽しく魅力的なプロジェクトを実現できるでしょう。Makerの皆さんはこの SDK を使った実験を始めており、すでにモクテル メーカーなどを制作しています。

2017 年 5 月 4 日には、Voice Kit が MagPi Magazine の全購読者に発送され、ウェブサイト aiyprojects.withgoogle.com では、パーツリスト、組み立て手順、ソースコード、拡張機能案などを公開しています。完全なキットは、全米 500 店舗の Barnes & Noble、およびイギリスの小売店 WH Smith、Tesco、Sainsburys、Asda でも販売しています。  
 
これは、AIY Projects の始まりに過ぎません。今後も多くのツールが生まれる予定です。皆さんがどのように AI をプロジェクトに組み込みたいのか、もっと把握したいと考えています。hackster.io から皆さんの経験やプロジェクトの将来についての声をお寄せください。また、ソーシャル メディアで #AIYprojects を使って、皆さんの発明をお知らせください。2017 年 5 月 19 日から 21 日にかけて開催される San Mateo Maker Faire に参加する方は、ぜひ Google のパビリオンでフィードバックをお聞かせください。  
 

 
Posted by Takuo Suzuki - Developer Relations Team

この記事は IoT デベロッパー アドボケート、Wayne Piekarski による Android Developers Blog の記事 "Android Things Developer Preview 3" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。

本日(*原文公開当時)、Android Things の Developer Preview 3(DP3)をリリースします。これにより、新機能の追加とバグの修正がプラットフォームに反映されます。本プレビューは、Google のプラットフォームで Internet of Things(IoT)製品を構築しているデベロッパーの皆さんに定期アップデートを提供するものです。Android デベロッパーは、Android API や Google のサービスを使ってすばやくスマート端末を構築できます。さらに、Google からアップデートが直接提供されるので安全です。System-on-Module(SoM)アーキテクチャは開発ボードのプロトタイピングをサポートしており、そこから大規模な本番環境に拡大できます。その一方で、Google からの同じボードサポート パッケージ(BSP)を使用し続けることができます。

Android Bluetooth API


DP3 では android.bluetoothandroid.bluetooth.le に含まれるすべての Android Bluetooth API がサポートされており、あらゆる Android Things 対応ハードウェア上で動作させることができます。これによって、通常の Android スマートフォンと同じようにコードを書くことで、クラシック Bluetooth 端末と低消費電力(LE)Bluetooth 端末の両方と通信できるようになります。Bluetooth LE のアドバタイズメントとスキャンBluetooth LE GATT などの既存のサンプルも、変更せずに Android Things で使うことができます。さらに、Bluetooth LE GATT サーバーBluetooth オーディオ シンクという 2 つのサンプルを新しく追加しています。

USB ホストのサポート


ルート権限や Linux カーネルのサポートなしに通常のユーザー空間アプリが USB 端末と通信できる USB ホストは、Android バージョン 3.1 以降でサポートされています。この機能が Android Things でもサポートされ、カスタム USB 端末とのインターフェースが可能になります。USB ホストをサポートする既存のコードは、すべて Android Things でも動作します。各 USB 端末のインターフェースやエンドポイントに対して反復処理を行って情報を表示する方法を示す追加のサンプル、USB エミュレータも公開されています。

フィードバック


以前の Developer Preview にフィードバックを送ってくださったすべてのデベロッパーの皆さん、どうもありがとうございました。改めてお礼を申し上げます。引き続きバグレポート機能リクエストをお待ちしています。質問は、どんなものでもかまいませんので、stackoverflow にお寄せください。Developer Preview 3 イメージは、Android Things ダウンロード ページからダウンロードできます。変更点はリリースノートをご覧ください。また、Google+ の Google IoT デベロッパー コミュニティに参加いただくと、4100 名以上のメンバーと最新情報やアイデアを話し合うことができます。


Posted by Takeshi Hagikura - Developer Relations Team

[この記事は Wayne Piekarski、IoT 担当デベロッパー アドボケートによる Google Developers Blog の記事 "Announcing updates to Google’s Internet of Things platform: Android Things and Weave" を元に翻訳・加筆したものです。詳しくは元記事をご覧ください。]

次のブログから引用: Android デベロッパー ブログ

Internet of Things(IoT)は、まったく新しい分野のデバイスにコンピューティングをもたらします。本日(*原文公開当時)は、Google の IoT デベロッパー プラットフォームの 2 つの重要なアップデートについてお知らせします。このアップデートによって、ネットワークに接続されたスマートな製品を今まで以上に短時間で簡単に作れるようになります。

現在、Android Things の Developer Preview 版が公開されています。Android Things は、IoT 製品を作成する総合的な手法で、世界有数のサポート数を誇るオペレーティング システムである Android を活用しています。これによって、Android デベロッパーは、Android API や Google のサービスを利用してスマート デバイスを短時間で構築できるようになります。アップデートは Google から直接提供されるので、高いセキュリティを確保できます。Project Brillo に寄せられたフィードバックを取り入れているため、Android Studio、Android Software Development Kit(SDK)、Google Play サービス、Google Cloud Platform などのおなじみのツールも含まれています。数か月後には、Developer Preview のアップデートを提供し、定期的な OS パッチ、セキュリティの修正、そして皆さんのアップデートを安全にプッシュできるインフラを実現する予定です。それと同時に、ビルトインの Weave 接続なども提供されます。

現在、Android Things を搭載した実際の製品の構築を始めるにあたって、すぐに使えるハードウェア ソリューションも存在しています。たとえば、Intel Edison、NXP Pico、Raspberry Pi 3 などです。こういったカスタム デザインのソリューションを使うと、Google の同じ Board Support Package(BSP)を使用しつつ、大規模な本番環境で容易に稼働させることもできます。

また、Weave プラットフォームもアップデートされています。これによって、あらゆるタイプのデバイスがクラウドに接続し、Google Assistant のようなサービスと簡単に通信できるようになりました。Philips Hue や Samsung SmartThings などのデバイス メーカーはすでに Weave を使っており、Belkin WeMo、LiFX、Honeywell、Wink、TP-Link、First Alert などのメーカーも実装を進めています。Weave は、デベロッパーがクラウド サービスに投資することなく製品の開発に集中できるように、あらゆるクラウド インフラを提供しています。さらに、サポート対象のマイクロコントローラや管理コンソール用の Device SDK も含まれています。現在の Weave Device SDK は、電球、スマートプラグおよびスイッチ、サーモスタット向けのスキーマをサポートしています。今後数か月で、サポートするデバイスタイプの増加、カスタムのスキーマや特性、Android および iOS 向けのモバイルアプリ用の API の追加などを行う予定です。さらに、Weave と Nest Weave を統合し、あらゆるクラスのデバイスが安全で信頼性の高い方法で相互に接続できるように取り組んでいます。そのため、Google Weave と Nest Weave のどちらから始めても、エコシステムの将来に向けた道を歩みだすことができます。

これは、皆さんとともに IoT エコシステムを作り上げる道のりの第一歩にすぎません。参加するには、Google の IoT デベロッパー サイトを参照するか、Android ThingsWeaveGoogle Cloud Platform の各サイトに直接アクセスし、ドキュメントやコードサンプルをご覧ください。また、Google+ の Google IoT デベロッパー コミュニティに参加して最新のアップデートを入手し、他のデベロッパーとアイデアを共有したり語り合ったりすることもできます。




Posted by Yoshifumi Yamaguchi - Developer Relations Team