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