第1章 物联网技术概述 1
1.1物联网基本架构 2
1.1.1物联网的由来 2
1.1.2物联网的结构 3
1.2物联网相关技术 4
1.2.1接入技术 5
1.2.2基于网络的信息管理技术 8
1.2.3物联网语义 10
1.2.4 M2M技术 13
1.3物联网的发展 14
1.3.1两化融合及互联网+ 14
1.3.2物联网联盟 15
1.3.3 OCF技术 16
1.4 RESTful 17
1.4.1概述 17
1.4.2实现 18
1.5 Swagger 21
第2章 OCF技术基础 23
2.1 OCF术语和定义 24
2.2 OCF技术简介 25
2.3 OCF标识与寻址 28
2.4 OCF数据类型 30
第3章 OCF的资源模型 31
3.1基本概念 31
3.2 OCF资源 32
3.3资源属性 32
3.4资源类型 34
3.4.1资源类型属性 34
3.4.2资源类型定义 34
3.4.3多“rt”值资源 35
3.5设备类型及资源接口 36
3.5.1接口属性 37
3.5.2接口方法 37
3.6资源结构 44
3.6.1资源关系 44
3.6.2集合 48
3.7第三方指定扩展 50
第4章 OCF资源的操作 52
4.1概述 52
4.2创建 52
4.3检索 53
4.4更新 54
4.5删除 54
4.6通知 55
第5章 网络连接及终端发现 56
5.1网络连接架构 56
5.2 IPv6网络层需求 57
5.3终端定义 58
5.4终端发现 59
5.5基于CoAP的终端发现 64
第6章 OCF的功能交互 65
6.1服务开通 65
6.2资源发现 67
6.2.1直接发现 68
6.2.2间接发现/基于资源目录 68
6.2.3广播发现 68
6.2.4资源信息发布过程 69
6.2.5资源发现信息 69
6.2.6使用“/oic/res”的资源发现 73
6.2.7基于资源目录的发现 74
6.3通知 81
6.4设备管理 83
6.5场景 83
6.6图标 86
6.7内省 87
第7章 OCF中的消息传递 90
7.1 CRUDN到CoAP的映射 90
7.1.1具有请求和响应的CoAP方法 90
7.1.2内容类型 92
7.1.3 CoAP响应代码及块传输 93
7.2 CoAP序列通过TCP 94
7.3 CBOR中的负载编码 95
第8章 OCF的应用实例 96
8.1 OCF操作例程 96
8.2 OCF交互场景与部署模型 97
8.3其他资源模型与OCF映射 99
8.3.1多资源模型 99
8.3.2支持多资源模型的OCF方法 99
8.3.3资源模型指示 100
8.3.4配置文件示例 100
第9章 RAML定义核心资源类型 102
9.1 OCF集合 102
9.2设备配置 111
9.3平台配置 117
9.4设备 121
9.5维护 124
9.6平台 127
9.7 ping 130
9.8可发现资源基准接口 131
9.9可发现资源的链接表接口 134
9.10场景(顶层) 139
9.11场景集合 143
9.12场景成员 149
9.13资源目录资源 152
9.14图标 158
9.15内省资源 160
第10章 Swagger定义核心资源类型 163
10.1图标 163
10.2内省资源 166
10.3 OCF集合 170
10.4平台配置 187
10.5设备配置 192
10.6设备 198
10.7维护 202
10.8平台 206
10.9 ping 210
10.10资源目录资源 214
10.11可发现资源 224
10.12场景 234
第11章 应用资源类型规范 258
11.1基准模型构造 258
11.1.1概述 258
11.1.2属性定义 259
11.1.3示例资源定义 260
11.1.4可观察的资源类型 264
11.1.5复合资源类型 266
11.1.6基础资源 267
11.2资源类型定义概述 272
11.3应用资源类型举例 274
第12章 OCF开发方法及案例 279
12.1基于Mac的开发方法 279
12.1.1 Mac OSX环境下的编译方法 279
12.1.2 APP实例 279
12.1.3实例代码 279
12.2基于Windows的开发方法 298
12.2.1软件工具的安装 298
12.2.2 Windows环境下的编译方法 299
12.2.3 APP实例 299
12.3基于Linux的开发方法 301
12.3.1软件工具的安装 301
12.3.2 Linux环境下的编译方法 301
12.3.3 APP实例 302
12.3.4实例代码 302
12.4基于Android的开发方法 320
12.4.1软件工具的安装 320
12.4.2 Android环境下的编译方法 321
12.4.3 APP实例 322
12.4.4实例代码 323
12.5基于Arduino的开发方法 343
12.5.1配置Arduino环境 343
12.5.2软件工具的安装 343
12.5.3程序编译 343
12.5.4实例代码 344
12.6综合实例 349
12.6.1 Arduino实例 349
12.6.2 Android实例 360