Android Thingsについて調べました

最終更新日2021年3月2日

Android Thingsなる言葉が見つかりました。
https://developer.android.com/things/index.html
グーグルが「IoT向けのプラットフォーム」として発表したOSなどを含むソフトウェア群です。

スマートフォンはもちろんセットトップボックスOSとしてAndroidのシェアは席巻されていますが、2016年12月13日、IoT向けとして亜種OSを提供開始したと云う事でしょうか?WindowsIoTと同じです。

RaspberryPiにWindowsOS(IOT)がインストール出来るのではと調べていたとき、ARMプロセッサに特化されているAndroidOSがなぜ提供されていないのか気になりました。
強者はAndroid6のRaspberryPi用イメージを公開しています。また、Android7をRaspberryPi3にインストールした内容を公開しています。

なぜRaspberryPiにAndroidOSをインストールしたいのか?単に興味本位ということですが、エンドユーザとしてはGUIOSで気楽に使えるコンピュータを期待しているからかと思います。ホビューユーズから入っても構わない。安価に使用できるコンピュータが構築できるのであれば有り難いです。不安定なセットトップボックスを置き換えるだけでも意味がありそうです。

RaspberryPiにAndroid本体をインストールするのはパスして、イメージデータの提供が開始(2017年3月)されているAndroid Thingsのインストールを検討します。とりあえず、microSDカード一枚有ればOKかと思います。
※Android Thingsのイメージは5つの環境用が提供されています。@Intel Edison AIntel Joule BNXP Pico CNXP Argon DRaspberry Pi 3
https://developer.android.com/things/preview/download.html
この内3つのデバイスについても比較しておきます。

Intel Edison
NXP Pico
Raspberry Pi 3
メーカ
Intel
NXP RSコンポーネンツ
価格 $75 $68.85(DigiKey) $35
価格(日本の業者) 9,666(スイッチサイエンス) 扱っている店無し 5,670(スイッチサイエンス)
ビデオ 無し MB86H46 HDMI(rev1.3&1.4)、コンポジットビデオ(3.5 mm 4極ジャック)
オーディオ I2S Out 3.5mm Analog HDMI、3.5 mm 4極ジャック
フラッシュ 4GB eMMC 4GB eMMC microSDソケット
RAM 1GB 512MB DDR3L 1 GB LPDDR2
プロセッサー 500MHz Dual-core Atom processor;
100MHz Quark MCU
ARMR CortexR-A7 Core A 1.2GHz 64-bit quad-core ARMv8 CPU
GPIO 70ピン 0.4mmメザニンヘッダー 40ピン 0.1″ヘッダー
有線LAN 無し 10/100 Ethernet 10/100オンボード
WiFi デュアルバンド802.11 (a/b/g/n) 802.11n (BCM4343W) 802.11n Wireless LAN
Bluetooth Bluetooth 2.1/4.0 Bluetooth 4.1 (BCM4343W) Bluetooth 4.1(BLE対応)
USB 1USB-OTG 1x USB 2.0 Host
1x USB 2.0 OTG
4 USB ports
その他インターフェース SPI, UART, I2C, PWM 9 GPIO, I2C, I2S, SDIO
SPI, UART, CAN, LAN
SPI, UART, I2C
Camera interface (CSI)
Display interface (DSI)
電力消費 3.3V 〜4.5V @ <1W DC 5V +5 V @ 2.5 A
寸法 35.5 × 25.0 × 3.9 mm 36x40mm 85mm x 56mm x 17mm
備考 Intel Edison Breakout Boardがないと事実上使えません VIA製M/Bがリリース開始
されている。

