物聯網應用:Headless Android實作

今年物聯網發展方興未艾,但物聯網有一部份的應用是在無使用者介面的情境(如Sensor Gateway…等);目前在這類型的物聯網應用大多是以Embedded Linux為主要作業系統,但在應用程式開發上並不如Android那樣的方便以及有adb這樣的工具可供利用。在”嵌入式Android系統”一書的第七章中作者有提到Headless Android,也就是不帶使用者介面的Android系統,恰恰可以符合應用需求;作者的網頁於下:

http://www.opersys.com/blog/headless-android-1

相關簡報檔於下:

http://www.cyborgstack.org/sites/default/files/headless-android-120214.pdf

相關部落格與程式碼:

http://headlessandroid.com/HeadlessAndroid/Home.html

https://github.com/gibsson/headless-android

實作的部份在Wandboard上進行,使用Android 4.4.2的程式碼來進行修改;更動的程式碼於下:

wandboard.mk

SurfaceFlinger.cpp

SurfaceControl.java

重新進行完整編譯後得到Image,燒錄至MicroSD卡後裝入Wandboard重新開機就可以發現Android使用者介面程式與服務都不再被執行;應用程式都將以背景服務方式運作;請參考以下簡報檔的說明:

http://events.linuxfoundation.org/sites/events/files/slides/abs2014_headless_gbisson_0.pdf

過程中會遇到另外一個問題在於由於沒有使用者介面,當電腦與Wandboard開發板第一次adb連接時不會顯示認證機制對話盒:

150310_1

將造成adb功能無法使用;這部份請參考以下文章進行修改:

http://www.kdfly.com/?p=86

重新產生Image並安裝後,就可以進行adb連接而不受認證機制的限制。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s