Android Things Tutorial(一)Hello! Android Things! by Michael | CodeData
top

Android Things Tutorial(一)Hello! Android Things!

分享:

認識Android Things

從2016年12月開始,Android開發人員多了一個新的選擇:Android Things。網頁裡面很豪邁的告訴你「If you can build an app, you can build a device」,它說的是如果你可以開發Android app,你也可以開發與設計Android設備。這些設備包含智慧家庭、自動化與各種嵌入式設備,它們運作的是Android Things作業系統,你可以使用Android Studio開發一個Android Things App,把App安裝到這些設備並運作以後,就可以執行各種與硬體的控制,例如控制電燈與馬達,還有讀取溫度與光線資訊。

對Android開發人員來說,想要進入嵌入式應用程式與物聯網的領域,這是一個最好的作業系統與開發平台。Android在2017年2月發表Android Things Developer Preview 2,有下列幾個重要的特性:

  • 使用Android開發人員原來就已經熟悉的Android Studio開發工具
  • 主要的程式設計語言同樣為Java
  • 由Android Things提供與硬體互動的API,例如溫度感應器
  • 目前支援的開發板有Raspberry Pi 3 Model B、NXP Pico i.MX6UL、Intel Edison與Intel Joule

因為開發Android Things App的方式,跟一般的Android App非常像,你可以很容易開發像這樣的應用程式:在Raspberry Pi運作的App,把連接的感應器資訊儲存到Firebase即時資料庫,另外也會接收即時資料庫最新的資訊,用來控制各種設備。Android App在使用者操作的時候,也可以儲存與接收Firebase即時資料庫的資訊:

att_01_01

我使用Android Things Developer Preview 2、Firebase和Raspberry Pi設計遠端智慧監控系統,這是示範的影片:

這個系統設計的比較靈活,你可以在系統運作的時候,為Raspberry Pi連接一個設備,在Android App新增一個控制項目後就可以控制它。這是示範的影片:

ThingsCommander系統使用Android Things Developer Preview 2,示範控制與讀取這些零件與模組:Raspberry Pi相機模組、LED、MCP3008類比數位轉換器、光敏電阻、可變電阻、搖桿模組、MQ2、BMP280氣壓與溫度模組、SSD1306單色顯示器、磁簧感應器模組、繼電器模組。這個系統的專案原始程式碼都已經公開在http://github.com/macdidi5/ThingsCommander

需要的設備

在一般的情況下,開發行動電話或平板電腦的App,只需要一台個人電腦就可以了。開發Android Things App,除了同樣需要個人電腦外,還需要執行應用程式的硬體套件。開發Android Things App需要包含下列的主要項目:

  • 個人電腦
  • 無線(WiFi)或有線(RJ45)網路
  • Raspberry Pi 3 Model B或其它開發板
  • 基本零件

個人電腦

跟開發一般行動電話或平板電腦App一樣,Android Things App也採用Android Studio為開發工具,程式設計語言同樣為Java,應用程式的架構、設定檔也只有很少的差異。你可以在同一台電腦開發一般行動電話、平板電腦與Android Things App。

開發Android Things App的個人電腦,需要安裝下列的軟體:

  • Java SE JDK 8
  • 最新版本的Android Studio

網路

開發一般的Android App,可以在模擬裝置(AVD)上測試App,如果需要在實體裝置上測試,只要使用USB傳輸線連接實體裝置與電腦,Android Studio在偵測到實體裝置後,就可以把寫好的App安裝到實體裝置測試。

安裝好Android Things作業系統的Raspbery Pi,也是一個Android的設備,不過它必須透過無線或有線的網路,與開發應用程式的電腦連線以後,就可以把寫好的Android Things App安裝到Raspberry Pi執行測試。建議使用無線網路的連線會比較方便。

