Android Things 初體驗(yàn)——遠(yuǎn)程控制開關(guān)LED燈

一,Android Things介紹

Android Things簡單來講就是基于Android的智能物聯(lián)網(wǎng)(IoT,Internet of Things)操作系統(tǒng)。

它的愿景就是將無數(shù)的的設(shè)備連接起來,Android Things 作為物聯(lián)網(wǎng)的大腦,使用公開協(xié)議 Weave 與廣大的傳感器/外部設(shè)備進(jìn)行對(duì)話。

簡單來說Android Things就是讓開發(fā)者可以使用Android開發(fā)工具開發(fā)嵌入式設(shè)備。

If you can build an app, you can build a device. 只要你會(huì)開發(fā)APP,你就能開發(fā)智能設(shè)備。

使用Android來開發(fā)智能設(shè)備需要通過學(xué)習(xí)NDK /JNI知識(shí)來實(shí)現(xiàn),通過AndroidThings來開發(fā)智能只要你調(diào)用Things封裝好的API就可以實(shí)現(xiàn)。

Android Things的平臺(tái)架構(gòu)如下圖所示,Android Things擴(kuò)展了core Android Framework,通過Things Support Library提供了附加的API,使得開發(fā)者可以集成通常在手機(jī)等移動(dòng)設(shè)備中沒有的硬件。


如何基于 Android Things 構(gòu)建一個(gè)智能家居系統(tǒng)?

二,AndroidThings + 樹莓派3實(shí)現(xiàn)遠(yuǎn)程控制LED燈

2.1:硬件準(zhǔn)備

1:樹莓派Raspberry Pi 3開發(fā)板一塊

2:LED燈一個(gè)

3:8G sdcard一個(gè)(用來燒錄鏡像)

2.2:鏡像制作

2.2.1:下載

有了平臺(tái)得制作鏡像,用來安裝系統(tǒng)。首先就是下載鏡像了,網(wǎng)址如下:鏡像下載地址

解壓后就是iot_rpi3.img??紤]到有些朋友還不能翻墻,這里百度網(wǎng)盤提供一個(gè)鏈接:https://pan.baidu.com/s/1kVHW2OZ 密碼: crqg

2.2.2:燒錄鏡像

你可以下載一個(gè)樹莓派官方推薦的工具軟件Etcher

下載Etcher并安裝Etcher


依次選擇要刷入的Android Things系統(tǒng)文件,如下載到的image.zip,選擇目標(biāo)盤(把TF卡插入電腦),點(diǎn)擊“Flash!”按鈕刷入系統(tǒng)


刷入


刷入后會(huì)進(jìn)行驗(yàn)證


驗(yàn)證完成后,彈出TF卡,插入樹莓派即可啟動(dòng)系統(tǒng)了??

三,項(xiàng)目創(chuàng)建

我使用的是Android Studio2.3.3

項(xiàng)目結(jié)構(gòu)

添加依賴

(1)往app的模塊里的build.gradle文件添加如下依賴

? // 添加Things支持包

? provided'com.google.android.things:androidthings:0.2-devpreview'

? provided'com.google.android.things:androidthings:+'

? // MQTT

? compile'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'

? compile'commons-codec:commons-codec:1.5'

?? 遠(yuǎn)程控制LED燈開關(guān)是通過使用阿里的MQTT消息機(jī)制實(shí)現(xiàn)的,詳見 MQTT 客戶端收發(fā) MQTT 消息_Java 接入示例_接入示例_微消息隊(duì)列? LMQ_消息隊(duì)列 MQ-阿里云

(2)往Manifest.xml文件中application節(jié)點(diǎn)下增加共享庫:

注意:添加provided依賴,能確保構(gòu)建工具在編譯時(shí)不會(huì)將共享庫復(fù)制到APK中。加入?能使這個(gè)共享庫在應(yīng)用程序運(yùn)行時(shí)有效??傊@些設(shè)置能使您的應(yīng)用程序使用設(shè)備系統(tǒng)提供的共享庫。
添加IO權(quán)限及相關(guān)權(quán)限

(3)聲明主Activity

?? 讓應(yīng)用程序在Android Things嵌入式設(shè)備中開機(jī)啟動(dòng),那么就必須在其AndroidManifest.xml文件中聲明作為主入口。

聲明為主入口

(4)在主Activity中初始化IO

IO初始化

Demo下載地址遠(yuǎn)程控件開關(guān)LED燈

注意:第一次安裝APK的時(shí)候需要使用:adb install -g xxx.apk(-g是獲取Manifest.xml中聲明的權(quán)限);不然后會(huì)報(bào)權(quán)限異常

實(shí)現(xiàn)后的效果:通過一個(gè)遙控APP可遠(yuǎn)程控制開關(guān)LED燈

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,188評(píng)論 25 708
  • afinalAfinal是一個(gè)android的ioc,orm框架 https://github.com/yangf...
    wgl0419閱讀 6,600評(píng)論 1 9
  • 三十歲的女人 已過三十 如今徘徊在街頭 我的鞋子束縛了我的腳 我的思維束縛了我的頭 我的見識(shí)束縛了我的眼 我的幸運(yùn)...
    空空tzy閱讀 570評(píng)論 0 0
  • 七月的傍晚似氣頭上的兩口子吵架,毫無退讓的熱辣,太陽蒸的我大汗淋漓,坐在幾百號(hào)人的自習(xí)室,讓人壓抑又煩躁。...
    追上執(zhí)念與你閱讀 976評(píng)論 0 0

友情鏈接更多精彩內(nèi)容