使用LoRaWAN和TTN在IoT實(shí)驗(yàn)室測(cè)試RIOT-OS設(shè)備
資料介紹
結(jié)構(gòu)概述
- 2 個(gè)(或更多)B-L072Z-LRWAN1 LoRa 套件在 IoT-LAB 測(cè)試臺(tái)上運(yùn)行
- 物聯(lián)網(wǎng)基礎(chǔ)設(shè)施
- 一個(gè)簡單的網(wǎng)關(guān)(或透明橋),由Python 實(shí)現(xiàn),用于從 TTN 基礎(chǔ)設(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è)置。
IoT-LAB簡介
IoT-LAB 是一個(gè)開放的測(cè)試平臺(tái),它提供了一個(gè)非常大規(guī)模的基礎(chǔ)設(shè)施,適用于測(cè)試小型無線傳感器設(shè)備和異構(gòu)通信對(duì)象。
![pYYBAGOYMVqAc0tKAAItjGl0njc935.png](https://file.elecfans.com/web2/M00/83/BD/pYYBAGOYMVqAc0tKAAItjGl0njc935.png)
它具有分布在法國六個(gè)不同地點(diǎn)的 1500 多個(gè)無線傳感器節(jié)點(diǎn)。節(jié)點(diǎn)既可以是固定的,也可以是移動(dòng)的,并且可以在所有站點(diǎn)中以各種拓?fù)溥M(jìn)行分配。有多種無線傳感器可用,具有不同的處理器架構(gòu)和不同的無線芯片。
由于我們沒有兼容 LoRa 的硬件,因此使用測(cè)試平臺(tái)是在真實(shí)硬件上進(jìn)行測(cè)試的最佳選擇。
LoRaWAN 技術(shù)
LoRaWAN? 規(guī)范是一種低功耗、廣域 (LPWA) 網(wǎng)絡(luò)協(xié)議,旨在將電池供電的“事物”無線連接到區(qū)域、國家或全球網(wǎng)絡(luò)中的互聯(lián)網(wǎng),并針對(duì)關(guān)鍵的物聯(lián)網(wǎng) (IoT) 要求,例如雙向定向通信、端到端安全、移動(dòng)性和本地化服務(wù)。它定義了網(wǎng)絡(luò)的通信協(xié)議和系統(tǒng)架構(gòu),而 LoRa 物理層則支持遠(yuǎn)程通信鏈路。
![poYBAGOYMWKAE8yAAAGyaMs8ADI699.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMWKAE8yAAAGyaMs8ADI699.png)
LoRaWAN? 網(wǎng)絡(luò)中的節(jié)點(diǎn)是異步的,當(dāng)它們準(zhǔn)備好發(fā)送數(shù)據(jù)時(shí)進(jìn)行通信,無論是事件驅(qū)動(dòng)的還是調(diào)度的,避免了同步網(wǎng)絡(luò)典型的電池消耗。此外,為了優(yōu)化各種終端應(yīng)用配置文件,LoRaWAN? 使用不同的設(shè)備類別。設(shè)備類別權(quán)衡網(wǎng)絡(luò)下行鏈路通信延遲與電池壽命。
LoRaWAN? 利用兩層安全性:一層用于網(wǎng)絡(luò),一層用于應(yīng)用程序。網(wǎng)絡(luò)安全確保網(wǎng)絡(luò)中節(jié)點(diǎn)的真實(shí)性,而應(yīng)用安全層確保網(wǎng)絡(luò)運(yùn)營商無權(quán)訪問最終用戶的應(yīng)用數(shù)據(jù)。AES-128 加密與使用 IEEE EUI64 標(biāo)識(shí)符的密鑰交換一起使用。
TheThingsNetwork 概述和設(shè)置
The Things Network 是 LoRa Alliance? 的貢獻(xiàn)者成員,LoRa Alliance? 是一個(gè)由 500 多家成員公司組成的非營利性協(xié)會(huì),致力于通過開發(fā)和推廣低功耗廣域網(wǎng) (LPWAN) 物聯(lián)網(wǎng)來實(shí)現(xiàn)大規(guī)模部署。 LoRaWAN? 開放標(biāo)準(zhǔn)。
![poYBAGOYMWaAGVksAAEBba5Bg9s803.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMWaAGVksAAEBba5Bg9s803.png)
網(wǎng)關(guān)構(gòu)成了設(shè)備和物聯(lián)網(wǎng)之間的橋梁,而物聯(lián)網(wǎng)的后端系統(tǒng)負(fù)責(zé)在設(shè)備和應(yīng)用程序之間路由物聯(lián)網(wǎng)數(shù)據(jù)。事實(shí)上,諸如 LoRaWAN? 之類的非 IP 協(xié)議需要某種形式的路由和處理,然后才能將消息傳遞到應(yīng)用程序。
TTN 和網(wǎng)橋設(shè)置
Things Network Web 界面使這些步驟變得非常簡單:
- 首先,訪問https://www.thethingsnetwork.org/并創(chuàng)建一個(gè)帳戶;
- 轉(zhuǎn)到控制臺(tái)并向您的 TTN 帳戶添加一個(gè)新應(yīng)用程序,如果您需要更多信息,請(qǐng)使用此鏈接https://www.thethingsnetwork.org/docs/applications/add.html
- 現(xiàn)在,在您的 TTN 應(yīng)用程序中為您要使用的每個(gè)板注冊(cè)一個(gè)新設(shè)備。保留默認(rèn)的其他空中激活 (OTAA) 程序。您唯一必須設(shè)置的是設(shè)備 EUI,讓應(yīng)用程序?yàn)槟善渌?a target='_blank' class='arckwlink_none'>參數(shù)。如果您需要幫助,請(qǐng)看這里:https ://www.thethingsnetwork.org/docs/devices/registration.html
![poYBAGOYMWyAM_GlAAGdEvpnHe0861.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMWyAM_GlAAGdEvpnHe0861.png)
第一步完成了!是時(shí)候設(shè)置網(wǎng)關(guān)了。我假設(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文件夾中(或簡單地更改所有路徑);
- TTN 使用 AES-128 對(duì)稱加密,這意味著這一次您需要為對(duì)稱密鑰存儲(chǔ)一個(gè)簡單的字符串。您可以簡單地將其作為純文本保存在變量中,以便查看您的代碼的任何人都可以閱讀它!讓我們做一些更安全的事情。在devices_LoRa/gateway文件夾中創(chuàng)建一個(gè)ttn_password.txt文件,然后從 TTN 控制臺(tái)復(fù)制并粘貼密碼,如上圖所示。
- 恭喜,你找到了關(guān)鍵,現(xiàn)在,就像我們已經(jīng)做了很多次一樣,讓我們??在 gateway_LoRa.py 文件的頂部更改 Google 的設(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_LoRa.py
物聯(lián)網(wǎng)實(shí)驗(yàn)室設(shè)置
首先,您必須設(shè)置對(duì) IoT-LAB 服務(wù)器的ssh訪問權(quán)限。這些步驟都很簡單,IoT-LAB 教程做的很好,所以我直接給你留了文檔鏈接。https://www.iot-lab.info/tutorials/ssh-access/。
現(xiàn)在,我們已準(zhǔn)備好進(jìn)行設(shè)置:
- 首先,建立到 Saclay 站點(diǎn)主機(jī)的 ssh 連接:
my_computer$ ssh @saclay.iot-lab.info
是您的帳戶 ID,可以在個(gè)人資料頁面上找到
![poYBAGOYMXGAFwZgAAG13OUp7Us311.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMXGAFwZgAAG13OUp7Us311.png)
- 連接后,在主文件夾中克隆 RIOT Github 存儲(chǔ)庫:
@saclay:~$ git clone https://github.com/RIOT-OS/RIOT.git
- 創(chuàng)建并切換到一個(gè)新目錄(例如“mycode”):
@saclay:~$ mkdir
@saclay:~$ cd
- 是時(shí)候上傳代碼了。打開一個(gè)新終端,然后轉(zhuǎn)到devices_LoRa/device并“安全復(fù)制”所有文件:
my_computer$ scp main.c
@saclay.iot-lab.info:
my_computer$ scp Makefile @saclay.iot-lab.info:
my_computer$ scp Makefile.ci @saclay.iot-lab.info:
- 由于 RIOT 不支持 SSH 前端默認(rèn)安裝的 arm GCC 版本,我們需要提供一個(gè)新版本:
@saclay:~/mycode$ export PATH=/opt/gcc-arm-none-eabi-7-2018-q2-update/bin:$PATH
- 然后驗(yàn)證您是否擁有正確的 GCC 版本:
@saclay:~/mycode$ arm-none-eabi-gcc --version
- 讓我們編譯,運(yùn)行:
@saclay:~/mycode$ make clean all
- 現(xiàn)在我們有了程序的可執(zhí)行和可鏈接格式(.elf),是時(shí)候在 IoT-LAB 測(cè)試平臺(tái)上開始新的實(shí)驗(yàn)了。登錄并提交實(shí)驗(yàn):
@saclay:~/mycode$ iotlab-auth -u
@saclay:~/mycode$ iotlab-experiment submit -n -d
-l , archi=st-lrwan1:sx1276+site=saclay
我知道,我們都希望復(fù)制和粘貼所有這些命令,避免鍵入它們。但是,在這種情況下,請(qǐng)記住設(shè)置實(shí)驗(yàn)名稱、時(shí)間和節(jié)點(diǎn)數(shù)。
- 上一步會(huì)返回一個(gè)id,注意,一定要保存好,不然丟了就需要重啟一切!!或許不是,你很幸運(yùn),你可以隨時(shí)在網(wǎng)站上的“我的實(shí)驗(yàn)”下查看它。但是,這不是您需要的唯一 ID,而是一個(gè)新的 ID,即與您的實(shí)驗(yàn)相關(guān)聯(lián)的節(jié)點(diǎn)的數(shù)量/數(shù)量。要找到它,只需運(yùn)行:
@saclay:~/mycode$ iotlab-experiment get -i -r
- 完美,此時(shí),我們已經(jīng)編譯了代碼并運(yùn)行了一個(gè)實(shí)驗(yàn)。讓我們?cè)?B-L072Z-LRWAN1 LoRa 套件上刷寫可執(zhí)行文件:
@saclay:~/mycode$ iotlab-node --update bin/b-l072z-lrwan1/device_LORA.elf -l saclay,st-lrwan1,
記得輸入正確的節(jié)點(diǎn)號(hào)!
![poYBAGOYMXSAYBM2AAD3H-9MetE181.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMXSAYBM2AAD3H-9MetE181.png)
在 IoT-lab 上運(yùn)行設(shè)備
節(jié)點(diǎn)正在運(yùn)行,現(xiàn)在您可以使用 Netcat 訪問每個(gè)節(jié)點(diǎn),每個(gè)終端窗口一個(gè):
@saclay:~/mycode$ nc st-lrwan1- 20000
![pYYBAGOYMXeACUuVAAB7uEiis2Y888.png](https://file.elecfans.com/web2/M00/83/BD/pYYBAGOYMXeACUuVAAB7uEiis2Y888.png)
如果由于任何原因,設(shè)備出現(xiàn)任何類型的問題,請(qǐng)轉(zhuǎn)到您的 IoT-lab 頁面,找到實(shí)驗(yàn)和節(jié)點(diǎn),然后重新啟動(dòng)它,如下圖所示。
![poYBAGOYMX2ADDNiAAF8f0YjPLY146.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMX2ADDNiAAF8f0YjPLY146.png)
現(xiàn)在,轉(zhuǎn)到 TTN Web 控制臺(tái)上的“應(yīng)用程序 > appID > 設(shè)備 > 設(shè)備 ID”并獲取設(shè)備 EUI、應(yīng)用程序 EUI 和應(yīng)用程序密鑰信息。因此,在運(yùn)行的設(shè)備上,將它們?cè)O(shè)置為 RIOT 固件:
> loramac set deveui your_EUI
> loramac set appeui your_EUI
> loramac set appkey your_key
為避免問題也設(shè)置數(shù)據(jù)速率,IoT-LAB 在其網(wǎng)站上建議值為 5:
> loramac set dr 5
最后,加入網(wǎng)絡(luò):
> loramac join otaa
![poYBAGOYMYGAPwNXAACSiC8XoW4108.png](https://file.elecfans.com/web2/M00/83/34/poYBAGOYMYGAPwNXAACSiC8XoW4108.png)
現(xiàn)在,您可以使用我們?cè)谥胺峙渲惺褂玫南嗤顏黹_始自主發(fā)送消息:
> start ...
新儀表板
舊儀表板非常簡單,因此我決定進(jìn)行一些更改并添加新功能。
首先,我決定重組數(shù)據(jù)庫,它現(xiàn)在為每種遙測(cè)類型提供一個(gè)不同的架構(gòu),并為設(shè)備提供一個(gè)新架構(gòu)。因此,每個(gè)設(shè)備都有一組對(duì)遙測(cè)的引用,它使用 deviceId 作為外鍵。大大減少了檢索時(shí)間并增加了系統(tǒng)的一般可擴(kuò)展性。
它現(xiàn)在可以識(shí)別需要連接的新設(shè)備并直接添加它們。此外,每當(dāng)有新消息時(shí),主頁上不僅會(huì)顯示遙測(cè)值,還會(huì)顯示設(shè)備的身份。
總之,為了提供令人愉悅的視覺界面,我添加了一些彩色圖表來顯示最后一小時(shí)的值,而舊值和以前一樣顯示在列表中。
![pYYBAGOYMYqACwiOAAMQndA1pyg445.png](https://file.elecfans.com/web2/M00/83/BD/pYYBAGOYMYqACwiOAAMQndA1pyg445.png)
結(jié)論
該應(yīng)用程序現(xiàn)在能夠從虛擬設(shè)備、使用 MQTT-SN 協(xié)議的 RIOT-OS 設(shè)備以及使用 LoRaWAN? 的新實(shí)現(xiàn)中檢索數(shù)據(jù)。此外,借助新的儀表板和新的彩色圖表,任何人都可以體會(huì)到使用物聯(lián)網(wǎng)“事物”收集數(shù)據(jù)的美麗程度。
?
- 基于實(shí)驗(yàn)室自動(dòng)化的ACS集成測(cè)試系統(tǒng)
- 連接到AWS IoT的RIOT-OS應(yīng)用程序
- 使用RIOT-OS的基于AWS的IoT虛擬環(huán)境站
- RIOT-OS實(shí)時(shí)多線程IoT操作系統(tǒng)
- RIOT-OS入門 Windows系統(tǒng)下在STM32上運(yùn)行RIOT OS
- 基于Proteus的單片機(jī)虛擬仿真網(wǎng)絡(luò)實(shí)驗(yàn)室 46次下載
- 物聯(lián)網(wǎng)實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)方案 17次下載
- EMC實(shí)驗(yàn)室的建設(shè)設(shè)計(jì)方案
- 高壓實(shí)驗(yàn)室報(bào)警控制回路圖解 16次下載
- 實(shí)驗(yàn)室LCR-819測(cè)試儀說明 11次下載
- 高溫電子實(shí)驗(yàn)室--實(shí)驗(yàn)設(shè)備簡介
- 現(xiàn)場(chǎng)總線CAN-bus 實(shí)驗(yàn)室
- 虛擬電子實(shí)驗(yàn)室的設(shè)計(jì)與應(yīng)用
- 基于LabWindows的實(shí)驗(yàn)室管理系統(tǒng)設(shè)計(jì)
- 實(shí)驗(yàn)室管理體制及管理制度
- LIMS實(shí)驗(yàn)室管理平臺(tái)的實(shí)施步驟 492次閱讀
- LIMS平臺(tái)提升實(shí)驗(yàn)室工作效率的方法 292次閱讀
- 如何選擇合適的LIMS實(shí)驗(yàn)室管理軟件 313次閱讀
- 實(shí)驗(yàn)室信息管理系統(tǒng) LIMS 優(yōu)勢(shì) 330次閱讀
- 實(shí)驗(yàn)室超聲波清洗機(jī)的正確使用方法 721次閱讀
- 超聲波清洗設(shè)備的實(shí)驗(yàn)室應(yīng)用 1058次閱讀
- 實(shí)驗(yàn)室電源電路原理圖 2278次閱讀
- 如何建立移動(dòng)校準(zhǔn)實(shí)驗(yàn)室 2595次閱讀
- Python版實(shí)驗(yàn)室設(shè)備管理系統(tǒng)源代碼 2506次閱讀
- 高性能電驅(qū)動(dòng)系統(tǒng)NVH實(shí)驗(yàn)室工藝設(shè)計(jì) 2107次閱讀
- 如何建立一個(gè)電磁兼容實(shí)驗(yàn)室 3296次閱讀
- digilent適便攜式電路實(shí)驗(yàn)室介紹 2647次閱讀
- 海天雄電子:Android移動(dòng)互聯(lián)網(wǎng)實(shí)驗(yàn)室開發(fā)架構(gòu) 3247次閱讀
- 開放實(shí)驗(yàn)室:測(cè)量LCR及阻抗特性 6044次閱讀
- 是德開放實(shí)驗(yàn)室:免費(fèi)為企業(yè)進(jìn)行低功耗測(cè)試 5865次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 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)用手冊(cè)
- 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電氣工程師手冊(cè)免費(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)論