Raspberry Pi 3用のイメージはRev3となっているようです。(androidthings_rpi3_devpreview_3.zip)

  1. ZIPを解凍しました。
    問題なく解凍できました。iot_rpi3.img 2017年4月6日版のようです。 サイズは4,563,402,752 バイトです。
  2. microSDにイメージを書き込みます。
    Win32DiskImagerなるツールで書き込みました。16GBのmicroSDカードをFat32でフォーマットしての書き込みです。
    10分程度で完了しましたが、これが普通なのかは判断できません。書き込み速度は14MB/s程度でした。
  3. RPI3に作成したmicroSDカードを差し込んで起動しました。androidthings の画面が出たままで止まっています。
  4. AndroidThingsに接続します。
    外部のPCからadb(Android Debug Bridge)なるツールで接続します。
    adb ツールは、android_sdk/platform-tools/ にあるとのことです。
    platform-tools-latest-windows.zip をダウンロードして解凍したところ、\platform-tools-latest-windows\platform-tools\adb.exe
    がありました。
  5. このツールを使うためにMinimal ADB and Fastbootなるツールをダウンロードし環境整備します。
    minimal_adb_fastboot_v1.4.2_setup.exe というインストーラがWeb上に掲載されていますのでダウンロードし、インストールしました。
    これをインストールして起動するとadbコマンドのパスが通ってしまいます。
    ※デスクトップにMinimal ADB and Fastbootというショートカットができ、ここを起動するとパスの通っているターミナルが起動します。
  6. とりあえず、PCからRPI3(AndroidTings)に接続してみます。
    Localネットワークで接続されており、RPIのアドレスは 192.168.0.27 です。
    >adb connect 192.168.0.27
    と実行したところ、
    connected to 192.168.0.27:5555
    と帰ってきました。
  7. 接続の仕方は判りました。切断の仕方を確認します。
    >adb kill-server
    と実行します。

    エコーバックなく切断できたようです。
  8. 接続後に接続確認する方法があるようです。
    >adb devices
    と打ち込むとデバイスリストが返るようです。
  9. adbのコマンドオプション等は、https://developer.android.com/studio/command-line/adb.html で確認できます。
  10. 使えるIOポートについて情報がほしいです。RPI3に直接接続されたモニタには使用できるポートリストを表示させることは可能です。
    BCM12 BCM13 BCM16 BCM17 BCM18 BCM19 BCM20 BCM21
    BCM22 BCM23 BCM24 BCM25 BCM26 BCM27 BCM4 BCM5 BCM6
    PWM0 PWM1
    I2C1
    SPI0.0 SPI0.1
    UART0
  11. SHELL でログオンしてみたかったのですが、ちょっと判りません。 パス
  12. ルート権限が取得出来るのかどうか確認する必要があるかと思いました。
    >adb root
    実行結果は?ログオンしていないとだめなのかもしれません
  13. パッケージの一覧を取得してみました。
    >adb shell pm list package
    結果は以下の通りでした。
  14. この状態では、RPI3にAndroidTingsを構築したものの、何も出来ていない状況です。


  1. shellの起動方法が判りました。
    >adb devices
    でデバイスリストを求めると、デバイスのシリアル番号が求まるとのこと。このシリアル番号を使って
    >adb [-s sirealnumber] shell
  2. ファイルの一覧を取得してみます。
    >ls -la
  3. スクリーンショットを落としたはずなのですがリストに揚がっていません。もう一度スクリーンショットを実行します。
    >screencap aa.png
    どうもファイルは出来ているようなのですが、サイズ0なので、何か問題があるようです。
  4. シャットダウンの仕方を確認しました。RPI3本体にマウスやキーボードは接続しておいたのですが、シャットダウンメニューが見当たりません。勝手にキーを打ち込めば良いというものでもないようです。
    コマンドとして
    >reboot -p
    が電源OFFだと判りましたが、
    >adb shell reboot -p
    は認められません。
    ログオン後に
    rpi3:/ #reboot -p
    という実行なら認められるようです。
  5. 結局Lチカすら実現出来ませんでした。AndroidThingsは可成り敷居が高そうです。

戯言(nonsense)に戻る


免責事項

本ソフトウエアは、あなたに対して何も保証しません。本ソフトウエアの関係者(他の利用者も含む)は、あなたに対して一切責任を負いません。
あなたが、本ソフトウエアを利用(コンパイル後の再利用など全てを含む)する場合は、自己責任で行う必要があります。

本ソフトウエアの著作権はToolsBoxに帰属します。
本ソフトウエアをご利用の結果生じた損害について、ToolsBoxは一切責任を負いません。
ToolsBoxはコンテンツとして提供する全ての文章、画像等について、内容の合法性・正確性・安全性等、において最善の注意をし、作成していますが、保証するものではありません。
ToolsBoxはリンクをしている外部サイトについては、何ら保証しません。
ToolsBoxは事前の予告無く、本ソフトウエアの開発・提供を中止する可能性があります。

商標・登録商標

Microsoft、Windows、WindowsNTは米国Microsoft Corporationの米国およびその他の国における登録商標です。
Windows Vista、Windows XPは、米国Microsoft Corporation.の商品名称です。
LabVIEW、National Instruments、NI、ni.comはNational Instrumentsの登録商標です。
I2Cは、NXP Semiconductors社の登録商標です。
その他の企業名ならびに製品名は、それぞれの会社の商標もしくは登録商標です。
すべての商標および登録商標は、それぞれの所有者に帰属します。