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