首頁 > 評測 > Android Things之十(最終章)——部署Android Things產(chǎn)品
Android Things之十(最終章)——部署Android Things產(chǎn)品
- [導(dǎo)讀]
- 本文將為大家介紹如何使用Google帳號登入Console,建立自己的產(chǎn)品配置。
Android Things生態(tài)包括三個部分:硬件平臺、SDK及Console。
歡迎加入Android Things交流群:452863046
前面我們接觸了兩個典型的硬件平臺:i.MX7D及RPI3,在 Android Things的大一統(tǒng)之下,使用SDK來開發(fā)軟件,在代碼上并無差別,因為硬件細節(jié)都被隱藏在OS之下了!
當準備開始構(gòu)建原型和設(shè)備時, Android Things Console提供了在支持的硬件設(shè)備上安裝和更新系統(tǒng)映像的工具。允許開發(fā)者將更新推送到現(xiàn)場用戶以及在自己的硬件上測試部署。使用控制臺,可以完成下列任務(wù):
• 下載并安裝最新的 Android Things系統(tǒng)映像
• 構(gòu)建包含OEM應(yīng)用程序的工廠映像以及系統(tǒng)映像
• 將無線(OTA)更新(包括OEM應(yīng)用程序和系統(tǒng)映像)推送到設(shè)備
簡單的說,就是Console是用來管理系統(tǒng)映像的工具,包括創(chuàng)建、定制及更新系統(tǒng)映像。
使用Google帳號登入Console,建立自己的產(chǎn)品配置,例如這里添加了兩個,一個是i.MX7D,另一個是RPI3。
因為OS是由Google提供的,咱們只能選擇既有的產(chǎn)品,當前最新的版本號為1.0.2。系統(tǒng)映像默認添加Google Play Service,可以使用其提供的API功能。
Console還提供了系統(tǒng)分區(qū)的定制功能,例如分區(qū)大小,各分區(qū)的名稱及信息等。
可以在定制系統(tǒng)映像的時候添加APP,這樣一旦將系統(tǒng)映像寫入到產(chǎn)品中,就可以實現(xiàn)開機即用!
不過這里要注意的是, Android Things只允許上傳一個HomeActivity程序,該程序會在系統(tǒng)啟動時自動啟動。如果指定了多個HomeActivity程序,Console不會生成系統(tǒng)映像。
生成的系統(tǒng)映像可以指定兩個版本:產(chǎn)品版及開發(fā)版。如果是在產(chǎn)品開發(fā)過程中,一般使用開發(fā)版,如果測試好了之后,就可以生成產(chǎn)品版的系統(tǒng)映像,直接用于產(chǎn)品部署。
前面我們在測試各種外設(shè)功能的時候,生成的Android Studio工程文件都使用的是默認設(shè)置,在正式開發(fā)產(chǎn)品時,根據(jù)實際情況需要,還要修改工程的配置。例如需要指定自動啟動程序的Catogery屬性。
以上一節(jié)中的交互式GUI為例,AndroidManifest文件應(yīng)該修改如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.demo.lcddemo">
<uses-permission android:name="com.google.android.things.permission.USE_PERIPHERAL_IO" />
<application>
<uses-library android:name="com.google.android.things" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
實際上要修改的只有包括<category android:name="android.intent.category.HOME" />的這一行,有了這一行,該程序在系統(tǒng)啟動時自動啟動。
事實上,一般支持 Android Things的硬件相對來說是比較高端的硬件產(chǎn)品,只允許運行一個HomeActivity程序是不是浪費了硬件資源?這個問題應(yīng)該從兩個方面來理解:一是傳統(tǒng)的MCU產(chǎn)品,基本都只能部署一個程序,而且許多 Android Things硬件甚至也沒有提供GUI支持,所以這樣做實際上是簡化了產(chǎn)品部署的步驟;其次,如果確實需要更好的利用硬件資源,可以在程序里添加不同的功能模塊,在主Activity里做統(tǒng)一任務(wù)調(diào)度,保證各模塊功能的協(xié)調(diào)工作。
最后補充下 Android Things的Driver庫,這是 Android Things中SDK的有益補充。SDK中提供的GPIO、I2C及SPI等庫都是低級的基本操作,與具體的硬件設(shè)備無關(guān)。例如市面常見的OLED(SSD1306)模塊,一般使用I2C或SPI接口來進行通信,通信過程使用的具體指令通過I2C或SPI接口發(fā)送給模塊硬件,完成相應(yīng)的顯示功能。Drivers庫就是基于SDK開發(fā)的更高層的API接口,直接面向具體的硬件模塊。目前這個庫還在完善當中,目前主要有SSD1306, lowpan等設(shè)備的支持。
這些三方的Drivers的Github地址為:https://github.com/androidthings/contrib-drivers,歡迎大家貢獻自己的開源力量!
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
-
人均百萬?英偉達中國員工收入曝光! 2024-08-29
-
《黑神話:悟空》玩家硬盤升級攻略:提升游戲體驗,暢享3A大作 2024-08-29
-
數(shù)睿數(shù)據(jù)參加《系統(tǒng)與軟件工程 低代碼開發(fā)平臺通用技術(shù)要求》國家標準編制 2024-08-29
- NRF52810藍牙數(shù)字耳機找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時前
- 12V汽車啟動電源項目BMS設(shè)計
預(yù)算:¥50000023小時前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時前
- PLC項目調(diào)試修改
預(yù)算:¥100001天前
- 起動電機控制器開發(fā)
預(yù)算:¥1100001天前