第一部分Arm? MbedTM和物联网 2
第1章Arm? MbedTM 2
1.1什么是嵌入式系统 2
1.2微控制器和微处理器 3
1.3 ARM?处理器架构 6
1.4 Arm? Mbed TM系统 8
1.4.1 NXP LPC 1768 10
1.4.2 NXP LPC 11 U24 13
1.4.3 BBC Micro:bit 14
1.4.4 Arm? Mbed TM以太物联网入门工具包 16
1.5小结 20
1.6问题 20
第2章 物联网 21
2.1什么是物联网 21
2.2物联网如何运行 22
2.3物联网如何改变我们的生活 22
2.4物联网应用前景 24
2.4.1家居 24
2.4.2医疗 25
2.4.3交通 25
2.4.4能源 25
2.4.5制造 25
2.4.6环境 26
2.5小结 26
2.6问题 26
第3章 物联网驱动技术 27
3.1传感器和致动器 27
3.2通信 27
3.2.1无线射频识别(RFID)和近场通信(NFC) 27
3.2.2蓝牙低功耗(BLE) 28
3.2.3可见光通信(LiFi) 28
3.2.4 6LowPAN 29
3.2.5 ZigBee 29
3.2.6 Z-Wave 29
3.2.7 LoRa 30
3.3协议 30
3.3.1超文本传输协议 30
3.3.2 WebSocket 31
3.3.3消息队列遥测传输 32
3.3.4受限应用层协议 33
3.3.5可扩展消息处理现场协议 33
3.4 Node-RED 33
3.5平台 35
3.5.1 IBM Watson物联网——Bluemix 35
3.5.2 Eclipse物联网 36
3.5.3 AWS物联网 37
3.5.4微软Azure物联网套件 37
3.5.5谷歌云物联网 38
3.5.6 ThingWorx 38
3.5.7 GE Predix 39
3.5.8 Xively 39
3.5.9 macchina.io 39
3.5.10 Carriots 39
3.6小结 40
3.7问题 40
第二部分Arm? MbedTM开发 42
第4章Arm? MbedTM入门 42
4.1简介 42
4.2所需硬件和软件 43
4.2.1硬件 43
4.2.2软件 43
4.3你的第一个程序:Blinky LED 46
4.3.1将Mbed连接到一台计算机 46
4.3.2单击“mbed.htm”登录 46
4.3.3添加FRDM-K64F平台到编译器 46
4.3.4导入一个已有程序 48
4.3.5编译、下载并运行程序 49
4.3.6下载并运行其他已有程序 49
4.4创建你自己的程序 50
4.5C/C++编程语言 50
4.6函数与模块化编程 50
4.7管理平台 53
4.8复制你的程序 55
4.9搜索和替换 56
4.10编译可在多平台运行的程序 57
4.11删除你的程序 58
4.12灾备流程 58
4.13更新固件 58
4.14帮助 60
4.15小结 61
第5章 输入和输出 62
5.1数字输入和输出 62
5.1.1数字输入 62
5.1.2数字输出 64
5.1.3总线输入(BusIn)、总线输出(BusOut)、总线输入和输出(BusInOut) 69
5.2模拟输入和输出 70
5.2.1模拟输入 70
5.2.2模拟输出 71
5.3脉宽调制 74
5.4加速计和磁力计 76
5.5SD卡 82
5.6本地文件系统(LPC1768) 84
5.7中断 85
5.8小结 86
第6章 数字接口 87
6.1串行接口 87
6.2串行外围接口 90
6.3内部集成电路 91
6.4控制器局域网 93
6.5小结 95
第7章 网络与通信 96
7.1以太网 96
7.2以太网网页客户端和网页服务器 100
7.3TCP接口和UDP接口 103
7.4 WebSocket 106
7.5 WiFi 109
7.6小结 112
第8章 数字信号处理和控制 113
8.1低通滤波器 113
8.2高通滤波器 116
8.3带通滤波器 118
8.4带阻滤波器和陷波滤波器 120
8.5快速傅里叶变换 123
8.6比例积分微分控制器 133
8.7小结 136
第9章 调试、计时器、多线程和实时编程 137
9.1调试 137
9.2计时器、超时、断续器、时间 138
9.3网络时间协议 142
9.4多线程和实时编程 143
9.5小结 148
第10章 库与程序 149
10.1导入库和程序 149
10.2导出你的程序 150
10.3编写你自己的库 152
10.4发布你的库 156
10.5发布你的程序 157
10.6版本控制 160
10.7协作 166
10.8更新你的库和程序 171
10.9小结 172
第三部分 物联网入门工具包和物联网应用 174
第11章Arm? MbedTM以太物联网入门工具包 174
11.1 128×32LCD 174
11.2控制杆 175
11.3两个电位计 176
11.4扬声器 177
11.5三轴加速计 178
11.6 LM75B温度传感器 179
11.7 RGB LED 179
11.8小结 180
第12章Arm? MbedTM物联网应用 181
12.1基于互联网的温度监测 181
12.2智能照明 189
12.3声控门禁 194
12.4RFID读写器 200
12.5基于IBM Watson Bluemix的云示例 204
12.5.1 IBM快速入门服务 205
12.5.2 IBM注册服务(Bluemix) 206
12.5.3将IBM Watson物联网服务添加到应用中 213
12.5.4将Mbed设备添加到Watson物联网架构 216
12.5.5将证书添加到Mbed设备 218
12.5.6将IBM物联网Watson应用连接到Mbed设备 220
12.5.7从IBM物联网Watson应用发送命令到Mbed板 222
12.5.8更多关于Node-RED 225
12.6实时信号处理 230
12.7小结 235
第四部分 附录 238
附录A示例代码 238
附录 B HiveMQ MQTT代理 241
附录C树莓派Node-RED 250
附录D字符串和数组运算 258
附录E常用在线资源 264