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