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