資料介紹
描述
你好,為了更好地理解這篇文章,我建議你閱讀上一篇關于第一部分的鏈接:使用谷歌云物聯網和MQTT的環境站
這一次,在上一篇文章中開發的基于云的組件之上構建,我不得不將虛擬環境站替換為使用RIOT-OS和MQTT-SN協議構建的新環境站。
結構概述
這里的組件:
![poYBAGOADMOAJpQ9AAIX5qzP9ck785.png](https://file.elecfans.com/web2/M00/7D/91/poYBAGOADMOAJpQ9AAIX5qzP9ck785.png)
- 2(或更多)由RIOT-OS實現的設備,它們能夠使用本機模擬器生成隨機值或真實硬件;
- 一個MQTT-SN代理(本例中為mosquitto.rsmb ),用于將所有消息從設備轉發到網關;
- 一個簡單的網關(或透明橋),由Python 實現,用于從RIOT-OS設備收集數據并將其發送到谷歌云平臺;
- 谷歌云平臺,提供Cloud IoT 核心和Pub/Sub API,用于管理連接、設備以及與 Web 應用程序交換的消息;
- 使用nodejs + express和一些其他相關框架構建的 web 應用程序;
- 用于存儲的Mongodb NoSQL 數據庫程序;
注意:我的github上提供的代碼適用于我的個人 google 帳戶上的憑據。我沒有上傳密鑰,如果你想運行它,你需要自己設置。
RIOT-OS 簡介
RIOT 是一種小型實時多線程操作系統,適用于網絡化、內存受限的系統,專注于低功耗無線物聯網 (IoT) 設備。它是開源軟件,根據 GNU 寬通用公共許可證 ( LGPL ) 發布。
它基于以下設計原則:能效、實時能力、內存占用小、模塊化和統一的 API 訪問,獨立于底層硬件。
它支持多個驅動程序,允許用戶開箱即用。此外,依賴于硬件的代碼被減少到最低限度,并從內核本身中抽象出來。
![poYBAGOYB2OAGxlkAAEOPzOt5IE123.png](https://file.elecfans.com/web2/M00/83/1C/poYBAGOYB2OAGxlkAAEOPzOt5IE123.png)
這些特性,以及在多個平臺上運行的可能性,包括嵌入式設備以及普通 PC(帶有“本機板”),使 RIOT-OS 成為構建物聯網系統的絕佳選擇。
為什么選擇 MQTT-SN?
MQTT-SN 被設計為盡可能接近 MQTT,但它適應無線通信環境的特殊性,如低帶寬、高鏈路故障、短消息長度等。它還針對低帶寬的實現進行了優化。 - 成本低、處理和存儲資源有限的電池供電設備。
![pYYBAGOYB2iAVoeuAADEnhmmYHY572.png](https://file.elecfans.com/web2/M00/83/A5/pYYBAGOYB2iAVoeuAADEnhmmYHY572.png)
但是,MQTT-SN 不是 MQTT,因此它需要一個透明網關,它是一個守護進程或小型服務器,它通過多個傳輸接收傳入的 MQTT-SN 數據并將它們轉換為適合連接到 MQTT 服務器的 MQTT。
網關設置
假設您已經完成了上一篇文章“云平臺設置”部分的說明,還需要以下步驟才能使這部分工作:
- 網關被谷歌云平臺識別為簡單設備,那么您需要將其添加到之前創建的設備集中。這里刷新一下如何做到這一點:https ://cloud.google.com/iot/docs/how-tos/devices?authuser=1 ;
- 將 root.pem 證書的副本(之前生成的)放在devices_RIOT/gateway文件夾中;
![poYBAGOYB3eAHa1hAAGlcQuZoQ0972.png](https://file.elecfans.com/web2/M00/83/1C/poYBAGOYB3eAHa1hAAGlcQuZoQ0972.png)
- 打開gateway.py文件并更改頂部的設置部分,以將其與您的配置文件連接:
# SETUP
project_id = 'your_project_ID'
registry_id = 'your_register_ID'
cloud_region = 'your_region'
device_id = 'your_device_ID'
sub_topic = 'your_topic'
- 然后運行:
$ python gateway_RIOT.py
原生板
在本節中,我將展示如何設置項目以使其在本機板模擬器上運行,這樣您就可以在筆記本電腦上簡單地試用它而無需外部板。
- 由于代碼基于emcute_mqttsn示例,因此部分設置也非常相似。因此,要運行 mosquitto RSMB (真正的小型消息代理),只需按照以下鏈接中“設置代理”部分的說明進行操作:https ://github.com/RIOT-OS/RIOT/tree/master/示例/emcute_mqttsn
- 由于我們使用的是原生板,我們還需要在devices_RIOT文件夾中設置運行這兩個命令的虛擬網絡接口:
$ sudo ./RIOT/dist/tools/tapsetup/tapsetup
$ sudo ip a a fec0:affe::1/64 dev tapbr0
- 選擇一個設備文件夾并通過以下方式運行它:
$ BOARD=native make all term PORT=tap0
- 此時,我們應該有這種情況,左邊是設備,右上角是蚊子代理,右下角是網關
![pYYBAGOYB5mAEoJ-AAimxOlMjU4837.png](https://file.elecfans.com/web2/M00/83/A5/pYYBAGOYB5mAEoJ-AAimxOlMjU4837.png)
- 要完成設置,請在設備終端上(已經工作!),運行以下兩個命令:
> ifconfig 5 add fec0:affe::99
> con fec0:affe::1 1885
-
現在,設備已連接到代理并準備好使用 pub/sub 范例的所有功能。要查看所有功能運行命令
help
,否則,直接開始自主發送,只需運行:
> start ...
- 這是最后的情況
![poYBAGOYB9SAMSxeAA2gBvEhwPg728.png](https://file.elecfans.com/web2/M00/83/1D/poYBAGOYB9SAMSxeAA2gBvEhwPg728.png)
正如我們所見,RIOT 設備通過 MQTT-SN 代理將遙測數據發送到網關,網關最終將它們發送到谷歌云平臺。
結論
總之,該應用程序現在能夠從之前實現的虛擬設備和新的 RIOT-OS 實現中檢索數據。
其他一些有用的設置鏈接是:
對于下一個任務:
- 如何使用Google Firebase制作IoT設備
- 使用AWS的IoT環境站第2部分
- 使用LoRaWAN和TTN在IoT實驗室測試RIOT-OS設備
- 使用谷歌云物聯網和MQTT的環境站
- 連接到AWS IoT的RIOT-OS應用程序
- 使用RIOT-OS的基于AWS的IoT虛擬環境站
- 如何輕松實現MQTT接入阿里云IoT平臺
- MQTT接入阿里云IoT平臺使用說明
- 全志T3開發板 ARM CortexA7——MQTT通信協議
- RIOT-OS實時多線程IoT操作系統
- RIOT-OS入門 Windows系統下在STM32上運行RIOT OS
- 如何使用MQTT客戶端連接阿里云MQTT服務器詳細教程說明
- MQTT是什么?物聯網開發入門之物聯網標準通信協議-MQTT詳細資料概述 33次下載
- 物聯網流行協議MQTT的中文版詳細資料免費下載 27次下載
- MQTT物聯網網關的常見類型 31次下載
- 【教程】設備通過MQTT協議接入OneNET平臺,建立可視化界面 1030次閱讀
- 項目分享|基于ELF 1開發板的MQTT遠程溫濕度監測系統 542次閱讀
- MQTT和Modbus協議的區別 3111次閱讀
- paho-mqtt模塊實戰 1369次閱讀
- MQTT協議的概念和主要特性 MQTT協議于物聯網有何好處 2558次閱讀
- 盤點2023年值得嘗試的MQTT客戶端工具 5330次閱讀
- MQTT協議簡介及協議原理 7134次閱讀
- 怎么實現IoT網關開源 1373次閱讀
- MQTT是什么? 1.3w次閱讀
- 用小凌派RK2206開發板實現基于OpenHarmony阿里云IoT服務的教程 2933次閱讀
- 小凌派RK2206開發板:實現基于OpenHarmony的本地MQTT協議 4964次閱讀
- 如何移植MQTT物聯網通信協議 4473次閱讀
- MQTT工業級無線路由器的特點 1747次閱讀
- 了解物聯網云服務之概貌,以進一步學習了解IoT 6150次閱讀
- google glass為何停產_google眼鏡為什么失敗 2.2w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論