《AllJoyn技术原理及物联网程序开发指南》系统介绍了AllJoyn技术的基本原理及其物联网应用。书中提供了大量AllJoyn技术开发的软件与硬件设计、实际开发的案例,涵盖了Android、Windows、Linux和iOS系统的程序实现。本书适合的读者对象包括物联网开发人员、智能硬件开发人员、AllJoyn产品设计工程师等。本书特点如下:
(1) 深入分析AllJoyn技术原理,以适应物联网的系统开发方法;
(2) 提供大量AllJoyn物联网编程的案例,有助于读者举一反三;
(3) 系统论述AllJoyn产品开发流程,有助于读者快速动手实践;
(4) 全面剖析AllJoyn的物联网构建方法,以适应未来网络发展。
本书以目前物联网的发展为背景,总结AllSeen联盟的开源AllJoyn新技术及其开发方法。以AllJoyn技术的原理为基础,系统地介绍如何利用AllJoyn技术进行物联网的互联系统开发,继而为物联网的互联互通提供技术支撑,其主要内容包括以下几个方面: 物联网技术概述(第1章),主要介绍物联网的产生、架构、技术及发展情况; AllJoyn技术的基本原理(第2章),阐述了AllJoyn技术框架及核心功能; AllJoyn基础服务(第3章),主要对AllJoyn技术支持的基础服务进行讲解,包括通知、配置、控制等基础服务; 基于AllJoyn的开发方法(第4章~第8章),分别针对Android、Windows、Linux、iOS系统以及瘦客户端的开发进行阐述,包括系统配置、AllJoyn框架的搭建、基础服务开发方法以及具体的开发实例。本书内容由浅入深、先系统后实践,技术讲解与实践案例相结合,以供不同层次的人员需求; 同时,本书附有实际开发的软件实现代码,供读者自我学习和自我提高使用。 本书可作为大学信息与通信工程及相关领域的高年级本科生及研究生教材,也可以作为物联网开发爱好者手册,还可以为物联网方向的创客提供帮助。对于从事物联网、AllJoyn技术开发和专业技术人员,本书也可以作为主要的技术参考书。
第1章物联网技术概述
1.1物联网产生背景
1.2物联网基本架构
1.2.1物联网的由来
1.2.2物联网的结构
1.3物联网相关技术
1.3.1接入技术
1.3.2基于网络的信息管理技术
1.3.3物联网语义
1.3.4M2M技术
1.4物联网的发展
1.4.1两化融合及互联网+
1.4.2物联网联盟
1.4.3AllJoyn技术
第2章AllJoyn技术
2.1AllJoyn技术简介
2.2AllJoyn系统与DBus总线规范
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广播和发现
2.3.12会话
2.3.13总体描述
2.4高层系统架构
2.4.1从拓扑看网络结构
2.4.2从设备看系统结构
2.4.3从路由/后台程序看系统结构
2.4.4瘦客户端结构
2.4.5用户角度的系统结构
2.4.6AllJoyn的协议栈
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规范概述
3.3.2典型调用流程
3.3.3Config接口
3.3.4默认XML
3.3.5Configuration最佳实践
3.4Control Panel服务框架
3.4.1规范概述
3.4.2调用流程
3.4.3接口
3.4.4错误处理
3.4.5BusObject Map
3.4.6注意事项
3.4.7Control Panel最佳实践
第4章基于Android的开发方法
4.1AllJoyn的Android开发简介
4.1.1创建新的安卓项目
4.1.2导入样例项目
4.1.3代码开发详解
4.1.4Android开发注意事项
4.2Base Service应用
4.2.1Notification
4.2.2Control Panel
4.2.3Configuration
4.2.4Onboarding
第5章基于Windows的开发方法
5.1配置Windows环境
5.1.1软件工具的安装
5.1.2添加环境变量
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执行提前编译好的.exe文件
5.5.2通过Visual Studio运行
5.5.3实例代码
第6章基于Linux的开发方法
6.1AllJoyn的环境配置方法
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特性的开发方法
6.2.1参考代码说明
6.2.2建立发送宣告信号的应用程序
6.2.3建立接收宣告信号的AllJoyn框架
6.2.4发送宣告信号的示例代码
6.2.5接收宣告信号的示例代码
6.3配置服务的开发方法
6.3.1应用类
6.3.2获取服务框架的配置
6.3.3建立使用Config Server的应用程序
6.3.4设置AllJoyn框架和About特性
6.3.5实现应用: Config Server
6.3.6实现应用: Config Client
6.4通知服务的开发方法
6.4.1参考代码说明
6.4.2执行通知发送方: Notification Producer
6.4.3执行通知接收方: Notification Consumer
6.5控制面板服务的开发方法
6.5.1相关代码说明
6.5.2受控端的实现
6.5.3XML UI单元描述
第7章瘦客户端开发方法
7.1瘦客户端概述
7.2瘦客户模型
7.2.1AllJoyn瘦客户端核心库
7.2.2AllJoyn瘦客户端核心库设备
7.3瘦客户端核心库架构
7.4瘦客户端示例
7.4.1最小化的瘦客户端系统
7.4.2基于瘦客户端的无线传感器网络
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硬件环境配置
7.7.2导入AllJoyn库文件
7.7.3运行AllJoyn程序
7.8总结
第8章iOS/OS X的开发方法
8.1AllJoyn的开发环境搭建与设置
8.1.1开发环境搭建
8.1.2开发指导
8.1.3开发实例
8.2About特性的开发方法
8.2.1About介绍
8.2.2About开发简介
8.2.3About实例
8.3iOS系统的基础服务
8.3.1通知开发方法
8.3.2配置服务开发方法
8.3.3Onboarding的开发方法
8.3.4控制面板服务的开发方法
参考文献