物聯網實驗2 協議棧剖析
1 實驗目的
(1)熟悉SampleApp工程;
(2)掌握Zigbee的組網,資料點播、廣播;
(3)熟悉協議棧的串列埠。
2 實驗環境
(1)硬體:CC2530節點板2塊,CC2530模擬器,PC 機;
(2)軟體:Windows 7/Windows XP,IAR整合開發環境。
3 實驗內容
(1)在SampleApp工程中新增點播程式碼;
(2)在SampleApp工程中新增串列埠功能,實現串列埠的接收和傳送;實現兩臺電腦的串列埠射頻無線資料傳輸。
4 實驗預習要求
仔細閱讀第3篇Zstack協議棧剖析的PPT內容,理解組網、點播和廣播,熟悉SampleApp工程中的資料傳送和接收函式,熟悉串列埠的使用。
5 實驗步驟
由於原始碼zigbee網路PAN ID均設定為0xFFF1,為了避免實驗環境下多個實驗平臺之間網路互相串擾,每個實驗平臺需要修改PAD ID,修改工程內檔案:Tools -> f8wConfig.cfg,將PAN ID修改為:個人學號的後四位+100
A、在SampleApp工程中新增點播程式碼
:
(1)解壓ZStack-CC2530-2.3.0-1.4.0.rar壓縮包
(2)開啟SampleApp工程,注意軟體版本使用IAR8.20
(3)在SampleApp.c檔案的對應位置新增下圖所示的程式碼,對點播通訊定義
(4)在SampleApp.c檔案的SampleApp_Init()函式對應位置新增下圖所示的程式碼,對點播引數進行賦值
(5)由於協調器不進行點播,故週期任務初始化時協調器不初始化,所以將它註釋掉。在SampleApp.c檔案的SampleApp_Init()函式對應位置註釋相應程式碼
(6)在SampleApp.c檔案的最後新增點播傳送函式的實現程式碼
(7)在SampleApp.h檔案的相應位置新增點播傳送簇的定義
(8)在SampleApp.c檔案的SampleApp_ProcessEvent()函式裡,找到相應位置,將廣播傳送函式註釋掉,加上點播傳送函式
(9)在SampleApp.c中修改SampleApp_MessageMSGCB ()函式,完成點播資料的接收。把傳送的內容顯示出來。自己程式設計實現!!!
(10)至此,點播通訊相關的程式碼新增完畢,嘗試編譯,直至編譯成功,繼續第二部分內容。
B、在第一部分的基礎上,在SampleApp工程中新增串列埠功能,實現串列埠的接收和傳送;實現兩臺電腦的串列埠射頻無線資料傳輸:
(1)在SampleApp.c檔案的開始位置新增下圖所示的程式碼,把串列埠需要的標頭檔案包含進來
(2)在SampleApp.c檔案的SampleApp_Init()函式裡新增串列埠的初始化函式
使用HalUARTWrite()函式在這裡輸出自己的姓名首字母和學號後4位。
(3)在MT_UART.h檔案中找到下圖相應程式碼位置,也可以在MT_UartInit()函式中進去查詢,關閉流控制和修改波特率為115200
在OnBoard.h檔案中找到下圖位置修改程式碼,也可以在MT_UartInit()函式中進去查詢
在MT_UART.c檔案的MT_UartInit()函式中找到下圖位置,修改程式碼
(4)註釋協調器的MT層和ZTOO_P1相關的巨集,開啟ZAPP_P1巨集。新增HOLD_AUTO_START和ZAPP_P1,註釋xZTOOL_P1、xMT_TASK、xMT_SYS_FUNC、xMT_ZDO_FUNC、xBUILD_ALL_DEVICES。
5)註釋終端節點的MT層和ZTOO_P1相關的巨集,開啟ZAPP_P1巨集。新增HOLD_AUTO_START和ZAPP_P1,註釋xZTOOL_P1、xMT_TASK、xMT_SYS_FUNC、xMT_ZDO_FUNC、xLCD_SUPPORTED=DEBUG、xNWK_AUTO_POLL。參照上圖!!!
(6)在MT_UART.c中找到函式void MT_UartProcessZAppData ( uint8 port, uint8 event ) ,註釋流控制功能程式碼。
(7)在SampleApp.c檔案中宣告一個結構體用於資料傳遞,並宣告串列埠接收處理函式。
8)在SampleApp.c檔案的最後新增串列埠接收處理的函式實現程式碼
(9)在SampleApp.c檔案的SampleApp_ProcessEvent()函式中新增串列埠事件處理
(10)完善點播/廣播接收的程式碼,在接收到點播/廣播資料後使用串列埠輸出到電腦
(11)分別編譯下載程式
(12)分別下載到實驗箱中的兩個模組,一個終端節點一個協調器,分別連線上串列埠線,並開啟串列埠除錯助手,注意選擇COM口,嘗試使用串列埠除錯助手互相傳送資料,觀察現象。
正常現象:兩個模組上電時會輸出自己的姓名首字母和學號後4位(如果不能輸出,可能程式錯誤或者串列埠連線線有問題,檢查硬體連線),終端節點會定時點播資料到協調器,所以協調器的串列埠會間隔輸出0123456789的字元(嘗試定時傳送輸出自己的姓名首字母和學號後4位),使用串列埠除錯助手可以互相進行資料無線透傳。
相關文章
- 物聯網實驗4:基於協議棧的感測器應用2協議
- 物聯網 - 工業物聯 modbus 通訊協議介紹與測試經驗分享協議
- 常用物聯網應用層協議(1)——先說HTTP協議協議HTTP
- MQTT物聯網通訊協議入門及Demo實現MQQT協議
- 主流物聯網協議選擇:MQTT、CoAP 還是 LwM2M?協議MQQT
- 物聯網協議之MQTT原始碼分析(二)協議MQQT原始碼
- 物聯網協議之MQTT原始碼分析(一)協議MQQT原始碼
- 實驗五——————RIPv2協議配置協議
- MQTT協議與阿里雲IoT物聯網平臺MQQT協議阿里
- [計算機網路]協議棧計算機網路協議
- 五層因特網協議棧協議
- 物聯網開發技術棧
- zstack協議棧協議
- 全球數億物聯網裝置受影響!騰訊報告首個LoRaWAN協議棧通用漏洞協議
- EMQX 5.0 全新閘道器框架:輕鬆實現多物聯網協議接入MQ框架協議
- Android與物聯網裝置通訊-UDP&TCP協議AndroidUDPTCP協議
- 物聯網第一次實驗
- 物信鏈釋出PDash資料共享協議,物聯網迎來資料互聯時代協議
- 1、zstack協議棧協議
- 物聯網安全創新聯合實驗室:2019物聯網終端安全白皮書(附下載)
- 物聯網多協議、多場景自定義測試|XMeter Cloud 更新協議Cloud
- 實驗七————EIGRP協議配置協議
- 實驗六——————OSPF協議配置協議
- 從零開始上手 MQTT over QUIC:快速體驗下一代物聯網標準協議MQQTUI協議
- 《計算機網路微課堂》實驗2 MAC地址,IP地址,ARP協議計算機網路Mac協議
- 一個簡單混合協議通訊列子,物聯網和網際網路通訊。協議
- 物聯網時代 跟著Thingsboard學IOT架構-CoAP裝置協議架構協議
- 物聯網時代-跟著Thingsboard學IOT架構-MQTT裝置協議架構MQQT協議
- 實驗四————RIP協議的配置協議
- 計算機網路學習筆記(10) TCP/IP協議棧 之TELNET協議計算機網路筆記TCP協議
- 體育總局與無錫簽署體育物聯網建設協議協議
- 【物聯網】通過mqtt協議使用wifi遠端控制你的智慧裝置MQQT協議WiFi
- 實驗十二————VLAN路由及STP協議路由協議
- 實驗十五————動態路由協議RIP路由協議
- 物聯網 實驗一 掌控版的使用 智慧燈和MQTTMQQT
- 車聯網場景中的 MQTT 協議MQQT協議
- 【無線通訊篇 | Zstack協議棧】CC2530 Zigbee Zstack協議棧組網專案及詳細講解篇協議
- 【物聯大師】之物聯網養魚工程實踐