一、Android Things
一句話說,Android Things就是讓開發(fā)者可以使用Android開發(fā)工具開發(fā)嵌入式設(shè)備。If you can build an app, you can build a device.只要你會開發(fā)APP,你就能開發(fā)智能設(shè)備。Android Things的推出,掃清了將Android Phone/Tablet系統(tǒng)用在智能設(shè)備中的各種弊端。(通常需要嵌入很多NDK開發(fā)的接口,很多功能需要root后通過Linux命令實現(xiàn)),提供了更統(tǒng)一的接口。Android開發(fā)者也可以使用自己熟悉的開發(fā)工具,做智能硬件的開發(fā)。
Android Things擴(kuò)展了core Android Framework,通過Things Support Library提供了附加的API,使得開發(fā)者可以集成通常在手機等移動設(shè)備中沒有的硬件。
Android Things的特性:
單一自啟動APP,通常設(shè)備會只運行單一的程序,即開發(fā)者的APP會自動啟動,系統(tǒng)APP不會呈現(xiàn)出來。顯示是可選的,設(shè)備可以沒有屏幕,通過按鈕、觸摸、LED燈、語音或其他形式與用戶交互。提供了通過I/O驅(qū)動外設(shè)的接口,讓開發(fā)者可以與傳感器和執(zhí)行器進(jìn)行通訊交互,支持GPIO、PWM、I2C、SPI和UART。用戶驅(qū)動API,用戶驅(qū)動繼承Android Framework Services,允許APP將硬件事件注入到Framework中,使得其他APP可以使用標(biāo)準(zhǔn)的Android API訪問。物聯(lián)網(wǎng)云,通過Google物聯(lián)網(wǎng)云平臺,開發(fā)者可以方便且安全的連接、管理數(shù)百萬計遍布全球的設(shè)備,并從中獲取數(shù)據(jù)。Google物聯(lián)網(wǎng)云平臺和一些其他的Google服務(wù),提供了包括數(shù)據(jù)采集、處理分析和可視化物聯(lián)網(wǎng)數(shù)據(jù)的完整解決方案。延伸閱讀:
二、Android Things的優(yōu)勢是什么
更統(tǒng)一的開發(fā)框架和接口傳統(tǒng)的單片機開發(fā)智能硬件的方式,開發(fā)工具、開發(fā)接口多而雜,不同的單片機廠商甚至型號,都有特定的開發(fā)工具,學(xué)習(xí)成本高,不統(tǒng)一,程序的可移植性差、可管理性差。Android Things提供更完善的開發(fā)框架,更方便好用的開發(fā)工具(而且是免費的)。
更適合Android開發(fā)者進(jìn)行智能設(shè)備的創(chuàng)新智能硬件通常都要實現(xiàn)與服務(wù)器交互、與手機交互,這些領(lǐng)域都是Android開發(fā)者熟悉的領(lǐng)域,通過Android Things開發(fā)智能設(shè)備,可以將Android開發(fā)者在移動開發(fā)方面的經(jīng)驗更深入的體現(xiàn)在智能設(shè)備開發(fā)中。傳統(tǒng)的硬件、單片機開發(fā)者,對移動開發(fā)不熟悉,自然會在智能設(shè)備創(chuàng)新中落后于對移動開發(fā)了如指掌的Android開發(fā)者。
更先進(jìn)的基礎(chǔ)框架Android Things相較于傳統(tǒng)的設(shè)備平臺,就如同Android手機與Nokia功能機的區(qū)別。尤其在有觸摸屏人機交互的設(shè)備中,Android的優(yōu)勢明顯,Android對UI線程的優(yōu)先和保障機制,使得傳統(tǒng)設(shè)備人機界面操作卡頓的問題可以很好解決。Android基于Java的面向?qū)ο箝_發(fā),也使得程序更容易封裝和管理。眾多的Android開源資源,也可以方便的應(yīng)用到Android Things中來。我們開發(fā)的Android工業(yè)設(shè)備智能操作終端,在應(yīng)用中給用戶提供了更好的操作體驗,受到了用戶的廣泛好評。
更安全的物聯(lián)網(wǎng)云傳統(tǒng)的物聯(lián)網(wǎng)方案,由于設(shè)備端、服務(wù)端往往由不同的開發(fā)團(tuán)隊完成,設(shè)備端開發(fā)往往還停留在比較古老的開發(fā)階段,對一些新的安全物聯(lián)網(wǎng)協(xié)議了解較少,使得很多物聯(lián)網(wǎng)設(shè)備,還在采用TCP協(xié)議明碼傳輸數(shù)據(jù),很容易被截獲和篡改。而有信息安全概念和經(jīng)驗的服務(wù)端開發(fā)者,由于不了解硬件開發(fā)也無能為力。新聞報道過的一些智能攝像頭被入侵的案例,很多與這方面有關(guān)。而Android Things徹底改變了這種狀況,手機APP與服務(wù)端通訊安全方面的經(jīng)驗,Android開發(fā)者可以直接應(yīng)用在設(shè)備開發(fā)中。很多新的物聯(lián)網(wǎng)協(xié)議,如MQTT,都有Android的客戶端實現(xiàn)可以方便使用。
更豐富的云服務(wù)資源使用Android Things,有豐富的云服務(wù)資源可以使用,可以基于TensorFlow實現(xiàn)人工智能(如圖像識別),可以通過Google Assistant獲得智能服務(wù)。國內(nèi)訪問Google服務(wù)目前還有一些問題,不過想一些辦法解決。同時,阿里、騰訊也都有一些智能服務(wù)(如圖像識別、人臉識別等)通過云提供,使用Android Things也可以方便集成。
更低的入門門檻傳統(tǒng)的智能硬件開發(fā),通常需要購買昂貴的開發(fā)套件,而Android Things只需要幾百塊錢買個開發(fā)套件接上顯示器或電視機就可以玩起來。如果你手上有樹莓派3,下載最新鏡像燒錄就可以玩了。