AI機器人、藍芽與 Android 整合開發技術
內容描述
本書以<語音AI機器人咖啡館>為實際案例,來貫穿整本書的內容。從Android的應用程式(簡稱App)開發者角度出發,基於UBOT/BLE框架,設計外掛程式(Plugin)來表達各種藍芽設備(如不同廠牌的機器人產品)的差異化(又稱客製化)部分,然後順利完成一個整合多設備的Android應用程式。
例如,在本書的範例裡,將拿Zenbo、Afobot、Ironbot和Dobot等多種不同廠牌的機器人產品來進行創新組合,並能搭配機器人的語音AI功能,成為典型、嶄新的軟硬整合應用情境:一個<語音AI機器人咖啡吧>。
在學校裡,它可以是一間<語音AI機器人咖啡吧>實習教室,除了讓同學們開發各種整合性應用程式(App)、熟悉其幕後框架平臺的軟體原始碼之外,它還為餐飲管理、服裝設計、室內景觀等科系同學提供很棒的實習教室。因之,本課程將可成為高中生、大學生的千里馬,陪伴大家馳聘於新科技的生態原野上,並且大展鴻圖。
在開發多機器人的整合應用時,各機器人產品往往來自不同的廠商,各廠商也常推出針對自己產品的SDK(即 App開發環境)。此時,開發者面臨多個SDK,各自獨立、不能相容,就會遭遇開發工作的複雜性,變得困難重重了。
在本書裡,筆者建議採用Android SDK,讓大家都能使用多數人已經熟悉的Android Studio來進行App的開發工作,就可以省去了學習各廠商SDK的時間和負擔了。基於既有的Android Studio使用經驗,更上一層樓邁向AIoT(即AI+IoT)的新領域,翱翔於無盡的科技空間,心曠神怡地揮灑您的才能。
本書使用的UBOT/BLE框架模組,以及範例App的完整程式碼都是開源的,歡迎來信索取:misoo.tw@gmail.com或misoo.tw@qq.com,非常感謝您的支持與鼓勵。
高煥堂謹識於銘傳大學
目錄大綱
第 1 章 使用UBOT開發機器人整合應用
簡介Android作業系統
認識藍芽(Bluetooth)
認識UBOT框架
第 2 章 使用UBOT框架:以開源BLE模組為例
從Android體系看UBOT的角色
區分介面與接口
介紹UBOT的结構:框架就像電腦的主機板
第 3 章 開發第一支App:掃瞄BLE設備
以<掃瞄機器人>為例
規劃操作介面(UI)
解析App執行流程
詳細說明程式碼(Code)
第 4 章 連結(Connect)到藍芽設備
以<連線機器人>為例
規劃操作畫面(UI)
解析App執行流程
詳細說明程式碼(Code)
第 5 章 把訊息傳送給藍芽設備
如何傳送訊息到藍芽設備
規劃操作畫面(UI)
解析App執行流程
詳細說明程式碼(Code)
第 6 章 解析客製化的訊息格式
複習上一章的訊息寫入範例
進入本章:寫入另一種格式的訊息
規劃操作畫面(UI)
解析App執行流程
詳細說明程式碼(Code)
第 7 章 多進程與多執行緒模式
複習:Android的進程概念
IBinder接口的角色
Binder父類別的角色
Service父類別的角色
跨進程的呼叫(Function Call)
Proxy類別的角色
Android的執行緒(Thread)模式
異步回傳的機制
第 8 章 Ironbot跨進程開發範例
複習:Android的跨進程機制
IPC起步走
Ironbot履帶車到處遊走
第 9 章 Java與C++的整合開發
UBOT與JNI之關係
使用NDK來開發C/C++插件
如何載入*.so檔案
從C呼叫Java函數
結語:UBOT的力與美
第 10 章 Dobot雙機協同合作
認識Dobot機器手臂
從單機起步走
雙機協同合作
第 11 章 Ironbot多機器人協同合作
引言:UBOT的優越擴充性
從單機起步走
雙機跳芭蕾舞雷
多機聯合表演
第 12 章 Zenbo積木式程式開發
認識Zenbo機器人
Zenbo積木程式設計&體驗
把ZBA程式安裝到Zenbo上執行
繼續閱讀下一章:使用Zenbo的AI語音功能
第 13 章 使用Zenbo的AI語音功能
安排Zenbo與人們對話(Dialog)
設計DDE語料檔
建立一個語音對話的App
從雲端下載 App,安裝到Zenbo裡執行
結語:善解人意的UI/UX
第 14 章 基於Zenbo語音的多機器人協作
讓Zenbo來迎賓
Zenbo如何發出WiFi訊息呢?
UBOT手機如何接收WiFi訊息呢?
第 15 章 實踐AI機器人咖啡吧
創新組合:一個AI咖啡吧
成為AI時代的學習教室
推展RATA教學新模式
附錄-A: AI時代的創新學習之路
附錄-B: AI思維+設計思維
附錄-C:從小培養「以終為始」的思維習慣