樹莓派 安裝 刷Android Things 小結

一句話說,Android Things就是讓開發者可使用Android開發工具開發嵌入式設備。
If you can build an app, you can build a device.
只要你會開發APP,你就能開發智能設備。
谷歌2016年12月發佈的Android Things是一個面向物聯網的系統,讓android開發者用原來開發app的方式開發硬件相關的應用,擴展了android開發的方向和前景,而谷歌的Android Things已經支持了主流的幾個面向互聯網的幾個芯片( Intel® Edison,NXP Pico i.MX6UL,Raspberry Pi 3 鑑於開發難度和集成度高低的選擇,選擇了樹莓派做( Raspberry Pi 3 )做爲實踐的。
Android Things 是Android系統的一個精簡版, 前身是 Brillo -Google 在 2015 年推出的物聯網操做系統。 爲了節約那一點點硬件成本,還要增長開發的成本,值得麼?
特性:
 單一自啓動APP,一般設備會只運行單一的程序,即開發者的APP會自動啓動,系統APP不會呈現出來。
 顯示是可選的,設備能夠沒有屏幕,經過按鈕、觸摸、LED燈、語音或其餘形式與用戶交互。
1.材料準備
材料均可以在淘寶上輕易購買,包括樹莓派主板,sdcard(最好8g或者以上),sdcard讀卡器,電源,HDMI轉VGA轉換器(若是顯示器支持hdmi能夠直接用HDMI線,由於樹莓派主板視頻口是HDMI),網線。
2.刷系統鏡像
(1)首先須要下載Android Things系統鏡像,目前最新的android Things是預覽版,能夠到下面的地址下載相對應芯片的系統鏡像。
(2)用sdcard讀卡器鏈接sdcard到電腦上。
(3)解壓剛纔下載的系統鏡像。
(4)寫入鏡像到sdcard的工具,能夠根據不一樣系統自行選擇,本教程使用windows系統,能夠到 https://sourceforge.net/projects/win32diskimager/   這個網站下載 Win32 Disk Imager工具。 運行win32 DiskImager ,最右邊選擇你sdcard的盤符(備註不要選到了其餘的硬盤或移動存儲設備,致使形成沒必要要的損失),而後選擇鏡像路徑,再而後點擊write等待寫入結果。寫入完後把sdcard插到樹莓派上,插上網線(網線另外一端鏈接路由),插上視頻輸出線鏈接到顯示器,USB數據線鏈接電腦到樹莓派,樹莓派就會開始啓動系統了,系統啓動後,屏幕會出現局域網的ip。
(5)打開命令行工具,輸入下面命令(ip -address就是顯示器上android things系統顯示的界面),不出狀況的話就提示 connected to <ip-address>:5555  這樣就成功鏈接到樹莓派。
adb connect < ip-address >
3.鏈接WIFI
若是不想每次調試都要電腦鏈接樹莓派的話,能夠設置樹莓派鏈接wifi(必需要完成上面鏈接到樹莓派才能設置無線wifi鏈接)
(1)發送意圖到Android Things的wifi服務模塊的命令以下
  1. $ adb shell am startservice \
  2. -n com.google.wifisetup/.WifiSetupService\
  3. -a WifiSetupService.Connect\
  4. -e ssid <Network_SSID>\
  5. -e passphrase <Network_Passcode>
(2)經過adb 的logcat肯定你的鏈接是否成功
$ adb logcat - d | grep Wifi
 輸入命令行後,不出狀況通常出現下面的輸出
  1. ...
  2. V WifiWatcher:Network state changed to CONNECTED
  3. V WifiWatcher: SSID changed:...
  4. I WifiConfigurator:Successfully connected to...
(3)測試你的樹莓派是否能訪問外網,命令
  1. $ adb shell ping 8.8.8.8
  2. PING 8.8.8.8(8.8.8.8)56(84) bytes of data.
  3. 64 bytes from8.8.8.8: icmp_seq=1 ttl=57 time=6.67 ms
  4. 64 bytes from8.8.8.8: icmp_seq=2 ttl=57 time=55.5 ms
  5. 64 bytes from8.8.8.8: icmp_seq=3 ttl=57 time=23.0 ms
  6. 64 bytes from8.8.8.8: icmp_seq=4 ttl=57 time=245 ms
4.編寫Android Things程序(Android Studio編寫)
在開始編寫Android Things程序以前,
(1)確保你的sdK tools版本是24或者24以上
(2)確保你的sdk 支持API支持24或者更高版本。
添加依賴
(1)往app的模塊裏的build.gradle文件添加以下依賴
  1. dependencies {
  2.     provided 'com.google.android.things:androidthings:0.1-devpreview'
  3. }
(2)往 manifest .xml文件添加
    1. <application...>
    2. <uses-libraryandroid:name="com.google.android.things"/>
    3.     ...
    4. application>
聲明主Activity
要把應用運行在嵌入式設備(本教程中的樹莓派),必須包含一個 CATEGORY_LAUNCHER 這樣的Intent Filter,這樣,才能在部署和調試應用的時候,Android Studio才能啓動默認的Activity。
具體須要在Manifest聲明的設置以下。
  1. <application
  2. android:label="@string/app_name">
  3. <uses-libraryandroid:name="com.google.android.things"/>
  4. <activityandroid:name=".HomeActivity">
  5. <intent-filter>
  6. <actionandroid:name="android.intent.action.MAIN"/>
  7. <categoryandroid:name="android.intent.category.LAUNCHER"/>
  8. intent-filter>
  9. <intent-filter>
  10. <actionandroid:name="android.intent.action.MAIN"/>
  11. <categoryandroid:name="android.intent.category.IOT_LAUNCHER"/>
  12. <categoryandroid:name="android.intent.category.DEFAULT"/>
  13. intent-filter>
  14. activity>
  15. application>
物聯網已不是新鮮事,咱們的生活中,不知不覺已經開始用上了這類產品。
在景點遊玩結束時,我會先經過手機往被在停車場曝曬中小車發送一條「通風」指令,這樣我就不用駕駛「桑拿房」回家了。
目前IoT領域未能造成完整的生態如每一個汽車廠商均有本身的車聯網平臺,智能家居廠商的產品只能用自家或合做夥伴的App鏈接。各自圈地,又互不兼容。
相關文章
相關標籤/搜索