本書根據(jù)“1+X傳感網(wǎng)應(yīng)用開發(fā)”職業(yè)技能等級(jí)標(biāo)準(zhǔn)的要求,選用16個(gè)基于無線傳感網(wǎng)開發(fā)的實(shí)例,按照“理論夠用,突出應(yīng)用”的原則,采取項(xiàng)目化教學(xué)的方式,以作品制作為載體,采用在作品制作過程中穿插講解基礎(chǔ)知識(shí)和基本技能的方法,由淺入深地講解無線傳感網(wǎng)的開發(fā)方法,包括開發(fā)環(huán)境的搭建,用BasicRF遠(yuǎn)程控制LED燈,在BasicRF中用串口收發(fā)數(shù)據(jù),用Basic RF遠(yuǎn)程采集開關(guān)量、模擬量傳感數(shù)據(jù),ZStack中定時(shí)器、串口、NV存儲(chǔ)器等基本組件的應(yīng)用設(shè)計(jì),單播、廣播、組播通信實(shí)現(xiàn)方法,無線網(wǎng)絡(luò)的管理方法,ZStack中基于開關(guān)量傳感器、模擬量傳感器、邏輯量傳感器的無線傳感網(wǎng)的組建方法以及C語言程序設(shè)計(jì)技巧。本書立足于應(yīng)用實(shí)踐,融入了“1+X傳感網(wǎng)應(yīng)用開發(fā)”職業(yè)技能等級(jí)考證內(nèi)容和近年來全國(guó)職業(yè)技能大賽物聯(lián)網(wǎng)技術(shù)應(yīng)用賽項(xiàng)中感知層開發(fā)的內(nèi)容,摒棄了對(duì)復(fù)雜而深?yuàn)W的通信協(xié)議理論知識(shí)的講解,適用于高等職業(yè)院校物聯(lián)網(wǎng)、電子信息、智能產(chǎn)品設(shè)計(jì)、網(wǎng)絡(luò)及計(jì)算機(jī)專業(yè)作為無線組網(wǎng)技術(shù)課程的教材,也可作為應(yīng)用型本科和“1+X傳感網(wǎng)應(yīng)用開發(fā)”職業(yè)技能等級(jí)考試培訓(xùn)教材,還可供參加物聯(lián)網(wǎng)大賽和從事無線網(wǎng)絡(luò)組建的工程技術(shù)人員學(xué)習(xí)和參考。
李文華,男,教授,就職于浙江工貿(mào)職業(yè)技術(shù)學(xué)院,中國(guó)電子學(xué)會(huì)高級(jí)會(huì)員,長(zhǎng)期致力于電子信息、物聯(lián)網(wǎng)技術(shù)的相關(guān)教學(xué)
項(xiàng)目1 搭建無線傳感網(wǎng)的開發(fā)環(huán)境
任務(wù)1 準(zhǔn)備開發(fā)工具
任務(wù)要求
實(shí)現(xiàn)方法與步驟
1.準(zhǔn)備工具軟件
2.準(zhǔn)備開發(fā)板和仿真器
3.準(zhǔn)備傳感器模塊
實(shí)踐總結(jié)
任務(wù)2 安裝工具軟件
任務(wù)要求
實(shí)現(xiàn)方法與步驟
1.解壓工具軟件
2.安裝IAR集成開發(fā)工具
3.安裝SmartRF Flash Programmer和ZStack
4.安裝USB轉(zhuǎn)串口的驅(qū)動(dòng)程序
5.安裝仿真器驅(qū)動(dòng)程序
6.檢查驅(qū)動(dòng)程序安裝的結(jié)果
實(shí)踐總結(jié)
任務(wù)3 建立傳感網(wǎng)開發(fā)環(huán)境
任務(wù)要求
實(shí)現(xiàn)方法與步驟
1.新建工程
2.配置工程
3.編譯、連接程序
4.調(diào)試程序
5.下載程序
實(shí)踐總結(jié)
習(xí)題
項(xiàng)目2 基于Basic RF的無線傳感網(wǎng)的應(yīng)用設(shè)計(jì)
任務(wù)4 用Basic RF遠(yuǎn)程控制LED燈
任務(wù)要求
知識(shí)儲(chǔ)備
1.Basic RF軟件包
2.basicRfInit()函數(shù)
3.basicRfSendPacket()函數(shù)
4.?dāng)?shù)據(jù)接收中的相關(guān)函數(shù)
5.接收數(shù)據(jù)的方法
6.halButtonPushed()函數(shù)
7.發(fā)光二極管控制函數(shù)
8.延時(shí)函數(shù)
實(shí)現(xiàn)方法與步驟
1.準(zhǔn)備文件
2.編制開關(guān)發(fā)送程序文件switch.c
3.編制點(diǎn)燈程序文件light.c
4.編譯下載程序
程序分析
1.light.c文件中的代碼分析
2.switch.c文件中的代碼分析
實(shí)踐拓展
實(shí)踐總結(jié)
習(xí)題
任務(wù)5 在Basic RF中用串口收發(fā)數(shù)據(jù)
任務(wù)要求
知識(shí)儲(chǔ)備
1.新大陸公司的Basic RF軟件包
2.新大陸軟件包中有關(guān)串口的API函數(shù)
3.CC2530單片機(jī)的串口
實(shí)現(xiàn)方法與步驟
1.新建工程
2.配置工程
3.編制程序文件uartRF.c
4.編譯下載程序
5.運(yùn)行程序
程序分析
實(shí)踐拓展
實(shí)踐總結(jié)
習(xí)題
任務(wù)6 用Basic RF遠(yuǎn)程采集聲音傳感數(shù)據(jù)
任務(wù)要求
知識(shí)儲(chǔ)備
1.聲音傳感器的應(yīng)用特性
2.CC2530單片機(jī)中的I/O口
3.聲音傳感器的驅(qū)動(dòng)程序
4.在Basic RF中添加傳感器驅(qū)動(dòng)程序的方法
5.CC2530單片機(jī)中的定時(shí)器
6.新大陸B(tài)asic RF資源包中有關(guān)定時(shí)器的API函數(shù)
實(shí)現(xiàn)方法與步驟
1.搭建聲音傳感器的控制電路
2.新建工程
3.編制聲音傳感器驅(qū)動(dòng)程序文件
4.編制節(jié)點(diǎn)的程序文件
5.修改Basic RF軟件包中的定時(shí)時(shí)長(zhǎng)
6.新建節(jié)點(diǎn)設(shè)備
7.下載運(yùn)行程序
程序分析
1.SoundSensor.c文件中的代碼分析
2.SoundSensor.h文件中的代碼分析
3.Sensor.c文件中的代碼分析
4.Collector.c文件中的代碼分析
實(shí)踐拓展
實(shí)踐總結(jié)
習(xí)題
任務(wù)7 用Basic RF遠(yuǎn)程采集氣體傳感數(shù)據(jù)
任務(wù)要求
知識(shí)儲(chǔ)備
1.氣體傳感器的應(yīng)用特性
2.CC2530單片機(jī)中的ADC
3.ADC的寄存器
4.ADC應(yīng)用程序的編寫方法
5.Basic RF軟件包中的ADC函數(shù)
實(shí)現(xiàn)方法與步驟
1.搭建氣體傳感器的控制電路
2.編制氣體傳感器驅(qū)動(dòng)程序文件
3.編制節(jié)點(diǎn)的程序文件
4.下載運(yùn)行程序
程序分析
1.Collector.c文件中的代碼分析
2.Sensor.c文件中的代碼分析
實(shí)踐拓展
實(shí)踐總結(jié)
習(xí)題
項(xiàng)目3 ZStack中基本組件的應(yīng)用設(shè)計(jì)
任務(wù)8 在ZStack中控制LED閃爍
任務(wù)要求
知識(shí)儲(chǔ)備
1.協(xié)議與協(xié)議棧
2.ZigBee網(wǎng)絡(luò)中的設(shè)備
3.系統(tǒng)事件與用戶事件
4.osal_msg_receive()函數(shù)
5.osal_msg_deallocate()函數(shù)
6.osal_start_timerEx()函數(shù)
7.HalLedSet()函數(shù)
8.HalLedBlink()函數(shù)
實(shí)現(xiàn)方法與步驟
1.準(zhǔn)備文件
2.編寫協(xié)調(diào)器程序
3.編制頭文件Coordinator.h
4.修改OSAL_SampleApp.c文件
5.移除App組中的多余文件
6.編譯下載程序
程序分析
1.App組中的文件
2.Coordinator.c文件中的代碼分析
3.Coordinator.h文件中的代碼分析
實(shí)踐拓展
1.在無協(xié)調(diào)器的條件下運(yùn)行程序
2.在有協(xié)調(diào)器的條件下運(yùn)行程序
實(shí)踐總結(jié)
習(xí)題
任務(wù)9 在ZStack中用串口收發(fā)數(shù)據(jù)
任務(wù)要求
知識(shí)儲(chǔ)備
1.端口的概念
2.HalUARTOpen()函數(shù)
3.HalUARTRead()函數(shù)
4.HalUARTWrite()函數(shù)
5.osal_set_event()函數(shù)
6.osal_memcmp()函數(shù)
7.osal_strlen()函數(shù)
8.osal_memset()函數(shù)
實(shí)現(xiàn)方法與步驟
1.編制協(xié)調(diào)器的程序文件Coordinator.c
2.編制程序接口文件Coordinator.h
3.修改OSAL_SampleApp.c文件
4.程序編譯與下載運(yùn)行
程序分析
1.Coordinator.c文件中的代碼分析
2.OSAL_SampleApp.c文件中的代碼分析
3.OSAL工作原理分析
實(shí)踐拓展
用新任務(wù)處理串口數(shù)據(jù)
實(shí)踐總結(jié)
習(xí)題
任務(wù)10 在ZStack中用NV存儲(chǔ)器保存數(shù)據(jù)
任務(wù)要求
知識(shí)儲(chǔ)備
1.NV存儲(chǔ)器
2.osal_nv_item_init()函數(shù)
3.osal_nv_read()函數(shù)
4.osal_nv_write()函數(shù)
實(shí)現(xiàn)方法與步驟
1.定義用戶條目
2.編制協(xié)調(diào)器的程序文件
程序分析
實(shí)踐拓展
讀取節(jié)點(diǎn)的MAC地址
實(shí)踐總結(jié)
習(xí)題
項(xiàng)目4 用ZStack組建ZigBee網(wǎng)絡(luò)
任務(wù)11 用計(jì)算機(jī)控制遠(yuǎn)程節(jié)點(diǎn)上的燈
任務(wù)要求
知識(shí)儲(chǔ)備
1.?dāng)?shù)據(jù)包與消息
2.?dāng)?shù)據(jù)通信的3種方式
3.設(shè)備的地址
4.AF_DataRequest()函數(shù)
實(shí)現(xiàn)方法與步驟
1.編制協(xié)調(diào)器的程序文件
2.編制終端節(jié)點(diǎn)的程序文件
3.程序編譯與下載運(yùn)行
程序分析
1.Coordinator.c文件中的代碼分析
2.EndDevice.c文件中的代碼分析
實(shí)踐拓展
修改ZStack中LED的配置
實(shí)踐總結(jié)
習(xí)題
任務(wù)12 分組傳輸數(shù)據(jù)
任務(wù)要求
知識(shí)儲(chǔ)備
1.信道
2.PANID
3.組播通信的相關(guān)函數(shù)
4.組播通信的實(shí)現(xiàn)方法
實(shí)現(xiàn)方法與步驟
1.編程思路
2.編制節(jié)點(diǎn)的程序文件
3.設(shè)置PANID和信道
4.程序編譯與下載運(yùn)行
程序分析
實(shí)踐總結(jié)
習(xí)題
任務(wù)13 顯示網(wǎng)絡(luò)節(jié)點(diǎn)的地址
任務(wù)要求
知識(shí)儲(chǔ)備
1.協(xié)議棧中地址的分配機(jī)制
2.獲取地址的相關(guān)函數(shù)
實(shí)現(xiàn)方法與步驟
1.編制節(jié)點(diǎn)的程序文件
2.編制數(shù)值轉(zhuǎn)換的程序文件
3.新建User組
4.程序的編譯與下載運(yùn)行
程序分析
實(shí)踐拓展
繪制網(wǎng)絡(luò)拓?fù)鋱D
實(shí)踐總結(jié)
習(xí)題
項(xiàng)目5 基于ZStack無線傳感網(wǎng)的應(yīng)用設(shè)計(jì)
任務(wù)14 用ZStack制作遠(yuǎn)程防盜監(jiān)測(cè)器
任務(wù)要求
知識(shí)儲(chǔ)備
1.熱釋電紅外傳感器的應(yīng)用特性
2.在協(xié)議棧中添加傳感器驅(qū)動(dòng)程序的方法
實(shí)現(xiàn)方法與步驟
1.編制傳感器驅(qū)動(dòng)程序文件
2.編制協(xié)調(diào)器的程序文件
3.編制終端節(jié)點(diǎn)的程序文件
4.程序編譯與下載運(yùn)行
程序分析
實(shí)踐總結(jié)
習(xí)題
任務(wù)15 用ZStack制作遠(yuǎn)程光照信息采集器
任務(wù)要求
知識(shí)儲(chǔ)備
1.光敏電阻的特性
2.ZStack中的ADC函數(shù)
3.ZStack中ADC的使用方法
實(shí)現(xiàn)方法與步驟
1.編制節(jié)點(diǎn)的程序文件
2.程序編譯與下載運(yùn)行
程序分析
實(shí)踐總結(jié)
習(xí)題
任務(wù)16 用ZStack制作遠(yuǎn)程溫濕度 采集器
任務(wù)要求
知識(shí)儲(chǔ)備
1.MicroWait宏
2.DHT11的工作特性
3.DHT11的訪問操作
實(shí)現(xiàn)方法與步驟
1.搭建DHT11的控制電路
2.編制DHT11的驅(qū)動(dòng)程序文件
3.編制節(jié)點(diǎn)的程序文件
4.程序編譯與下載運(yùn)行
程序分析
實(shí)踐總結(jié)
習(xí)題
附錄A MFTOT-Z型開發(fā)板電路圖