本書是一本由淺入深對物聯(lián)網(wǎng)系統(tǒng)進行開發(fā)的書籍,全書采用任務式開發(fā)的學習方法,共積累了近50生動有趣、貼近生活的案例,每個案例均有完整的開發(fā)過程,分別是明確的學習目標、清晰的環(huán)境開發(fā)要求、深入淺出的原理學習、詳細的開發(fā)內(nèi)容和完整的開發(fā)步驟,最后得出任務結(jié)論,引導讀者一步一步輕松完成理論學習,并將理論學習用于開發(fā)實踐進行驗證,避免的枯燥的理論學習,強調(diào)理論與實踐的有機結(jié)合,全書配套了相應的源代碼,在書本源代碼的基礎可以進行快速二次開發(fā)。本書由淺入深地講述物聯(lián)網(wǎng)系統(tǒng)的開發(fā),采用任務式開發(fā)的方法,通過大量生動有趣、貼近生活的案例來講述物聯(lián)網(wǎng)系統(tǒng)的開發(fā)。每個案例均有完整的開發(fā)過程,包括學習目標、開發(fā)環(huán)境、原理學習、開發(fā)內(nèi)容和開發(fā)步驟,最后得出任務結(jié)論,引導讀者輕松完成理論學習并用于實踐進行驗證,避免枯燥的理論學習,強調(diào)理論與實踐的結(jié)合。該書按照知識點分類,分為入門篇、基礎開發(fā)篇和云平臺開發(fā)篇,將嵌入式系統(tǒng)的開發(fā)技術、處理器基本接口驅(qū)動、傳感器驅(qū)動、無線射頻技術、Android移動互聯(lián)網(wǎng)開發(fā)和云平臺用一種通信協(xié)議結(jié)合在一起,實現(xiàn)了強大的物聯(lián)網(wǎng)數(shù)據(jù)采集、傳輸和處理,能適用在多個行業(yè)的應用。
廖建尚,男,副教授,畢業(yè)于廣東工業(yè)大學通信與信息系統(tǒng)專業(yè),碩士,先任職于廣東交通職業(yè)技術學院。長期從事物聯(lián)網(wǎng)技術的開發(fā)和教學工作。
第1篇 入門篇
第1章 物聯(lián)網(wǎng)開發(fā)硬件與軟件 3
1.1 任務1:認識物聯(lián)網(wǎng) 3
1.1.1 物聯(lián)網(wǎng) 3
1.1.2 國外物聯(lián)網(wǎng) 4
1.1.3 國內(nèi)物聯(lián)網(wǎng) 5
1.1.4 物聯(lián)網(wǎng)重點領域 6
1.1.5 國外物聯(lián)網(wǎng)發(fā)展重點方向和機遇 7
1.2 任務2:認識物聯(lián)網(wǎng)開發(fā)硬件 8
1.2.1 物聯(lián)網(wǎng)開發(fā)硬件――TI CC2530處理器 8
1.2.2 CC2530無線節(jié)點 9
1.2.3 跳線設置及硬件連接 9
1.2.4 CC2530無線節(jié)點硬件資源 11
第2章 物聯(lián)網(wǎng)開發(fā)環(huán)境搭建 15
2.1 任務3:物聯(lián)網(wǎng)開發(fā)環(huán)境搭建 15
2.1.1 學習目標 15
2.1.2 開發(fā)環(huán)境 15
2.1.3 原理學習 15
2.1.4 開發(fā)步驟 15
2.2 任務4:創(chuàng)建第一個IAR應用程序 18
2.2.1 創(chuàng)建工程 18
2.2.2 工程設置 22
2.2.3 IAR程序的下載與調(diào)試 25
2.2.4 下載hex文件 29
第2篇 基礎開發(fā)篇
第3章 CC2530外圍接口項目開發(fā) 35
3.1 任務5:LED控制 35
3.1.1 學習目標 35
3.1.2 開發(fā)環(huán)境 35
3.1.3 原理學習 35
3.1.4 開發(fā)內(nèi)容 37
3.1.5 開發(fā)步驟 38
3.2 任務6:外部中斷 38
3.2.1 學習目標 38
3.2.2 開發(fā)環(huán)境 39
3.2.3 原理學習 39
3.2.4 開發(fā)內(nèi)容 40
3.2.5 開發(fā)步驟 41
3.3 任務7:定時器 42
3.3.1 學習目標 42
3.3.2 開發(fā)環(huán)境 42
3.3.3 原理學習 42
3.3.4 開發(fā)內(nèi)容 44
3.3.5 開發(fā)步驟 45
3.4 任務8:串口 45
3.4.1 學習目標 45
3.4.2 開發(fā)環(huán)境 46
3.4.3 原理學習 46
3.4.4 開發(fā)內(nèi)容 48
3.4.5 開發(fā)步驟 50
3.5 任務9:ADC采集 51
3.5.1 學習目標 51
3.5.2 開發(fā)環(huán)境 51
3.5.3 原理學習 51
3.5.4 開發(fā)內(nèi)容 52
3.5.5 開發(fā)步驟 53
3.6 任務10:休眠與喚醒 54
3.6.1 學習目標 54
3.6.2 開發(fā)環(huán)境 55
3.6.3 原理學習 55
3.6.4 開發(fā)內(nèi)容 55
3.6.5 開發(fā)步驟 58
3.7 任務11:看門狗 58
3.7.1 學習目標 58
3.7.2 開發(fā)環(huán)境 58
3.7.3 原理學習 59
3.7.4 開發(fā)內(nèi)容 59
3.7.5 開發(fā)步驟 60
3.8 任務12:DMA 61
3.8.1 學習目標 61
3.8.2 開發(fā)環(huán)境 61
3.8.3 原理學習 61
3.8.4 開發(fā)內(nèi)容 61
3.8.5 開發(fā)步驟 64
第4章 傳感器開發(fā)項目 65
4.1 任務13:光敏傳感器 65
4.1.1 學習目標 65
4.1.2 開發(fā)環(huán)境 65
4.1.3 原理學習 65
4.1.4 開發(fā)內(nèi)容 65
4.1.5 開發(fā)步驟 67
4.1.6 任務結(jié)論 67
4.2 任務14:溫/濕度傳感器 67
4.2.1 學習目標 67
4.2.2 開發(fā)環(huán)境 67
4.2.3 原理學習 67
4.2.4 開發(fā)內(nèi)容 69
4.2.5 開發(fā)步驟 71
4.2.6 任務結(jié)論 71
4.3 任務15:雨滴/凝露傳感器 71
4.3.1 學習目標 71
4.3.2 開發(fā)環(huán)境 72
4.3.3 原理學習 72
4.3.4 開發(fā)內(nèi)容 72
4.3.5 開發(fā)步驟 73
4.3.6 任務結(jié)論 74
4.4 任務16:火焰?zhèn)鞲衅?74
4.4.1 學習目標 74
4.4.2 開發(fā)環(huán)境 74
4.4.3 原理學習 74
4.4.4 開發(fā)內(nèi)容 75
4.4.5 開發(fā)步驟 76
4.4.6 任務結(jié)論 76
4.5 任務17:繼電器傳感器 76
4.5.1 學習目標 76
4.5.2 開發(fā)環(huán)境 77
4.5.3 原理學習 77
4.5.4 開發(fā)內(nèi)容 78
4.5.5 開發(fā)步驟 79
4.5.6 任務結(jié)論 79
4.6 任務18:霍爾傳感器 79
4.6.1 學習目標 79
4.6.2 開發(fā)環(huán)境 79
4.6.3 原理學習 80
4.6.4 開發(fā)內(nèi)容 81
4.6.5 開發(fā)步驟 81
4.6.6 任務結(jié)論 82
4.7 任務19:超聲波測距傳感器 82
4.7.1 學習目標 82
4.7.2 開發(fā)環(huán)境 82
4.7.3 原理學習 82
4.7.4 開發(fā)內(nèi)容 83
4.7.5 開發(fā)步驟 85
4.7.6 任務結(jié)論 85
4.8 任務20:人體紅外傳感器 85
4.8.1 學習目標 85
4.8.2 開發(fā)環(huán)境 85
4.8.3 原理學習 85
4.8.4 開發(fā)內(nèi)容 86
4.8.5 開發(fā)步驟 87
4.8.6 任務結(jié)論 88
4.9 任務21:可燃氣體/煙霧傳感器 88
4.9.1 學習目標 88
4.9.2 開發(fā)環(huán)境 88
4.9.3 原理學習 88
4.9.4 開發(fā)內(nèi)容 89
4.9.5 開發(fā)步驟 90
4.9.6 任務結(jié)論 91
4.10 任務22:空氣質(zhì)量傳感器 91
4.10.1 學習目標 91
4.10.2 開發(fā)環(huán)境 91
4.10.3 原理學習 91
4.10.4 開發(fā)內(nèi)容 92
4.10.5 開發(fā)步驟 92
4.10.6 任務結(jié)論 92
4.11 任務23:三軸傳感器 93
4.11.1 學習目標 93
4.11.2 開發(fā)環(huán)境 93
4.11.3 原理學習 93
4.11.4 開發(fā)內(nèi)容 95
4.11.5 開發(fā)步驟 99
4.11.6 任務結(jié)論 99
4.12 任務24:壓力傳感器 99
4.12.1 學習目標 99
4.12.2 開發(fā)環(huán)境 99
4.12.3 原理學習 100
4.12.4 開發(fā)內(nèi)容 102
4.12.5 開發(fā)步驟 105
4.12.6 任務結(jié)論 105
4.13 任務25:RFID讀寫 105
4.13.1 學習目標 105
4.13.2 開發(fā)環(huán)境 105
4.13.3 原理學習 105
4.13.4 開發(fā)內(nèi)容 109
4.13.5 開發(fā)步驟 117
4.13.6 任務結(jié)論 117
第5章 無線射頻開發(fā)項目 119
5.1 任務26:點對點通信 119
5.1.1 學習目標 119
5.1.2 開發(fā)環(huán)境 119
5.1.3 原理學習 119
5.1.4 開發(fā)內(nèi)容 119
5.1.5 開發(fā)步驟 122
5.1.6 任務結(jié)論 123
5.2 任務27:廣播通信 123
5.2.1 學習目標 123
5.2.2 開發(fā)環(huán)境 123
5.2.3 原理學習 123
5.2.4 開發(fā)內(nèi)容 123
5.2.5 開發(fā)步驟 126
5.2.6 任務結(jié)論 127
5.3 任務28:信道監(jiān)聽 127
5.3.1 學習目標 127
5.3.2 開發(fā)環(huán)境 127
5.3.3 原理學習 127
5.3.4 開發(fā)內(nèi)容 128
5.3.5 開發(fā)步驟 130
5.3.6 任務結(jié)論 131
5.4 任務29:無線控制 131
5.4.1 學習目標 131
5.4.2 開發(fā)環(huán)境 131
5.4.3 原理學習 132
5.4.4 開發(fā)內(nèi)容 132
5.4.5 開發(fā)步驟 134
5.4.6 任務結(jié)論 135
第6章 ZStack協(xié)議棧開發(fā) 137
6.1 任務30:認識ZStack協(xié)議棧 137
6.1.1 ZStack的安裝 137
6.1.2 ZStack的結(jié)構 138
6.1.3 設備的選擇 140
6.1.4 定位編譯選項 141
6.1.5 ZStack中的尋址 142
6.1.6 ZStack中的路由 144
6.1.7 OSAL調(diào)度管理 144
6.1.8 ZStack的串口通信 145
6.1.9 配置信道 146
6.2 任務31:ZStack協(xié)議棧工程解析 147
6.2.1 學習目標 147
6.2.2 開發(fā)環(huán)境 147
6.2.3 原理學習 147
6.3 任務32:多點自組織組網(wǎng) 161
6.3.1 學習目標 161
6.3.2 預備知識 161
6.3.3 開發(fā)環(huán)境 161
6.3.4 原理學習 161
6.3.5 開發(fā)內(nèi)容 163
6.3.6 開發(fā)步驟 166
6.3.7 任務結(jié)論 168
6.4 任務33:信息廣播/組播 168
6.4.1 學習目標 168
6.4.2 預備知識 168
6.4.3 開發(fā)環(huán)境 168
6.4.4 原理學習 168
6.4.5 開發(fā)內(nèi)容 169
6.4.6 開發(fā)步驟 172
6.4.7 任務結(jié)論 173
6.5 任務34:網(wǎng)絡拓撲―星狀網(wǎng) 174
6.5.1 學習目標 174
6.5.2 預備知識 174
6.5.3 開發(fā)環(huán)境 174
6.5.4 原理學習 174
6.5.5 開發(fā)內(nèi)容 174
6.5.6 開發(fā)步驟 178
6.5.7 任務結(jié)論 178
6.6 任務35:網(wǎng)絡拓撲―樹狀網(wǎng) 179
6.6.1 學習目標 179
6.6.2 預備知識 179
6.6.3 開發(fā)環(huán)境 179
6.6.4 原理學習 179
6.6.5 開發(fā)內(nèi)容 179
6.6.6 開發(fā)步驟 182
6.6.7 任務結(jié)論 183
6.7 任務36:ZigBee串口應用 183
6.7.1 學習目標 183
6.7.2 預備知識 184
6.7.3 開發(fā)環(huán)境 184
6.7.4 原理學習 184
6.7.5 開發(fā)內(nèi)容 184
6.7.6 開發(fā)步驟 186
6.7.7 任務結(jié)論 187
6.8 任務37:ZigBee協(xié)議分析 187
6.8.1 學習目標 187
6.8.2 預備知識 187
6.8.3 開發(fā)環(huán)境 187
6.8.4 原理學習 188
6.8.5 開發(fā)內(nèi)容 189
6.8.6 開發(fā)步驟 191
6.8.7 任務結(jié)論 192
6.9 任務38:ZigBee綁定 193
6.9.1 學習目標 193
6.9.2 預備知識 193
6.9.3 開發(fā)環(huán)境 193
6.9.4 原理學習 193
6.9.5 開發(fā)內(nèi)容 194
6.9.6 開發(fā)步驟 196
6.9.7 任務結(jié)論 197
第7章 物聯(lián)網(wǎng)開發(fā)綜合項目 199
7.1 任務39:物聯(lián)網(wǎng)平臺控制操作 200
7.1.1 準備開發(fā)環(huán)境 200
7.1.2 啟動程序 200
7.1.3 搜索網(wǎng)絡 201
7.1.4 傳感器節(jié)點操作 202
7.2 任務40:智能網(wǎng)關程序 204
7.2.1 智能網(wǎng)關程序框架 204
7.2.2 智能網(wǎng)關服務程序解析 205
7.3 任務41:節(jié)點間通信協(xié)議 212
7.3.1 應用層通信協(xié)議解析 212
7.3.2 串口通信協(xié)議解析 214
7.3.3 協(xié)議棧通信協(xié)議解析 217
7.4 任務42:Android控制程序 218
7.4.1 Android用戶控制程序框架 218
7.4.2 導入Android用戶控制程序 226
7.5 任務43:ZigBee節(jié)點控制程序 228
7.5.1 節(jié)點工程介紹 229
7.5.2 傳感器介紹 230
7.5.3 傳感器底層代碼解析 231
7.6 任務44:添加自定義傳感器節(jié)點 239
7.6.1 定義節(jié)點間通信協(xié)議 239
7.6.2 編寫傳感器節(jié)點程序 239
7.6.3 編寫Android界面控制程序 244
第3篇 云平臺開發(fā)篇
第8章 云平臺項目開發(fā) 253
8.1 任務45:智云物聯(lián)開發(fā)基礎 254
8.1.1 智云物聯(lián)平臺介紹 254
8.1.2 智云物聯(lián)基本框架和常用硬件 254
8.1.3 智云物聯(lián)案例 255
8.1.4 開發(fā)前準備工作 256
8.2 任務46:智云平臺基本使用 256
8.2.1 學習目標 256
8.2.2 開發(fā)環(huán)境 256
8.2.3 原理學習 256
8.2.4 開發(fā)內(nèi)容 257
8.2.5 開發(fā)步驟 262
8.2.6 任務結(jié)論 267
8.3 任務47:通信協(xié)議 267
8.3.1 學習目標 267
8.3.2 開發(fā)環(huán)境 267
8.3.3 原理學習 267
8.3.4 開發(fā)內(nèi)容 272
8.3.5 開發(fā)步驟 273
8.3.6 任務結(jié)論 275
8.4 任務48:智云硬件驅(qū)動開發(fā) 275
8.4.1 學習目標 275
8.4.2 開發(fā)環(huán)境 276
8.4.3 原理學習 276
8.4.4 開發(fā)內(nèi)容 277
8.4.5 開發(fā)步驟 288
8.4.6 任務結(jié)論 290
8.5 任務49:智云Android應用接口 290
8.5.1 學習目標 290
8.5.2 開發(fā)環(huán)境 290
8.5.3 原理學習 290
8.5.4 開發(fā)內(nèi)容 296
8.5.5 開發(fā)步驟 313
8.5.6 任務結(jié)論 314
8.6 任務50:智云開發(fā)調(diào)試工具 314
8.6.1 學習目標 314
8.6.2 開發(fā)環(huán)境 314
8.6.3 原理學習 314
8.6.4 開發(fā)內(nèi)容 315
8.6.5 開發(fā)步驟 318
8.6.6 任務結(jié)論 320
8.7 任務51:云平臺應用 320
8.7.1 學習目標 320
8.7.2 開發(fā)環(huán)境 320
8.7.3 原理學習 320
8.7.4 開發(fā)內(nèi)容 321
8.7.5 開發(fā)步驟 327
8.7.6 任務結(jié)論 328
附錄A 無線節(jié)點讀取IEEE地址 329
附錄B 認識常用的傳感器 331
參考文獻 333