電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用RIOT-OS的基于AWS的IoT虛擬環(huán)境站

使用RIOT-OS的基于AWS的IoT虛擬環(huán)境站

2023-06-19 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

概述

該項(xiàng)目是羅馬第一大學(xué)物聯(lián)網(wǎng)課程作業(yè)的第二部分。目的是建立一個(gè)基于亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)的虛擬環(huán)境站。建議檢查第一部分,因?yàn)樵诒局改现校僭O(shè)您已經(jīng)了解該論點(diǎn)的基礎(chǔ)知識(shí)。

該系統(tǒng)由兩個(gè) RIOT-OS 原生板組成,它們生成隨機(jī)環(huán)境數(shù)據(jù),并通過(guò) MQTT-SN ( Mosquitto ) 和一個(gè) MQTT 透明橋?qū)⑺鼈儼l(fā)送到 AWS。有用的鏈接部分,您可以找到指向我的 GitHub 存儲(chǔ)庫(kù)的鏈接,其中包含我使用的所有代碼和 YouTube 演示文稿。

MQTT-SN - 蚊子 RSMB

首先,您需要克隆此存儲(chǔ)庫(kù)并設(shè)置 RSMB(真正的小型消息代理):

  • > git clone https://github.com/eclipse/mosquitto.rsmb

然后,基本上你必須逐步按照自述文件中提供的說(shuō)明進(jìn)行操作,所以:

  • > cd mosquitto.rsmb/rsmb/src
    > make

之后,您必須在同一文件夾中創(chuàng)建一個(gè)名為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 偵聽(tīng)器,將 1886 端口用于 MQTT 偵聽(tīng)器作為標(biāo)準(zhǔn)端口。通過(guò)這些簡(jiǎn)單的步驟,您已經(jīng)配置了 MQTT-SN 代理,因此您可以使用以下命令運(yùn)行它:

  • > ./broker_mqttsn config.conf

現(xiàn)在代理已準(zhǔn)備好連接

pYYBAGOYf3-ALjVgAADkUfb7jeg394.png
蚊子跑
?

防暴操作系統(tǒng)

RIOT 是一個(gè)用于聯(lián)網(wǎng)、內(nèi)存受限系統(tǒng)的小型操作系統(tǒng),專注于低功耗無(wú)線物聯(lián)網(wǎng)設(shè)備。它是開(kāi)源軟件,根據(jù) GNU Lesser General Public License ( Wikipedia ) 發(fā)布。首先,顯然你必須下載和設(shè)置 RIOT-OS 和所有需要的組件:因?yàn)檫@是一個(gè)相當(dāng)長(zhǎng)但簡(jiǎn)單的過(guò)程,只需按照RIOT-OS 教程獲得下載的分步指南并獲得一些有用的教程來(lái)對(duì) RIOT-OS 充滿信心。之后,您可以克隆此存儲(chǔ)庫(kù)以獲取該項(xiàng)目的所有基本工具。請(qǐng)注意,請(qǐng)務(wù)必注意本指南中提到的每個(gè)文件的路徑!您將在名為的文件夾中工作在我的情況下位于home/RIOT/examples/emcute_mqttsn 的 emcute_mqttsn ;如果由于某種原因您有不同的路徑,則必須修改 Makefile 中的以下行(它顯然位于emcute_mqttsn文件夾中):

RIOTBASE ?= $(CURDIR)/../..

pYYBAGOYf4GAXlZgAAAtVDcN40M504.png
生成文件,第 8 行
?

此時(shí),您需要?jiǎng)?chuàng)建一個(gè)網(wǎng)橋、一些 Tap 接口(本例中為兩個(gè)),并且您需要為通信配置全局地址:

  • 文件夾中,輸入終端:您可以檢查一切是否順利,輸入:如果您在點(diǎn)擊接口時(shí)遇到問(wèn)題,請(qǐng)考慮:您可以刪除并重新設(shè)置接口!(最古老和最強(qiáng)大的解決方案......)
    > sudo ./RIOT/dist/tools/tapsetup/tapsetup -c 2

    > ifconfig | grep tap

    > sudo ./RIOT/dist/tools/tapsetup/tapsetup -d
  • 為tapbr0分配一個(gè)站點(diǎn)全局前綴
    > sudo ip a a fec0:affe::1/64 dev tapbr0
poYBAGOYf42ABLZVAACEUmrB8Ns806.png
Tap接口配置
?

另一方面,我們必須在 RIOT 板中設(shè)置通信,因此在文件夾RIOT/examples/emcute_mqttsn 中:

  • 類型:
    > sudo make all term PORT=tap0
  • 然后,在 RIOT 板上:
    > ifconfig 5 add fec0:affe::99

這是針對(duì)第一個(gè) RIOT 板的,但由于在這個(gè)項(xiàng)目中預(yù)計(jì)會(huì)有兩個(gè)虛擬站,當(dāng)您運(yùn)行第二個(gè)板時(shí),您必須選擇另一個(gè)抽頭,例如tap1,并且您必須更改最后一部分地址,例如使用 100 而不是 99。

pYYBAGOYf5KAReR8AAC3ZEU-FFs300.png
防暴設(shè)置
?