Raspberry Pi開發套件

  • Raspberry Pi 3 Model B

    Raspberry Pi是由英國的Raspberry Pi基金會研發的單板電腦,主要的目的是用很便宜的硬體與自由開放軟體,提供學校電腦科學教育使用的產品。Raspberry Pi的大小跟一張信用卡差不多,已經有幾代不同的產品,目前最新的產品是Raspberry Pi 3 Model BAndroid Things平台只有支援Raspberry Pi 3 Model B

    下面是Raspberry Pi的正面圖片,有USB、RJ45、HDMI、GPIO和其它連接埠:
    att_01_02
    下面是Raspberry Pi的背面圖片,右側中間有MicroSD記憶卡的插槽:
    att_01_03

  • Raspberry Pi電源轉換器

    提供電源給Raspberry Pi使用的電源轉換器,Raspberry Pi的電源連接埠是Micro USB,電壓是5V,電流為2.5A。

    一般行動電話使用的家用充電器,電壓輸出同樣為5V,不過電流輸出通常不到2.5A,雖然也可以用來提供電源給Raspberry Pi,不過在連接一些設備與零件以後,可能會有電流不足的問題。

  • MicroSD記憶卡

    Raspberry Pi使用Micro SD記憶卡為儲存設備,目前不同容量與規格記憶卡的價差不大,建議使用「32GB、Class 10」。下列規格的Micro SD記憶卡都可以用來製作Android Things作業系統:

    • 32GB,Class 10或Class 8
    • 16GB,Class 10或Class 8
  • USB轉TTL序列埠傳輸線

    使用USB轉TTL序列埠傳輸線連接Raspberry Pi與電腦,可以在連線後直接執行設定網路設定,或是查詢需要的資訊,例如Raspberry Pi的IP位址。這是比較建議的作法,可以省略為Raspberry Pi連接螢幕與鍵盤。

  • HDMI連接線

    執行Raspberry Pi作業系統安裝與設定與其它各種應用,需要讓畫面顯示在螢幕或電視。Raspberry Pi 3 Model B具備 HDMI 輸出介面,使用一般的HDMI連接線連接到螢幕或電視,就可以顯示系統的畫面。

    開發與測試Android Things App的過程,通常不需要連接螢幕。不過在第一次啟動Android Things作業系統,為它設定網路連線的時候,就需要在螢幕上查詢IP位址。所以建議在設定網路連線的時候,借用原來個人電腦或其它影音設備的HDMI連接線。

  • USB鍵盤

    在一般的情況下,並不需要特別為Raspberry Pi購買一個專用的鍵盤,少數的Android Things App在運作的時候,需要使用連接到Raspberry Pi的鍵盤執行測試。

基本零件

Raspberry Pi在安裝好Android Things作業系統以後,可以在Raspberry Pi上的GPIO連接各種感應器與設備,例如LED、馬達與溫度感應器。你可以在連接各種設備與零件後,撰寫Android Things App控制設備與讀取資訊。

後續的內容會說明需要設備與零件,不過麵包板、LED和開關,可以執行基本的開發與測試:

att_01_11

把設備與零件連接到Raspberry Pi的GPIO,需要使用像這樣的公母杜邦線:

att_01_12

另外在麵包板上也需要像這樣的麵包板連接線:

att_01_13

使用上面介紹的基本零件,就可以學習與設計基本的Android Things App。

下一步

Android Things App是在Raspberry Pi這類開發板上運作的,它們是用來執行控制硬體或讀感應器的資訊,所以你必須準備好這些額外的硬體設備。接下來會介紹開發環境的安裝與設定。

相關的檔案都可以在GitHub瀏覽與下載。

http://github.com/macdidi5/Android-Things-Tutorial

後續 >> Android Things Tutorial(二)建立Android Things開發環境

分享:
按讚!加入 CodeData Facebook 粉絲群

相關文章

留言

留言請先。還沒帳號註冊也可以使用FacebookGoogle+登錄留言

熱門論壇文章

熱門技術文章