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