資料介紹
描述
概述
該項目是羅馬第一大學(xué)物聯(lián)網(wǎng)課程作業(yè)的第二部分。目的是建立一個基于亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)的虛擬環(huán)境站。建議檢查第一部分,因為在本指南中,假設(shè)您已經(jīng)了解該論點的基礎(chǔ)知識。
該系統(tǒng)由兩個 RIOT-OS 原生板組成,它們生成隨機環(huán)境數(shù)據(jù),并通過 MQTT-SN ( Mosquitto ) 和一個 MQTT 透明橋?qū)⑺鼈儼l(fā)送到 AWS。在有用的鏈接部分,您可以找到指向我的 GitHub 存儲庫的鏈接,其中包含我使用的所有代碼和 YouTube 演示文稿。
MQTT-SN - 蚊子 RSMB
首先,您需要克隆此存儲庫并設(shè)置 RSMB(真正的小型消息代理):
-
> git clone https://github.com/eclipse/mosquitto.rsmb
然后,基本上你必須逐步按照自述文件中提供的說明進行操作,所以:
-
> cd mosquitto.rsmb/rsmb/src
> make
之后,您必須在同一文件夾中創(chuàng)建一個名為config.conf的新文件,其中包含:
-
# Uncomment this to show you packets being sent and received
#trace_output protocol
# Normal MQTT listener
listener 1883 INADDR_ANY
ipv6 true
# MQTT-SN listener
listener 1883 INADDR_ANY mqtts
ipv6 true
即使這是 README 中提供的示例配置,建議將 1885 端口用于 MQTT-SN 偵聽器,將 1886 端口用于 MQTT 偵聽器作為標(biāo)準端口。通過這些簡單的步驟,您已經(jīng)配置了 MQTT-SN 代理,因此您可以使用以下命令運行它:
-
> ./broker_mqttsn config.conf
現(xiàn)在代理已準備好連接
防暴操作系統(tǒng)
RIOT 是一個用于聯(lián)網(wǎng)、內(nèi)存受限系統(tǒng)的小型操作系統(tǒng),專注于低功耗無線物聯(lián)網(wǎng)設(shè)備。它是開源軟件,根據(jù) GNU Lesser General Public License ( Wikipedia ) 發(fā)布。首先,顯然你必須下載和設(shè)置 RIOT-OS 和所有需要的組件:因為這是一個相當(dāng)長但簡單的過程,只需按照RIOT-OS 教程獲得下載的分步指南并獲得一些有用的教程來對 RIOT-OS 充滿信心。之后,您可以克隆此存儲庫以獲取該項目的所有基本工具。請注意,請務(wù)必注意本指南中提到的每個文件的路徑!您將在名為的文件夾中工作在我的情況下位于home/RIOT/examples/emcute_mqttsn 的 emcute_mqttsn ;如果由于某種原因您有不同的路徑,則必須修改 Makefile 中的以下行(它顯然位于emcute_mqttsn文件夾中):
RIOTBASE ?= $(CURDIR)/../..
此時,您需要創(chuàng)建一個網(wǎng)橋、一些 Tap 接口(本例中為兩個),并且您需要為通信配置全局地址:
-
在主文件夾中,輸入終端:您可以檢查一切是否順利,輸入:如果您在點擊接口時遇到問題,請考慮:您可以刪除并重新設(shè)置接口!(最古老和最強大的解決方案......)
> sudo ./RIOT/dist/tools/tapsetup/tapsetup -c 2
> ifconfig | grep tap
> sudo ./RIOT/dist/tools/tapsetup/tapsetup -d
-
為tapbr0分配一個站點全局前綴:
> sudo ip a a fec0:affe::1/64 dev tapbr0
另一方面,我們必須在 RIOT 板中設(shè)置通信,因此在文件夾RIOT/examples/emcute_mqttsn 中:
-
類型:
> sudo make all term PORT=tap0
-
然后,在 RIOT 板上:
> ifconfig 5 add fec0:affe::99
這是針對第一個 RIOT 板的,但由于在這個項目中預(yù)計會有兩個虛擬站,當(dāng)您運行第二個板時,您必須選擇另一個抽頭,例如tap1,并且您必須更改最后一部分地址,例如使用 100 而不是 99。
在繼續(xù)之前,先看一下代碼。對于這個項目,它大部分都使用了 RIOT-OS 存儲庫中可用的示例文件,并在需要時進行了一些調(diào)整。該文件本質(zhì)上提供了具有基本功能的本機板,您可以簡單地添加您需要的任何其他命令。在這種情況下,對命令 cmd_pub 進行了輕微調(diào)整,并添加了命令basic_pub和cmd_start,以便以更舒適的方式運行進程。
函數(shù)random_values提供了以非常簡單的方式生成的隨機環(huán)境值;顯然,如果您有一個不同的名稱,您需要更改您將發(fā)布自己的數(shù)據(jù)的主題。
-
現(xiàn)在你可以開始在 RIOT board 中輸入:
> start fec0:affe::1 1885 station1
請注意,1885是為 MQTT-SN 偵聽器選擇的端口,station1是一個虛擬環(huán)境站的 ID。當(dāng)您運行第二個站點時,您還將使用端口 1885,但當(dāng)然是 ID 站點。從這一刻起,系統(tǒng)開始生成隨機值并將它們發(fā)送給代理,每 10 秒一次。
到 AWS 的 MQTT 透明橋
最后,由于不支持 MQTT-SN 和 AWS 之間的直接通信,因此您必須設(shè)置 MQTT 透明橋。您可以通過多種方式執(zhí)行此操作:在此項目中使用 Python 腳本來充當(dāng)透明橋梁并將數(shù)據(jù)存儲在 DynamoDB 中,但請注意,您也可以簡單地使用.conf文件來執(zhí)行此操作,即使在本指南我們將不討論該方法。因為當(dāng)您運行網(wǎng)橋時,您使用 Mosquitto 提供的一些默認實用程序,位于mosquitto.rsmb/rsmb/src/MQTTSClient/Python,建議不要使用 Python3,否則您需要對這些實用程序進行一些調(diào)整。大部分代碼與項目的前一部分相同;所以基本上你有一個功能來建立與 AWS 的連接和一些功能來發(fā)布和存儲數(shù)據(jù)。如果您需要更多信息,請再次查看第一部分!
新的是 Callback 類:它允許通過函數(shù)messageArrived發(fā)布和存儲每條消息(有效負載)到達。函數(shù)messageArrived處理 Mosquitto 的實用程序,因此建議不要更改參數(shù)的名稱。在這里,您也許可以找到一些其他有用的信息。您現(xiàn)在可以運行橋接器,注意將其放置在正確的文件夾中:橋接器必須保留在文件夾mosquitto.rsmb/rsmb/src/MQTTSClient/Python 中;還要檢查之前運行的 MQTT-SN 代理是否仍在工作。
-
跑:
> python bridge.py
現(xiàn)在透明網(wǎng)橋?qū)㈤_始接收來自 RIOT 的隨機負載并將它們存儲在數(shù)據(jù)庫中。請注意,環(huán)境數(shù)據(jù)將顯示在第一部分介紹的同一個Web 應(yīng)用程序(localhost)上!
系統(tǒng)如何運作
該代碼在我的 Github 存儲庫中可用,顯然,如果您想使用它,您必須更改一些參數(shù),例如端點和證書的路徑。如果一切都已正確完成,您可以按以下方式運行系統(tǒng)(每一步都需要一個單獨的終端):
-
(可選)運行 localhost 頁面鍵入:該文件位于django_web文件夾中
>
python3 manage.py runserver
-
運行 MQTT-SN 代理:
> ./broker_mqttsn config.conf
- 設(shè)置分接橋和一些接口(RIOT-OS 部分)并分配站點全局前綴
- 為每個站點制作、配置和運行一些具有不同 ID 的 RIOT 板(RIOT-OS 部分)
-
運行透明網(wǎng)橋:
> python bridge.py
如果一切正常,您應(yīng)該會看到如下內(nèi)容:
有用的鏈接
- 基于AWS的物聯(lián)網(wǎng)虛擬環(huán)境站
- 使用AWS的IoT環(huán)境站第2部分
- 使用LoRaWAN和TTN在IoT實驗室測試RIOT-OS設(shè)備
- 使用RIOT/Google IoT/MQTT的環(huán)境站
- 連接到AWS IoT的RIOT-OS應(yīng)用程序
- 使用RIOT OS控制外部LED 0次下載
- 用于PIC IoT和AVR IoT的AWS應(yīng)用程序
- 基于RIOT OS的LoRa信號的被動數(shù)據(jù)包嗅探應(yīng)用程序
- RIOT-OS實時多線程IoT操作系統(tǒng)
- RIOT-OS入門 Windows系統(tǒng)下在STM32上運行RIOT OS
- 虛擬現(xiàn)實技術(shù)在機器人臂靈巧手遙操作中的應(yīng)用 22次下載
- 調(diào)整AVR-IoT WG的用途以連接到AWS 10次下載
- 機器視覺智能車虛擬環(huán)境的搭建_鄒斌 1次下載
- 機器人操作虛擬環(huán)境的研究 38次下載
- 協(xié)同虛擬環(huán)境中的并發(fā)控制機制
- Matter IDT工具使用步驟(一) 461次閱讀
- 虛擬現(xiàn)實技術(shù)應(yīng)用在哪些方面 1822次閱讀
- 如何在RT-Thread OS環(huán)境下使用ncnn進行AI推理 1107次閱讀
- 創(chuàng)建Root權(quán)限虛擬環(huán)境 1051次閱讀
- 使用vRealize Automation REST API置備虛擬機以進行軟件開發(fā) 1019次閱讀
- Visual Studio Code Python使用新的創(chuàng)建環(huán)境命令簡化項目設(shè)置 1217次閱讀
- 虛擬機:Ubuntu安裝C Sharp開發(fā)環(huán)境 3070次閱讀
- 虛擬機:Ubuntu安裝R語言環(huán)境 2776次閱讀
- python如何配置虛擬環(huán)境? 893次閱讀
- python虛擬環(huán)境遷移4大關(guān)鍵步驟 3312次閱讀
- 3D磁傳感器,可以增強虛擬環(huán)境中的真實感 1872次閱讀
- 基于ML-Agents v0.4,在Unity 2018搭建的虛擬城市環(huán)境中訓(xùn)練了一輛自動駕駛車輛 8650次閱讀
- 什么是虛擬化?什么是Docker ?Docker容器與虛擬機區(qū)別 2.3w次閱讀
- Xilinx 軟件定義開發(fā)環(huán)境 SDAccel上線 AWS 5483次閱讀
- 工業(yè)機器人虛擬樣機系統(tǒng)的研究 1385次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 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十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多