本书从探讨流行的HTTP、UPnP、CoAP、MQTT和XMPP等物联网协议开始,并从实战角度介绍了现有的协议、通信模式、构架以及物联网安全的重要性。本书适合那些对物联网感兴趣的开发者和工程师阅读。那些对电子学、树莓派(RaspberryPi)或者卡片电脑有基本的了解(高中水平)以及有一些代码托管的编程经验的人,通过本书将会很快学到当前的物联网解决方案。
目录
作者简介
技术审阅者简介
序言
第1章物联网项目准备
1.1创建传感器项目
1.1.1准备RaspberryPi
1.1.2Clayster库
1.1.3硬件
1.1.4与硬件交互
1.1.5硬件接口
1.1.6传感器值内部显示
1.1.7持久化数据
1.1.8传感器值的外部显示
1.1.9导出传感器数据
1.2创建执行器
1.2.1硬件
1.2.2硬件接口
1.3创建控制器
1.3.1表示传感器值
1.3.2解析传感器数据
1.3.3计算控制状态
1.4创建摄像头
1.4.1硬件
1.4.2在RaspberryPi上访问串口
1.4.3硬件接口
1_4.4创建持久的默认设置
1.4.5添加可配置的属性
1.4.6持久化设备
1.4.7在当前设置下工作
1.4.8初始化摄像头
1.5总结
第2章HTTP
2.1HTTP基础
2.2让HTTP支持传感器
2.2.1搭建基于传感器的HTTP服务器
2.2.2在传感器上安装HITPS服务器
2.2.3添加根菜单
2.2.4在HTML页面显示测量信息
2.2.5动态生成图形
2.2.6创建传感器数据资源
2.2.7解释读出请求
2.2.8测试数据导出
2.2.9用户认证
2.2.10为增强网络性能添加事件
2.3添加HTTP支持的执行器
2.3.1创建Web服务资源
2.3.2访问单个输出
2.3.3获取全部输出
2.3.4访问报警输出
2.3.5应用测试形式
2.3.6访问WSDL
2.3.7应用RESTWeb服务接口
2.4为控制器添加HTTP支持
2.4.1订阅事件
2.4.2创建控制线程
2.4.3控制执行器
2.5总结
第3章UPnP协议
3.1UPnP介绍
3.1.1提供服务体系结构
3.1.2设备和服务能力的文档化
3.2创建设备描述文档
3.2.1选择设备类型
3.2.2更加友好
3.2.3给设备提供标识符
3.2.4添加图标
3.2.5为服务添加索引
3.2.6提供一个用于顶层网页展示的URL
3.3创建服务描述文档
3.3.1添加操作
3.3.2添加状态变量
3.3.3添加WEIYI设备名
3.4提供一个Web接口
3.5创建UPnP接口
3.5.1注册UPnP资源
3.5.2替换占位符
3.5.3添加SSDP支持
3.5.4通知网络
3.5.5响应搜索
3.6实现静止图像服务
3.6.1初始化事件触发状态量
3.6.2提供Web服务属性
3.6.3添加服务属性
3.6.4添加动作
3.7应用摄像头
3.7.1设置UPnP
3.7.2发现设备和服务
3.7.3订阅事件
3.7.4接收事件
3.7.5执行动作
3.8总结
第4章CoAP
4.1生成HTTP二进制文件
4.1.1寻找开发工具
4.2为传感器添加CoAP
4.2.1定义第一个CoAP资源
4.2.2手动触发事件通知
4.2.3注册数据输出资源
4.2.4返回XML
4.2.5返回JSON
4.2.6返回纯文本
4.2.7发现CoAP资源
4.2.8测试CoAP资源
4.3为执行器添加CoAP
4.3.1定义简单控制资源
4.3.2在CoAP中解析URL
4.3.3应用CoAP控制输出
4.4在控制器中应用CoAP
4.4.1监测观测到的资源
4.4.2接收通知
4.4.3执行控制操作
4.5总结
第5章MQTT协议
5.1发布和订阅
5.2给传感器添加MQTT支持
5.2.1控制线程的生命周期
5.2.2标记重要事件
5.2.3连接到MQTT服务器
5.2.4发布内容
5.3给执行器添加MQTT支持
5.3.1初始化主题内容
5.3.2订阅主题
5.3.3接收发布内容
5.3.4解码和解析内容
5.4给控制器添加MQIT支持
5.4.1处理传感器发来的事件
5.4.2解码和解析传感器值
5.4.3订阅传感器事件
5.4.4控制执行器
5.5总结
第6章XMPP
6.1XMPP基础知识
6.1.1联合全局的可扩展性
6.1.2提供全局的身份标识
6.1.3授权通信
6.1.4在线存在的感知
6.1.5应用XML通信
6.1.6通信模式
6.1.7扩展XMPP
6.1.8连接到服务器
6.1.9附加安全的配置
6.2为对象添加XMPP支持
6.2.1连接到XMPP网络
6.2.2监控连接状态事件
6.2.3通知你的朋友
6.2.4在XMPP之外处理HTTP请求
6.3提供额外的安全层
6.3.1配置的基础知识
6.3.2初始化对象注册接口
6.3.3注册对象
6.3.4更新公开对象
6.3.5声名对象
6.3.6从注册表中移除对象
6.3.7否认对象
6.3.8初始化配置服务器接口
6.3.9处理友好的推荐
6.3.10处理请求删除不友好的人
6.3.11搜索配置服务器
6.3.12提供注册信息
6.3.13保持连接
6.3.14友好关系协商
6.3.15处理存在的订阅请求
6.3.16持续的中断协商
6.3.17为传感器添加XMPP支持
6.3.18添加传感器的服务接口
6.3.19更新事件订阅
6.3.20发布合约
6.4为执行器添加XMPP支持
6.4.1添加控制器服务接口
6.5为摄像头添加XMPP支持
6.6为控制器添加XMPP支持
6.6.1设置传感器客户端接口
6.6.2设置控制器客户端接口
6.6.3设置摄像头客户端接口
6.6.4通过XMPP获取摄像头图像
6.6.5识别同等功能
6.6.6对同类表示应答
6.6.7检测规则的变化
6.7串联全部
6.8总结
第7章应用物联网服务平台
7.1选择物联网平台
7.1.1Clayster平台
7.1.2下载Clayster平台
7.1.3创建一个服务项目
7.1.4添加引用
7.1.5制作Clayster模块
7.1.6执行服务
7.1.7应用包清单
7.1.8从VisualStudio执行
7.1.9配置Clayster系统
7.1.10应用管理工具
7.1.11浏览数据源
7.2应用XMPP接入我们的设备
7.2.1为我们的传感器创建类
7.2.2找到最好的类
7.2.3订阅传感器数据
7.2.4解读传入的传感器数据
7.2.5为我们的执行器创建一个类
7.2.6自定义控制操作
7.2.7为我们的摄像头创建类
7.3创建我们的控制应用
7.3.1理解渲染
7.3.2定义应用程序类
7.3.3初始化控制器
7.3.4添加控制规则
7.3.5理解应用索引
7.3.6定义brieflet
7.3.7显示计量表
7.3.8显示二进制信号
7.3.9推送更新到客户端
7.3.10完成应用
7.3.11配置应用
7.3.12查看lOft界面应用
7.4总结
第8章创建协议网关
8.1理解协议桥接
8.2应用抽象模型
8.3Clayster抽象模型基础知识
8.3.1理解可编辑数据源
8.3.2理解可编辑对象
8.3.3应用通用数据源
8.3.4覆盖关键属性和方法
8.3.5处理设备间通信
8.4理解CoAP网关架构
8.5总结
第9章安全和互操作性
9.1理解风险
9.1.1重新发明一个轮子,但是是颠倒的
9.1.2了解你的邻居
9.2攻击模式
9.2.1拒绝服务
9.2.2猜测凭据
9.2.3访问存储凭据
9.2.4中间人
9.2.5嗅探网络通信
9.2.6端口扫描和网络爬行
9.2.7搜索功能和通配符
9.2.8密码破解
9.3实现安全的工具
9.3.1虚拟专用网络
9.3.2X.509证书和加密
9.3.3身份授权
9.3.4用户名和密码
9.3.5应用消息中间人和配置服务器
9.3.6集中与分散
9.4互操作性的需要
9.4.1解决复杂性
9.4.2降低成本
9.4.3允许各种新的服务和重复应用设备
9.4.4结合安全和互操作性
9.5总结
下载体验