在繼續(xù)之前,先看一下代碼。對(duì)于這個(gè)項(xiàng)目,它大部分都使用了 RIOT-OS 存儲(chǔ)庫(kù)中可用的示例文件,并在需要時(shí)進(jìn)行了一些調(diào)整。該文件本質(zhì)上提供了具有基本功能的本機(jī)板,您可以簡(jiǎn)單地添加您需要的任何其他命令。在這種情況下,對(duì)命令 cmd_pub 進(jìn)行了輕微調(diào)整,添加了命令basic_pubcmd_start,以便以更舒適的方式運(yùn)行進(jìn)程。

poYBAGOYf5WAa_PEAAC6DZIXu6w534.png
cmd_start 概述
?

函數(shù)random_values提供了以非常簡(jiǎn)單的方式生成的隨機(jī)環(huán)境值;顯然,如果您有一個(gè)不同的名稱,您需要更改您將發(fā)布自己的數(shù)據(jù)的主題。

  • 現(xiàn)在你可以開(kāi)始在 RIOT board 中輸入:
    > start fec0:affe::1 1885 station1

請(qǐng)注意,1885是為 MQTT-SN 偵聽(tīng)器選擇的端口,station1是一個(gè)虛擬環(huán)境站的 ID。當(dāng)您運(yùn)行第二個(gè)站點(diǎn)時(shí),您還將使用端口 1885,但當(dāng)然是 ID 站點(diǎn)。從這一刻起,系統(tǒng)開(kāi)始生成隨機(jī)值并將它們發(fā)送給代理,每 10 秒一次。

?
?
?
pYYBAGOYf5iAaeXiAAC8_d1mOOM431.png
?
1 / 2 ?進(jìn)程啟動(dòng)
?

到 AWS 的 MQTT 透明橋

最后,由于不支持 MQTT-SN 和 AWS 之間的直接通信,因此您必須設(shè)置 MQTT 透明橋。您可以通過(guò)多種方式執(zhí)行此操作:在此項(xiàng)目中使用 Python 腳本來(lái)充當(dāng)透明橋梁并將數(shù)據(jù)存儲(chǔ)在 DynamoDB 中,但請(qǐng)注意,您也可以簡(jiǎn)單地使用.conf文件來(lái)執(zhí)行此操作,即使在本指南我們將不討論該方法。因?yàn)楫?dāng)您運(yùn)行網(wǎng)橋時(shí),您使用 Mosquitto 提供的一些默認(rèn)實(shí)用程序,位于mosquitto.rsmb/rsmb/src/MQTTSClient/Python,建議不要使用 Python3,否則您需要對(duì)這些實(shí)用程序進(jìn)行一些調(diào)整。大部分代碼與項(xiàng)目的前一部分相同;所以基本上你有一個(gè)功能來(lái)建立與 AWS 的連接和一些功能來(lái)發(fā)布和存儲(chǔ)數(shù)據(jù)。如果您需要更多信息,請(qǐng)?jiān)俅尾榭?/font>第一部分!

poYBAGOYf5-AOKviAACGupeNXbs907.png
回調(diào)類
?

新的是 Callback 類:它允許通過(guò)函數(shù)messageArrived發(fā)布和存儲(chǔ)每條消息(有效負(fù)載)到達(dá)。函數(shù)messageArrived處理 Mosquitto 的實(shí)用程序,因此建議不要更改參數(shù)的名稱。在這里,您也許可以找到一些其他有用的信息。您現(xiàn)在可以運(yùn)行橋接器,注意將其放置在正確的文件夾中:橋接器必須保留在文件夾mosquitto.rsmb/rsmb/src/MQTTSClient/Python 中;還要檢查之前運(yùn)行的 MQTT-SN 代理是否仍在工作。

  • 跑:
    > python bridge.py
poYBAGOYf6KAZ_JMAABjnOGlmzI246.png
經(jīng)紀(jì)人工作
?

現(xiàn)在透明網(wǎng)橋?qū)㈤_(kāi)始接收來(lái)自 RIOT 的隨機(jī)負(fù)載并將它們存儲(chǔ)在數(shù)據(jù)庫(kù)中。請(qǐng)注意,環(huán)境數(shù)據(jù)將顯示在第一部分介紹的同一個(gè)Web 應(yīng)用程序(localhost)上!

系統(tǒng)如何運(yùn)作

該代碼在我的 Github 存儲(chǔ)庫(kù)中可用,顯然,如果您想使用它,您必須更改一些參數(shù),例如端點(diǎn)和證書的路徑。如果一切都已正確完成,您可以按以下方式運(yùn)行系統(tǒng)(每一步都需要一個(gè)單獨(dú)的終端):

  • (可選)運(yùn)行 localhost 頁(yè)面鍵入:該文件位于django_web文件夾中
    > python3 manage.py runserver
  • 運(yùn)行 MQTT-SN 代理:
    > ./broker_mqttsn config.conf
  • 設(shè)置分接橋和一些接口(RIOT-OS 部分)并分配站點(diǎn)全局前綴
  • 為每個(gè)站點(diǎn)制作、配置和運(yùn)行一些具有不同 ID 的 RIOT 板(RIOT-OS 部分)
  • 運(yùn)行透明網(wǎng)橋:
    > python bridge.py

如果一切正常,您應(yīng)該會(huì)看到如下內(nèi)容:

pYYBAGOYf6aAYEgwAAJqR1IWXqY808.png
系統(tǒng)工作
?

有用的鏈接


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)