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