谷歌給物聯網設備的開發帶來了Android及其生態系統。開發人員將像之前他們為移動設備編寫應用程序那樣,為這些設備編寫應用程序。
谷歌已經將一些Brillo的主要技術結合到了他們的移動操作系統中,也就是名為Android Things的以物聯網設備為目標的新解決方案。除了一般的Android API和訪問谷歌的各種服務的庫之外,該嵌入式操作系統中還包含了一個名為物聯網支持庫(Things Support Library)的新庫,這個庫有兩個主要功能:通過多種協議和接口(GPIO、PWM、I2C、SPI、UART等)訪問傳感器和執行器的外圍I/O API;以及一個用戶驅動API(User Driver API),可以給應用程序添加新的設備驅動,用于將硬件事件注入系統,使它們可以為應用程序所用。尤其是,用戶驅動API允許開發人員在原廠設置提供的現有功能之外,擴展對物聯網設備可以做的事。為Brillo所寫代碼需要被移植,替代“底層I/O代碼和SELinux配置,同時調用新的周邊API”。
由物聯網操作系統Android Things所帶來的最大的改進就是與整個Android生態系統的整合:通過Android Studio用Android API進行開發,通過正常的Android渠道為系統提供一般操作和安全更新,訪問谷歌的服務,如短信、語音、認證、游戲,助理等等。同時開發商可以繼續通過Android NDK用C或C++寫代碼,他們現在也可以選擇用Java寫代碼。
物聯網操作系統Android Things支持SoM(System-on-Modules,模塊化系統),也就是SoC(System-on-Chip,片上系統)加RAM、FLASH存儲器、WiFi、藍牙和其他一些部件。目前它支持Intel Edison、Intel Joule 570x、NXP Pico i.MX6UL、NXP Argon i.MX6UL和Raspberry Pi 3,接下來還會繼續支持更多。認證過的硬件將與谷歌提供的系統鏡像一起交付,包括未來的更新,也將在沒有開發人員介入的情況下自動交付。
Weave是由谷歌使用的物聯網設備之間的通信協議,它已經被改進,可以直接訪問更多的云服務,比如通過語音命令進行設備控制的助理服務等。除了常見的智能燈泡、智能插座、智能開關和恒溫器等,谷歌還計劃增加其他類型的設備,包括支持客戶自定義的設備。一些制造商已經宣布對Weave提供支持,他們分別是Belkin WeMo、First Alert、Honeywell、LiFX、TP-Link和Wink等。
閱讀英文原文:Google Targets IoT with Android Things