前兩天是需要了解基本知識(shí)和搭建環(huán)境。
今天開始可以做一些有趣的事情了。
本質(zhì)上來說Android Things 就是一臺(tái)可擴(kuò)展的Android, 所以Android 手機(jī)擁有的Google 全套云服務(wù)基本上在Android Things 上都可以用。 這意味著什么呢?
你可以通過互聯(lián)網(wǎng)方便地監(jiān)控和控制各種傳感器,記錄數(shù)據(jù), 監(jiān)事等等。
尤其配合上簡(jiǎn)單易用的Firebase 的 realtime database 以及 online config 之后, 開發(fā)傳感器應(yīng)用更加如魚得水。
應(yīng)用場(chǎng)景
通過溫濕度傳感器DHT11 每5分鐘測(cè)量一次室內(nèi)溫度和濕度, 上傳到網(wǎng)上, 再通過網(wǎng)頁展示室內(nèi)的溫濕度時(shí)序圖。
實(shí)現(xiàn)思路
連接 DHT11 到 Pi, 啟動(dòng)Android應(yīng)用, 每5分鐘讀取一次溫濕度值,通過Firebase SDK 將溫濕度值上傳到 Firebase 服務(wù)器。 再使用Vue.js 寫一個(gè)SPA 應(yīng)用, 從Firebase 讀取數(shù)值, 用HighChart 動(dòng)態(tài) 展示數(shù)據(jù)。 Android / iOS 手機(jī)通過瀏覽器查看數(shù)據(jù)。
Firebase 服務(wù)簡(jiǎn)介
Firebase 服務(wù)在瓷器國(guó)訪問不通(依賴不同網(wǎng)絡(luò)運(yùn)營(yíng)商)。主要原因是域名被河蟹了。 修改Pi 的DNS 解析可能會(huì)解決部分地區(qū)問題。
adb shell
setprop net.eth0.dns1 8.8.8.8
setprop net.eth0.dns2 4.4.4.4
架構(gòu)
misc
DHT 11 的數(shù)據(jù)讀取其實(shí)很麻煩。 網(wǎng)上有C 和python 版本的應(yīng)用。
這可能也是Android Things 在很長(zhǎng)一段時(shí)間的問題, 就是缺乏硬件驅(qū)動(dòng),需要開發(fā)者自己去寫。 而Rasbian 等系統(tǒng)可能已經(jīng)有相對(duì)成熟的驅(qū)動(dòng)代碼可以使用。
最后搞了很長(zhǎng)時(shí)間, 也沒有讀出來,懷疑DHT11 壞掉了。 換了另外一個(gè)紅外傳感器, 能正確讀出來狀態(tài)了。