Cypress WICED 物联网开发指南:从传感器、无线接入到云端的设计与实现
作者:何宾
出版社:电子工业出版社
出版时间:2019-01-01
ISBN:9787121359040
定价:¥79.00
第 1 篇
WICED集成开发环境介绍和基本应用
第1章 物联网基础 3
1.1 物联网的定义 3
1.2 物联网中的技术 5
1.3 物联网架构 6
1.3.1 高级视图 7
1.3.2 功能结构 7
1.3.3 分层模型 8
1.4 物联网面临的挑战 8
1.5 Cypress提供的IoT开发平台 9
第2章 WICED Studio集成开发环境 11
2.1 WICED Studio的下载和安装 11
2.1.1 WICED Studio的下载 11
2.1.2 WICED Studio的安装 13
2.1.3 WICED SDK架构 14
2.2 WICED Studio软件主设计界面 16
2.2.1 “Project Explorer”窗口 18
2.2.2 文档系统 20
2.3 WICED Studio支持的Wi-Fi芯片 22
2.4 运行第一个WICED设计 23
2.4.1 查找演示设计案例 23
2.4.2 项目的命名规则 24
2.4.3 生成新的Make Target 24
2.4.4 运行新生成的Make Target 26
第3章 驱动和控制外设的设计与实现 29
3.1 设计所使用硬件平台的特性与功能 29
3.2 设计并实现第一个WICED应用 30
3.2.1 复制设计模板 31
3.2.2 修改control_gpio.c文件 33
3.2.3 修改control_gpio.mk文件 36
3.2.4 生成新的Make Target 37
3.2.5 运行新生成的Make Target 37
3.3 中断程序的设计与实现 37
3.3.1 复制设计文件 37
3.3.2 生成新的Make Target 40
3.3.3 运行新生成的Make Target 40
3.4 脉冲宽度程序的设计与实现 41
3.4.1 复制设计文件 41
3.4.2 生成新的Make Target 42
3.4.3 运行新生成的Make Target 42
3.5 串口发送程序的设计与实现 43
3.5.1 复制设计文件 43
3.5.2 生成新的Make Target 46
3.5.3 运行新生成的Make Target 46
3.6 串口接收程序的设计与实现 47
3.6.1 复制设计文件 48
3.6.2 生成新的Make Target 50
3.6.3 运行新生成的Make Target 50
3.7 模拟-数字转换程序的设计与实现 51
3.7.1 复制设计文件 51
3.7.2 生成新的Make Target 52
3.7.3 运行新生成的Make Target 53
第4章 实时操作系统原理及应用 54
4.1 实时操作系统的功能 54
4.2 WICED RTOS抽象层 55
4.3 线程的原理及实现 55
4.3.1 线程的原理 56
4.3.2 线程的实现 57
4.4 信号量的原理及应用 60
4.4.1 信号量的原理 60
4.4.2 信号量的应用 61
4.5 互斥的原理及应用 65
4.5.1 互斥的原理 65
4.5.2 互斥的应用 65
4.6 队列的原理及应用 69
4.6.1 队列的原理 69
4.6.2 队列的应用 70
4.7 定时器的原理及应用 73
4.7.1 定时器的基本原理 73
4.7.2 定时器的应用 74
第5章 使用WICED-SDK库文件 77
5.1 WICED-SDK库文件架构 77
5.2 WICED-SDK库文件应用实例-网络测试 78
5.2.1 生成新的Make Target 78
5.2.2 运行新生成的Make Target 78
5.2.3 运行Iperf工具 80
5.3 WICED-SDK库文件应用实例-TFT显示 81
5.3.1 TFT显示模块硬件设计原理 81
5.3.2 复制设计文件 82
5.3.3 生成新的Make Target 83
5.3.4 运行新生成的Make Target 83
第 2 篇
Wi-Fi接入技术和物联网应用
第6章 Wi-Fi接入原理及实现 87
6.1 TCP/IP网络协议栈 87
6.2 Wi-Fi接入技术中的基本术语 89
6.3 Wi-Fi/BT模组结构和功能 92
6.3.1 硬件连接原理 92
6.3.2 CYW4343W支持的标准和协议 93
6.3.3 CYW4343W WLAN MAC特性 93
6.3.4 CYW4343W WLAN PHY特性 95
6.3.5 CYW4343W WLAN射频子系统 96
6.4 WICED中提供的接入资源 96
6.4.1 设备配置表 97
6.4.2 WICED Wi-Fi SDK 100
6.4.3 返回值状态 101
6.4.4 文档 102
6.4.5 导引器 103
6.5 WICED设备连接到网络的实现 104
6.5.1 复制设计文件 104
6.5.2 生成新的Make Target 106
6.5.3 运行新生成的Make Target 107
6.6 打印WICED设备网络信息的实现 108
6.6.1 复制设计文件 108
6.6.2 生成新的Make Target 110
6.6.3 运行新生成的Make Target 111
6.7 在两个SSID之间切换的应用实现 112
6.7.1 复制设计文件 112
6.7.2 生成新的Make Target 115
6.7.3 运行新生成的Make Target 115
第7章 TCP/IP套接字原理及实现方法 117
7.1 使用TCP/IP套接字建立通信 117
7.1.1 TCP通信基本原理――套接字 117
7.1.2 使用套接字的WICED TCP服务器和客户端 118
7.1.3 使用流发送和接收数据 120
7.1.4 使用WICED以TCP客户端形式用数据包传输数据 121
7.1.5 使用WICED以TCP服务器形式接收数据包 123
7.2 WICED套接字文档-非安全连接 124
7.3 安全性 124
7.4 X.509证书 128
7.4.1 基础知识 128
7.4.2 下载证书 129
7.4.3 创建自己的证书 133
7.4.4 在WICED中使用证书 133
7.5 带有TLS的TCP/IP套接字 135
第8章 HTTP1.1协议的分析及应用 139
8.1 云的基本概念 139
8.2 应用层协议 139
8.2.1 超文本传输协议 140
8.2.2 消息队列遥测传输协议 141
8.2.3 约束应用协议 142
8.2.4 高级消息队列协议 142
8.2.5 JS对象标记 143
8.3 HTTP1.1协议详解 143
8.3.1 客户端请求 144
8.3.2 服务器响应 147
8.3.3 CURL工具 148
8.3.4 REST和RESTful API 153
8.3.5 WCIED HTTP1.1客服端库 154
8.3.6 Httpbin.org 156
8.4 非安全的HTTP连接 157
8.4.1 复制设计文件 157
8.4.2 生成新的Make Target 163
8.4.3 运行新生成的Make Target 163
8.5 安全的HTTP连接 164
8.5.1 复制设计文件 165
8.5.2 生成新的Make Target 170
8.5.3 运行新生成的Make Target 170
8.6 向网站提交数据-非安全连接 171
8.6.1 复制设计文件 171
8.6.2 生成新的Make Target 175
8.6.3 运行新生成的Make Target 175
8.7 向网站提交数据-安全连接 176
8.7.1 复制设计文件 176
8.7.2 生成新的Make Target 181
8.7.3 运行新生成的Make Target 182
8.8 使用Web API验证电话信息 183
8.8.1 通过浏览器访问该网站 183
8.8.2 复制设计文件 185
8.8.3 生成新的Make Target 191
8.8.4 运行新生成的Make Target 191
8.9 使用文本串发送请求的实现 193
8.9.1 复制设计文件 193
8.9.2 生成新的Make Target 195
8.9.3 运行新生成的Make Target 195
第9章 亚马逊云端连接和应用实现 197
9.1 亚马逊AWS物联网云服务概述 197
9.2 亚马逊AWS IoT云服务的资源 198
9.3 亚马逊AWS MQTT基本操作 199
9.3.1 注册账户 199
9.3.2 登录账户 203
9.3.3 AWS IoT教程 204
9.3.4 配置AWS IoT Thing的流程 205
9.3.5 主题 211
9.3.6 设备影子主题 212
9.3.7 将MQTT与AWS配合使用 212
9.3.8 将HTTPS与AWS配合使用 213
9.3.9 使用AWS MQTT测试客户端 213
9.4 在AWS云端发布消息的实现 215
9.4.1 复制和重命名证书文件 215
9.4.2 复制和修改设计文件 216
9.4.3 生成新的Make Target 224
9.4.4 运行新生成的Make Target 225
9.5 AWS云端订阅信息控制外设的实现 227
9.5.1 复制和修改设计文件 227
9.5.2 生成新的Make Target 234
9.5.3 运行新生成的Make Target 234
9.6 AWS云端订阅和发布消息的综合实现 236
9.6.1 设计目标 236
9.6.2 复制设计文件 236
9.7 AWS云端事物影子的操作实现 237
9.7.1 设计目标 237
9.7.2 复制设计文件 237
第 3 篇
蓝牙接入技术和物联网应用
第10章 蓝牙接入技术原理 241
10.1 蓝牙技术的起源 241
10.2 蓝牙技术的发展历程 241
10.3 蓝牙版本的演进 242
10.4 低功耗蓝牙模式 246
10.5 低功耗蓝牙协议 246
10.5.1 物理层 247
10.5.2 链路层 248
10.5.3 主机控制接口层 250
10.5.4 逻辑链路控制和自适应协议层 251
10.5.5 属性协议层 251
10.5.6 安全管理协议层 251
10.5.7 通用接入规范层 251
10.5.8 通用属性配置文件层 252
10.5.9 用户应用程序层 253
10.6 CYW4343W蓝牙子系统特性及功能 253
10.6.1 主要特性 253
10.6.2 蓝牙射频 254
10.6.3 蓝牙基带核 256
10.6.4 用于蓝牙的微处理器和存储器单元 257
10.6.5 蓝牙外围传输单元-PCM接口 258
10.6.6 蓝牙外围传输单元-UART接口 259
10.6.7 蓝牙外围传输单元-I2S接口 259
第11章 蓝牙连接的实现和基本应用 260
11.1 WICED BLE系统实现的任务 260
11.1.1 打开WICED蓝牙协议栈 260
11.1.2 开始广播 261
11.1.3 进行连接 262
11.1.4 交换数据 262
11.2 广播包 263
11.3 属性、GAP和GATT数据库 265
11.3.1 属性 265
11.3.2 配置文件-服务-特征 265
11.3.3 在GATT数据库中的服务声明 266
11.3.4 GATT数据库中特征的声明 266
11.4 WICED蓝牙协议栈事件 268
11.4.1 重要的蓝牙管理事件 268
11.4.2 重要的GATT事件 268
11.4.3 重要的GATT子事件 268
11.5 WICED蓝牙固件架构 269
11.5.1 打开协议栈 269
11.5.2 开始广播 270
11.5.3 进行连接 271
11.5.4 交换数据――读(从中心) 271
11.5.5 交换数据――写(从中心) 272
11.6 WICED GATT数据库实现 272
11.6.1 gatt_database[] 273
11.6.2 gatt_db_ext_attr_tbl 274
11.6.3 用于值的uint8_t数组 275
11.6.4 应用程序接口 275
11.7 使用CySmart控制LED灯的设计与实现 276
11.7.1 安装CySmart软件工具 276
11.7.2 复制设计文件 276
11.7.3 生成新的Make Target 277
11.7.4 运行新生成的Make Target 277
第12章 蓝牙连接的实现和高级应用 284
12.1 通知和指示 284
12.2 其他特征描述符 285
12.3 安全性 286
12.3.1 配对 286
12.3.2 绑定 287
12.3.3 配对和绑定过程总结 287
12.3.4 身份验证、授权和GATT数据库 288
12.3.5 隐私 288
12.4 WICED配置 288
12.4.1 wiced_bt_cfg.c文件 288
12.4.2 缓冲池 289
12.5 广播包 290
12.5.1 使用广播包获得连接 290
12.5.2 iBeacon 291
12.5.3 Eddystone 291
12.6 GATT服务发现 292
12.7 WICED蓝牙固件结构 292
12.8 WICED芯片和HCI架构 297
12.8.1 HCI 297
12.8.2 BTSPY 298
12.9 分析iBeacon数据格式的实现 298
12.9.1 生成新的Make Target 298
12.9.2 运行新生成的Make Target 298
12.10 发送通知消息的实现 300
12.10.1 复制设计文件 300
12.10.2 生成新的Make Target 302
12.10.3 运行新生成的Make Target 302
12.11 配对的实现 304
12.11.1 复制设计文件 305
12.11.2 生成新的Make Target 305
12.11.3 运行新生成的Make Target 306