資料介紹
結(jié)構(gòu)概述
- 2 個(或更多)B-L072Z-LRWAN1 LoRa 套件在 IoT-LAB 測試臺上運行
- 物聯(lián)網(wǎng)基礎(chǔ)設(shè)施
- 一個簡單的網(wǎng)關(guān)(或透明橋),由Python 實現(xiàn),用于從 TTN 基礎(chǔ)設(shè)施收集數(shù)據(jù)并將其發(fā)送到谷歌云平臺;
- 谷歌云平臺,提供Cloud IoT 核心和Pub/Sub API,用于管理連接、設(shè)備以及與 Web 應(yīng)用程序交換的消息;
- 使用nodejs + express和一些其他相關(guān)框架構(gòu)建的 web 應(yīng)用程序;
- 用于存儲的Mongodb NoSQL 數(shù)據(jù)庫程序;
注意:我的github上提供的代碼適用于我的個人 google 帳戶上的憑據(jù)。我沒有上傳密鑰,如果你想運行它,你需要自己設(shè)置。
IoT-LAB簡介
IoT-LAB 是一個開放的測試平臺,它提供了一個非常大規(guī)模的基礎(chǔ)設(shè)施,適用于測試小型無線傳感器設(shè)備和異構(gòu)通信對象。

它具有分布在法國六個不同地點的 1500 多個無線傳感器節(jié)點。節(jié)點既可以是固定的,也可以是移動的,并且可以在所有站點中以各種拓?fù)溥M(jìn)行分配。有多種無線傳感器可用,具有不同的處理器架構(gòu)和不同的無線芯片。
由于我們沒有兼容 LoRa 的硬件,因此使用測試平臺是在真實硬件上進(jìn)行測試的最佳選擇。
LoRaWAN 技術(shù)
LoRaWAN? 規(guī)范是一種低功耗、廣域 (LPWA) 網(wǎng)絡(luò)協(xié)議,旨在將電池供電的“事物”無線連接到區(qū)域、國家或全球網(wǎng)絡(luò)中的互聯(lián)網(wǎng),并針對關(guān)鍵的物聯(lián)網(wǎng) (IoT) 要求,例如雙向定向通信、端到端安全、移動性和本地化服務(wù)。它定義了網(wǎng)絡(luò)的通信協(xié)議和系統(tǒng)架構(gòu),而 LoRa 物理層則支持遠(yuǎn)程通信鏈路。

LoRaWAN? 網(wǎng)絡(luò)中的節(jié)點是異步的,當(dāng)它們準(zhǔn)備好發(fā)送數(shù)據(jù)時進(jìn)行通信,無論是事件驅(qū)動的還是調(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é)點的真實性,而應(yīng)用安全層確保網(wǎng)絡(luò)運營商無權(quán)訪問最終用戶的應(yīng)用數(shù)據(jù)。AES-128 加密與使用 IEEE EUI64 標(biāo)識符的密鑰交換一起使用。
TheThingsNetwork 概述和設(shè)置
The Things Network 是 LoRa Alliance? 的貢獻(xiàn)者成員,LoRa Alliance? 是一個由 500 多家成員公司組成的非營利性協(xié)會,致力于通過開發(fā)和推廣低功耗廣域網(wǎng) (LPWAN) 物聯(lián)網(wǎng)來實現(xiàn)大規(guī)模部署。 LoRaWAN? 開放標(biāo)準(zhǔn)。

網(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ù)。事實上,諸如 LoRaWAN? 之類的非 IP 協(xié)議需要某種形式的路由和處理,然后才能將消息傳遞到應(yīng)用程序。
TTN 和網(wǎng)橋設(shè)置
Things Network Web 界面使這些步驟變得非常簡單:
- 首先,訪問https://www.thethingsnetwork.org/并創(chuàng)建一個帳戶;
- 轉(zhuǎn)到控制臺并向您的 TTN 帳戶添加一個新應(yīng)用程序,如果您需要更多信息,請使用此鏈接https://www.thethingsnetwork.org/docs/applications/add.html
- 現(xiàn)在,在您的 TTN 應(yīng)用程序中為您要使用的每個板注冊一個新設(shè)備。保留默認(rèn)的其他空中激活 (OTAA) 程序。您唯一必須設(shè)置的是設(shè)備 EUI,讓應(yīng)用程序為您生成其他參數(shù)。如果您需要幫助,請看這里:https ://www.thethingsnetwork.org/docs/devices/registration.html

