《AllJoyn技術原理及物聯(lián)網(wǎng)程序開發(fā)指南》系統(tǒng)介紹了AllJoyn技術的基本原理及其物聯(lián)網(wǎng)應用。書中提供了大量AllJoyn技術開發(fā)的軟件與硬件設計、實際開發(fā)的案例,涵蓋了Android、Windows、Linux和iOS系統(tǒng)的程序實現(xiàn)。本書適合的讀者對象包括物聯(lián)網(wǎng)開發(fā)人員、智能硬件開發(fā)人員、AllJoyn產(chǎn)品設計工程師等。本書特點如下:
(1) 深入分析AllJoyn技術原理,以適應物聯(lián)網(wǎng)的系統(tǒng)開發(fā)方法;
(2) 提供大量AllJoyn物聯(lián)網(wǎng)編程的案例,有助于讀者舉一反三;
(3) 系統(tǒng)論述AllJoyn產(chǎn)品開發(fā)流程,有助于讀者快速動手實踐;
(4) 全面剖析AllJoyn的物聯(lián)網(wǎng)構建方法,以適應未來網(wǎng)絡發(fā)展。
本書以目前物聯(lián)網(wǎng)的發(fā)展為背景,總結AllSeen聯(lián)盟的開源AllJoyn新技術及其開發(fā)方法。以AllJoyn技術的原理為基礎,系統(tǒng)地介紹如何利用AllJoyn技術進行物聯(lián)網(wǎng)的互聯(lián)系統(tǒng)開發(fā),繼而為物聯(lián)網(wǎng)的互聯(lián)互通提供技術支撐,其主要內(nèi)容包括以下幾個方面: 物聯(lián)網(wǎng)技術概述(第1章),主要介紹物聯(lián)網(wǎng)的產(chǎn)生、架構、技術及發(fā)展情況; AllJoyn技術的基本原理(第2章),闡述了AllJoyn技術框架及核心功能; AllJoyn基礎服務(第3章),主要對AllJoyn技術支持的基礎服務進行講解,包括通知、配置、控制等基礎服務; 基于AllJoyn的開發(fā)方法(第4章~第8章),分別針對Android、Windows、Linux、iOS系統(tǒng)以及瘦客戶端的開發(fā)進行闡述,包括系統(tǒng)配置、AllJoyn框架的搭建、基礎服務開發(fā)方法以及具體的開發(fā)實例。本書內(nèi)容由淺入深、先系統(tǒng)后實踐,技術講解與實踐案例相結合,以供不同層次的人員需求; 同時,本書附有實際開發(fā)的軟件實現(xiàn)代碼,供讀者自我學習和自我提高使用。 本書可作為大學信息與通信工程及相關領域的高年級本科生及研究生教材,也可以作為物聯(lián)網(wǎng)開發(fā)愛好者手冊,還可以為物聯(lián)網(wǎng)方向的創(chuàng)客提供幫助。對于從事物聯(lián)網(wǎng)、AllJoyn技術開發(fā)和專業(yè)技術人員,本書也可以作為主要的技術參考書。
李永華:現(xiàn)執(zhí)教于北京郵電大學信息與通信工程學院,北京郵電大學師德標兵,從事物聯(lián)網(wǎng)和智能硬件的研究開發(fā),以及教學改革和教學研究工作,曾參與多個教育部、北京市及北京郵電大學的教育及教學改革項目。在教學中以興趣為導向,激發(fā)學生的創(chuàng)造性;以素質為基礎,提高自身教學水平;以科研為手段,促進教學理念轉變。通過信息工程專業(yè)綜合改革,探索了以“學生學為中心”的教學模式,營造生動活潑的學習方法,提高學生獨立的思考問題,發(fā)現(xiàn)問題和解決問題的能力,激發(fā)學生的創(chuàng)造激情。
第1章物聯(lián)網(wǎng)技術概述
1.1物聯(lián)網(wǎng)產(chǎn)生背景
1.2物聯(lián)網(wǎng)基本架構
1.2.1物聯(lián)網(wǎng)的由來
1.2.2物聯(lián)網(wǎng)的結構
1.3物聯(lián)網(wǎng)相關技術
1.3.1接入技術
1.3.2基于網(wǎng)絡的信息管理技術
1.3.3物聯(lián)網(wǎng)語義
1.3.4M2M技術
1.4物聯(lián)網(wǎng)的發(fā)展
1.4.1兩化融合及互聯(lián)網(wǎng)+
1.4.2物聯(lián)網(wǎng)聯(lián)盟
1.4.3AllJoyn技術
第2章AllJoyn技術
2.1AllJoyn技術簡介
2.2AllJoyn系統(tǒng)與DBus總線規(guī)范
2.3AllJoyn Core
2.3.1遠程方法調用
2.3.2AllJoyn服務
2.3.3AllJoyn Bus
2.3.4后臺程序/路由
2.3.5總線附件
2.3.6總線方法、總線屬性和總線信號
2.3.7總線接口
2.3.8總線對象和對象路徑
2.3.9總線對象代理
2.3.10總線名稱
2.3.11廣播和發(fā)現(xiàn)
2.3.12會話
2.3.13總體描述
2.4高層系統(tǒng)架構
2.4.1從拓撲看網(wǎng)絡結構
2.4.2從設備看系統(tǒng)結構
2.4.3從路由/后臺程序看系統(tǒng)結構
2.4.4瘦客戶端結構
2.4.5用戶角度的系統(tǒng)結構
2.4.6AllJoyn的協(xié)議棧
2.5總結
第3章AllJoyn基礎服務
3.1Onboarding服務框架
3.1.1概況
3.1.2Onboarding調用流程
3.1.3Onboarding接口
3.1.4默認XML
3.1.5錯誤處理
3.1.6最佳實踐
3.2Notification服務框架
3.2.1概況
3.2.2典型的調用流程
3.2.3Notification接口
3.2.4Notification服務框架使用實例
3.2.5UI注意事項
3.2.6Notification最佳實踐
3.3Configuration服務框架
3.3.1規(guī)范概述
3.3.2典型調用流程
3.3.3Config接口
3.3.4默認XML
3.3.5Configuration最佳實踐
3.4Control Panel服務框架
3.4.1規(guī)范概述
3.4.2調用流程
3.4.3接口
3.4.4錯誤處理
3.4.5BusObject Map
3.4.6注意事項
3.4.7Control Panel最佳實踐
第4章基于Android的開發(fā)方法
4.1AllJoyn的Android開發(fā)簡介
4.1.1創(chuàng)建新的安卓項目
4.1.2導入樣例項目
4.1.3代碼開發(fā)詳解
4.1.4Android開發(fā)注意事項
4.2Base Service應用
4.2.1Notification
4.2.2Control Panel
4.2.3Configuration
4.2.4Onboarding
第5章基于Windows的開發(fā)方法
5.1配置Windows環(huán)境
5.1.1軟件工具的安裝
5.1.2添加環(huán)境變量
5.1.3驗證安裝
5.1.4Git下載源碼
5.2搭建AllJoyn框架
5.2.1Windows平臺下AllJoyn基本設置
5.2.2編譯variants
5.2.3AllJoyn_java
5.2.4生成API文檔
5.2.5確定Microsoft Visual C++版本
5.2.6使用綁定路由構建
5.2.7構建C++單元測試
5.3AllJoyn路由
5.4運行單元測試
5.4.1運行C++單元測試
5.4.2運行Java junit測試
5.5APP實例: Chat
5.5.1執(zhí)行提前編譯好的.exe文件
5.5.2通過Visual Studio運行
5.5.3實例代碼
第6章基于Linux的開發(fā)方法
6.1AllJoyn的環(huán)境配置方法
6.1.1搭建工具和庫文件
6.1.2軟件工具的安裝
6.1.3獲取AllJoyn資源
6.1.4搭建AllJoyn框架
6.1.5建立API文檔
6.1.6構建C++單元測試
6.1.7運行AllJoyn應用程序
6.1.8運行單元測試
6.2About特性的開發(fā)方法
6.2.1參考代碼說明
6.2.2建立發(fā)送宣告信號的應用程序
6.2.3建立接收宣告信號的AllJoyn框架
6.2.4發(fā)送宣告信號的示例代碼
6.2.5接收宣告信號的示例代碼
6.3配置服務的開發(fā)方法
6.3.1應用類
6.3.2獲取服務框架的配置
6.3.3建立使用Config Server的應用程序
6.3.4設置AllJoyn框架和About特性
6.3.5實現(xiàn)應用: Config Server
6.3.6實現(xiàn)應用: Config Client
6.4通知服務的開發(fā)方法
6.4.1參考代碼說明
6.4.2執(zhí)行通知發(fā)送方: Notification Producer
6.4.3執(zhí)行通知接收方: Notification Consumer
6.5控制面板服務的開發(fā)方法
6.5.1相關代碼說明
6.5.2受控端的實現(xiàn)
6.5.3XML UI單元描述
第7章瘦客戶端開發(fā)方法
7.1瘦客戶端概述
7.2瘦客戶模型
7.2.1AllJoyn瘦客戶端核心庫
7.2.2AllJoyn瘦客戶端核心庫設備
7.3瘦客戶端核心庫架構
7.4瘦客戶端示例
7.4.1最小化的瘦客戶端系統(tǒng)
7.4.2基于瘦客戶端的無線傳感器網(wǎng)絡
7.5瘦客戶端基礎服務
7.5.1AllJoyn通知服務框架
7.5.2AllJoyn Onboarding服務框架
7.5.3AllJoyn控制面板服務框架
7.5.4AllJoyn配置服務框架
7.6構建運行瘦客戶端服務器應用程序
7.6.1構建瘦客戶端服務器應用程序
7.6.2運行瘦客戶端服務器應用程序
7.7在Arduino設備上運行瘦客戶端程序
7.7.1硬件環(huán)境配置
7.7.2導入AllJoyn庫文件
7.7.3運行AllJoyn程序
7.8總結
第8章iOS/OS X的開發(fā)方法
8.1AllJoyn的開發(fā)環(huán)境搭建與設置
8.1.1開發(fā)環(huán)境搭建
8.1.2開發(fā)指導
8.1.3開發(fā)實例
8.2About特性的開發(fā)方法
8.2.1About介紹
8.2.2About開發(fā)簡介
8.2.3About實例
8.3iOS系統(tǒng)的基礎服務
8.3.1通知開發(fā)方法
8.3.2配置服務開發(fā)方法
8.3.3Onboarding的開發(fā)方法
8.3.4控制面板服務的開發(fā)方法
參考文獻