第一步完成了!是時候設(shè)置網(wǎng)關(guān)了。我假設(shè)您已經(jīng)閱讀了第一篇文章“云平臺設(shè)置”部分的說明,那么:
- 同樣這一次,網(wǎng)關(guān)被谷歌云平臺識別為簡單設(shè)備,因此您需要將其添加到之前創(chuàng)建的設(shè)備集中。這里刷新如何做到這一點:https://cloud.google.com/iot/docs/how-tos/devices?authuser=1;
- 將 root.pem 證書的副本(之前生成的)放在devices_RIOT/gateway文件夾中(或簡單地更改所有路徑);
- TTN 使用 AES-128 對稱加密,這意味著這一次您需要為對稱密鑰存儲一個簡單的字符串。您可以簡單地將其作為純文本保存在變量中,以便查看您的代碼的任何人都可以閱讀它!讓我們做一些更安全的事情。在devices_LoRa/gateway文件夾中創(chuàng)建一個ttn_password.txt文件,然后從 TTN 控制臺復(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'
- 最后,運行它:
python gateway_LoRa.py
物聯(lián)網(wǎng)實驗室設(shè)置
首先,您必須設(shè)置對 IoT-LAB 服務(wù)器的ssh訪問權(quán)限。這些步驟都很簡單,IoT-LAB 教程做的很好,所以我直接給你留了文檔鏈接。https://www.iot-lab.info/tutorials/ssh-access/。
現(xiàn)在,我們已準(zhǔn)備好進(jìn)行設(shè)置:
- 首先,建立到 Saclay 站點主機(jī)的 ssh 連接:
my_computer$ ssh @saclay.iot-lab.info
是您的帳戶 ID,可以在個人資料頁面上找到

- 連接后,在主文件夾中克隆 RIOT Github 存儲庫:
@saclay:~$ git clone https://github.com/RIOT-OS/RIOT.git
- 創(chuàng)建并切換到一個新目錄(例如“mycode”):
@saclay:~$ mkdir
@saclay:~$ cd
- 是時候上傳代碼了。打開一個新終端,然后轉(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 版本,我們需要提供一個新版本:
@saclay:~/mycode$ export PATH=/opt/gcc-arm-none-eabi-7-2018-q2-update/bin:$PATH
- 然后驗證您是否擁有正確的 GCC 版本:
@saclay:~/mycode$ arm-none-eabi-gcc --version
- 讓我們編譯,運行:
@saclay:~/mycode$ make clean all
- 現(xiàn)在我們有了程序的可執(zhí)行和可鏈接格式(.elf),是時候在 IoT-LAB 測試平臺上開始新的實驗了。登錄并提交實驗:
@saclay:~/mycode$ iotlab-auth -u
@saclay:~/mycode$ iotlab-experiment submit -n -d
-l , archi=st-lrwan1:sx1276+site=saclay
我知道,我們都希望復(fù)制和粘貼所有這些命令,避免鍵入它們。但是,在這種情況下,請記住設(shè)置實驗名稱、時間和節(jié)點數(shù)。
- 上一步會返回一個id,注意,一定要保存好,不然丟了就需要重啟一切!!或許不是,你很幸運,你可以隨時在網(wǎng)站上的“我的實驗”下查看它。但是,這不是您需要的唯一 ID,而是一個新的 ID,即與您的實驗相關(guān)聯(lián)的節(jié)點的數(shù)量/數(shù)量。要找到它,只需運行:
@saclay:~/mycode$ iotlab-experiment get -i -r
- 完美,此時,我們已經(jīng)編譯了代碼并運行了一個實驗。讓我們在 B-L072Z-LRWAN1 LoRa 套件上刷寫可執(zhí)行文件:
@saclay:~/mycode$ iotlab-node --update bin/b-l072z-lrwan1/device_LORA.elf -l saclay,st-lrwan1,
記得輸入正確的節(jié)點號!

在 IoT-lab 上運行設(shè)備
節(jié)點正在運行,現(xiàn)在您可以使用 Netcat 訪問每個節(jié)點,每個終端窗口一個:
@saclay:~/mycode$ nc st-lrwan1- 20000

如果由于任何原因,設(shè)備出現(xiàn)任何類型的問題,請轉(zhuǎn)到您的 IoT-lab 頁面,找到實驗和節(jié)點,然后重新啟動它,如下圖所示。

現(xiàn)在,轉(zhuǎn)到 TTN Web 控制臺上的“應(yīng)用程序 > appID > 設(shè)備 > 設(shè)備 ID”并獲取設(shè)備 EUI、應(yīng)用程序 EUI 和應(yīng)用程序密鑰信息。因此,在運行的設(shè)備上,將它們設(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

現(xiàn)在,您可以使用我們在之前分配中使用的相同命令來開始自主發(fā)送消息:
> start ...
新儀表板
舊儀表板非常簡單,因此我決定進(jìn)行一些更改并添加新功能。
首先,我決定重組數(shù)據(jù)庫,它現(xiàn)在為每種遙測類型提供一個不同的架構(gòu),并為設(shè)備提供一個新架構(gòu)。因此,每個設(shè)備都有一組對遙測的引用,它使用 deviceId 作為外鍵。大大減少了檢索時間并增加了系統(tǒng)的一般可擴(kuò)展性。
它現(xiàn)在可以識別需要連接的新設(shè)備并直接添加它們。此外,每當(dāng)有新消息時,主頁上不僅會顯示遙測值,還會顯示設(shè)備的身份。
總之,為了提供令人愉悅的視覺界面,我添加了一些彩色圖表來顯示最后一小時的值,而舊值和以前一樣顯示在列表中。

結(jié)論
該應(yīng)用程序現(xiàn)在能夠從虛擬設(shè)備、使用 MQTT-SN 協(xié)議的 RIOT-OS 設(shè)備以及使用 LoRaWAN? 的新實現(xiàn)中檢索數(shù)據(jù)。此外,借助新的儀表板和新的彩色圖表,任何人都可以體會到使用物聯(lián)網(wǎng)“事物”收集數(shù)據(jù)的美麗程度。
?
- 基于實驗室自動化的ACS集成測試系統(tǒng)
- 連接到AWS IoT的RIOT-OS應(yīng)用程序
- 使用RIOT-OS的基于AWS的IoT虛擬環(huán)境站
- RIOT-OS實時多線程IoT操作系統(tǒng)
- RIOT-OS入門 Windows系統(tǒng)下在STM32上運行RIOT OS
- 基于Proteus的單片機(jī)虛擬仿真網(wǎng)絡(luò)實驗室 46次下載
- 物聯(lián)網(wǎng)實驗室管理系統(tǒng)的設(shè)計方案 17次下載
- EMC實驗室的建設(shè)設(shè)計方案
- 高壓實驗室報警控制回路圖解 16次下載
- 實驗室LCR-819測試儀說明 11次下載
- 高溫電子實驗室--實驗設(shè)備簡介
- 現(xiàn)場總線CAN-bus 實驗室
- 虛擬電子實驗室的設(shè)計與應(yīng)用
- 基于LabWindows的實驗室管理系統(tǒng)設(shè)計
- 實驗室管理體制及管理制度
- LIMS實驗室管理平臺的實施步驟 492次閱讀
- LIMS平臺提升實驗室工作效率的方法 292次閱讀
- 如何選擇合適的LIMS實驗室管理軟件 313次閱讀
- 實驗室信息管理系統(tǒng) LIMS 優(yōu)勢 330次閱讀
- 實驗室超聲波清洗機(jī)的正確使用方法 721次閱讀
- 超聲波清洗設(shè)備的實驗室應(yīng)用 1058次閱讀
- 實驗室電源電路原理圖 2278次閱讀
- 如何建立移動校準(zhǔn)實驗室 2595次閱讀
- Python版實驗室設(shè)備管理系統(tǒng)源代碼 2506次閱讀
- 高性能電驅(qū)動系統(tǒng)NVH實驗室工藝設(shè)計 2107次閱讀
- 如何建立一個電磁兼容實驗室 3296次閱讀
- digilent適便攜式電路實驗室介紹 2647次閱讀
- 海天雄電子:Android移動互聯(lián)網(wǎng)實驗室開發(fā)架構(gòu) 3247次閱讀
- 開放實驗室:測量LCR及阻抗特性 6044次閱讀
- 是德開放實驗室:免費為企業(yè)進(jìn)行低功耗測試 5865次閱讀
下載排行
本周
- 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單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論