資料介紹
描述
本指南是代表 Arm 軟件開發(fā)人員團(tuán)隊(duì)創(chuàng)建的,請(qǐng)?jiān)?Twitter 上關(guān)注我們:@ArmSoftwareDev和 YouTube:Arm 軟件開發(fā)人員以獲取更多資源!
關(guān)于
該項(xiàng)目將指導(dǎo)您使用 LoRaWAN 通信將您的Adafruit Feather RP2040板連接到The Thing Networks 。
重點(diǎn)將放在基本的 LoRaWAN 通信上,其中板將定期發(fā)送其內(nèi)部溫度,發(fā)送到板的消息將用于控制內(nèi)置 LED。
雖然本指南側(cè)重于Adafruit Feather RP2040板,但可以使用任何配備Raspberry Pi 的 RP2040 微控制器 (MCU) 的板,例如Raspberry Pi Pico。如果您不使用本指南中使用的Adafruit LoRa Radio FeatherWing - RFM95W 900 MHz - RadioFruit ,您還需要Semtech SX1276無線電模塊或分線器,例如Adafruit RFM95W LoRa 無線電收發(fā)器分線器 - 868 或 915 MHz - RadioFruit。
什么是 LoRaWAN?
LoRaWAN是低功耗廣域網(wǎng)的網(wǎng)絡(luò)協(xié)議規(guī)范。它使用Semtech 的 LoRa (遠(yuǎn)程)無線電技術(shù)作為物理層 - 允許以低數(shù)據(jù)速率(0.3 至 50 kbps)進(jìn)行遠(yuǎn)程通信(5 - 20 公里,使用正確的天線和視線)。
LoRaWAN 網(wǎng)絡(luò)由幾個(gè)組件組成:終端節(jié)點(diǎn)、網(wǎng)關(guān)/集中器、網(wǎng)絡(luò)服務(wù)器和應(yīng)用程序服務(wù)器。Thing Network - LoRaWAN Architecture頁面對(duì)這些組件有很好的解釋。
LoRaWAN 節(jié)點(diǎn)是發(fā)送和接收數(shù)據(jù)的嵌入式設(shè)備 - 我們將在本指南中專注于創(chuàng)建 LoRaWAN 節(jié)點(diǎn)。
什么是物聯(lián)網(wǎng)?
The Things Network是一個(gè)構(gòu)建開源和去中心化 LoRaWAN 網(wǎng)絡(luò)的全球社區(qū)。
該網(wǎng)絡(luò)由遍布全球 150 多個(gè)國家的 19k+ 個(gè)社區(qū)運(yùn)行的LoRaWAN 網(wǎng)關(guān)組成,并被全球 142k+ 社區(qū)成員使用。
對(duì)于本指南,您需要確保物聯(lián)網(wǎng) (TTN) 網(wǎng)關(guān)在范圍內(nèi),請(qǐng)查看TTN 地圖了解網(wǎng)絡(luò)覆蓋范圍。如果您所在地區(qū)沒有 TTN 網(wǎng)關(guān),您可以購買TTN 室內(nèi)網(wǎng)關(guān),用于開發(fā)和試驗(yàn) TTN 和 LoRaWAN。
組裝硬件
Adafruit Feather RP2040 板沒有焊接任何接頭。您需要使用烙鐵將用于羽毛的短接頭套件 - 12 針 + 16 針母接頭焊接到板上。
接下來將公接頭焊接到Adafruit LoRa Radio FeatherWing-RFM95W 900 MHz-RadioFruit以及Simple Spring Antenna - 915MHz 。有關(guān)詳細(xì)信息,請(qǐng)參閱Radio FeatherWing 組裝指南。
開箱即用的LoRa Radio FeatherWing 僅將 SPI 數(shù)據(jù)引腳連接到接頭引腳。我們還需要將 Feather Wing 上的 DIO1、IRQ、CS 和 RST 連接器焊接到連接器 B、C、D 和 E(注意:這些連接很靈活,可以在軟件中更改)。
將 FeatherWing 插入 Feather 板的頂部。
設(shè)置 Pico SDK 開發(fā)環(huán)境
您首先需要使用 Raspberry Pi 的 Pico SDK 和所需的工具鏈來設(shè)置您的計(jì)算機(jī)。
有關(guān)詳細(xì)信息,請(qǐng)參閱“ Raspberry Pi Pico 入門”。
該指南的第 2.1 節(jié)可用于所有操作系統(tǒng),然后是操作特定部分:
- Linux:第 2.2 節(jié)
- macOS:第 9.1 節(jié)
- 窗戶:第 9.2 節(jié)
獲取和編譯 pico-lorawan 庫和示例
確保設(shè)置了PICO_SDK環(huán)境變量。
export PICO_SDK_PATH=/path/to/pico-sdk
在終端窗口中,克隆 git 存儲(chǔ)庫并更改目錄:
cd ~/
git clone --recurse-submodules https://github.com/sandeepmistry/pico-lorawan.git
cd pico-lorawan
創(chuàng)建一個(gè)構(gòu)建目錄并將目錄更改為它:
mkdir build
cd build
運(yùn)行cmake和make進(jìn)行編譯:
cmake .. -DPICO_BOARD=adafruit_feather_rp2040
make
獲取開發(fā)板默認(rèn) Dev EUI
在注冊(cè)庫中包含的示例之一時(shí),我們需要一個(gè)唯一的板標(biāo)識(shí)符來打印它。
使用 USB 電纜將開發(fā)板插入計(jì)算機(jī),然后按住BOOTSEL按鈕,然后點(diǎn)擊開發(fā)板上的RESET按鈕,
將examples/default_dev_eui/pico_lorawan_default_dev_eui.uf2文件復(fù)制到掛載的樹莓派Pico啟動(dòng)ROM盤:
cp examples/default_dev_eui/pico_lorawan_default_dev_eui.uf2 /Volumes/RPI-RP2/.
使用串行監(jiān)視器應(yīng)用程序,例如屏幕打開查看板的 USB 串行輸出,將/dev/cu.usbmodem0000000000001替換為板的路徑:
screen /dev/cu.usbmodem0000000000001
將顯示基于板閃存序列號(hào)的板默認(rèn) Dev EUI,在下面的屏幕截圖中值為“ 4545373038056807 ”。
記下此值以供下一步使用。
將設(shè)備添加到物聯(lián)網(wǎng)
Things Network 已棄用他們的 V2 堆棧,該堆棧將在 2021 年底關(guān)閉,現(xiàn)在向用戶推薦更多 V3 堆棧。V3 現(xiàn)在稱為“ The Things Stack Community Edition ”。本節(jié)將指導(dǎo)您在 V3 堆棧上設(shè)置節(jié)點(diǎn)。
轉(zhuǎn)到The Things Stack 社區(qū)版控制臺(tái)并選擇您所在的地區(qū)。
接下來單擊“使用 The Things ID 登錄”按鈕
如果您還沒有 TTN 帳戶,請(qǐng)單擊注冊(cè)創(chuàng)建一個(gè)然后登錄。
登錄后,單擊“轉(zhuǎn)到應(yīng)用程序”。
如果您沒有現(xiàn)有的應(yīng)用程序,請(qǐng)單擊“添加應(yīng)用程序”按鈕創(chuàng)建一個(gè)。
輸入一個(gè)Application ID,我們?cè)谙旅媸褂昧恕?feather-rp2040-app ”,然后點(diǎn)擊“ Create application ”按鈕。
單擊“添加終端設(shè)備”按鈕以創(chuàng)建新設(shè)備。
單擊“手動(dòng)”選項(xiàng)卡,因?yàn)槲覀冋趧?chuàng)建的設(shè)備不在 LoRaWAN 設(shè)備存儲(chǔ)庫中。
選擇“無線激活 (OTAA) ”作為激活模式,選擇“ MAC V1.0.2 ”作為 LoRaWAN 版本。該字段的其余部分可以保留其默認(rèn)值,然后您可以單擊“開始”按鈕。
接下來輸入“ End device ID ”,在下面的屏幕截圖中輸入“ feather-rp2040 ”,為 JoinEUI 輸入全 0,并使用您從開發(fā)板獲得的默認(rèn) Dev EUI 值作為DevEUI字段。然后單擊“網(wǎng)絡(luò)層設(shè)置”按鈕。
選擇您所在地區(qū)的“頻率計(jì)劃”和“地區(qū)參數(shù)版本”為PHY V1.0.2 REV A ,然后單擊“加入設(shè)置”按鈕。
單擊 AppKey 旁邊的圓形箭頭按鈕生成 AppKey,然后單擊“添加終端設(shè)備”按鈕。
現(xiàn)在已經(jīng)添加了設(shè)備,請(qǐng)記下 JoinEUI、DevEUI 和 AppKey 值以備后用。
配置板 OTAA 設(shè)置
打開examples/otaa_temperature_led/config.h并輸入從上一節(jié)獲得的信息。
US915 示例:
#define LORAWAN_REGION LORAMAC_REGION_US915
// set to NULL use the boards default Dev EUI
#define LORAWAN_DEVICE_EUI NULL
// Join EUI
#define LORAWAN_APP_EUI "0000000000000000"
#define LORAWAN_APP_KEY "00DBE0B97B52F2F01A406CC8B3830753"
// TTN specific channel mask, only needed for US915 region
#define LORAWAN_CHANNEL_MASK "FF0000000000000000020000"
EU868 示例:
#define LORAWAN_REGION LORAMAC_REGION_EU868
// set to NULL use the boards default Dev EUI
#define LORAWAN_DEVICE_EUI NULL
// Join EUI
#define LORAWAN_APP_EUI "0000000000000000"
#define LORAWAN_APP_KEY "00DBE0B97B52F2F01A406CC8B3830753"
// set to NULL for default channel mask
#define LORAWAN_CHANNEL_MASK NULL
現(xiàn)在使用更新的 OTAA 設(shè)置重新編譯示例:
make
按住BOOTSEL按鈕,然后點(diǎn)擊板上的RESET按鈕,
將examples/otaa_temperature_led/pico_lorawan_otaa_temperature_led.uf2文件復(fù)制到掛載的樹莓派Pico啟動(dòng)ROM盤:
cp examples/otaa_temperature_led/pico_lorawan_otaa_temperature_led.uf2 /Volumes/RPI-RP2/.
使用串行監(jiān)視器應(yīng)用程序,例如屏幕打開查看板的 USB 串行輸出,將/dev/cu.usbmodem0000000000001替換為板的路徑:
screen /dev/cu.usbmodem0000000000001
如果成功,板將加入 TTN 并開始每 30 秒發(fā)送一次內(nèi)部溫度傳感器值。
您還可以在 TTN 控制臺(tái)中查看板狀態(tài)。
單擊“實(shí)時(shí)數(shù)據(jù)”以查看板的實(shí)時(shí)數(shù)據(jù):
數(shù)據(jù)消息值是十六進(jìn)制的,應(yīng)該與串行監(jiān)視器上顯示的值相匹配。在上面的屏幕截圖中,0x26 = 38 °C。
接下來我們可以向板子發(fā)送一條下行消息,點(diǎn)擊“消息”選項(xiàng)卡。
然后“ Downlink ”,輸入01作為Payload,然后點(diǎn)擊“ Simulate uplink ”按鈕。注意:如果按鈕被禁用,您可以刷新頁面以啟用它。
一旦板子收到下行信息,它的板載 LED 就會(huì)亮起,并且串行監(jiān)視器上也會(huì)顯示一條信息:
LoRaWAN B 類設(shè)備在發(fā)送上行消息后,只能在特定窗口期內(nèi)接收下行消息。我們加載的示例每 30 秒發(fā)送一條消息,因此您必須等待一分鐘才能收到它。
您現(xiàn)在可以向電路板發(fā)送另一個(gè)帶有 00 的下行鏈路消息以清除 LED。
下一步
我們已經(jīng)介紹了如何使用 Raspberry Pi Pico SDK 和帶有 The Things Network V3的pico-lorawan庫創(chuàng)建基于 RP2040 的 LoRaWAN 節(jié)點(diǎn)。我們創(chuàng)建的示例應(yīng)用程序每 30 秒將板子內(nèi)部溫度發(fā)送到 TTN,下行鏈路消息可以遠(yuǎn)程控制板子的 LED。
您現(xiàn)在可以通過以下方式構(gòu)建此示例:
- 在上行鏈路消息中添加更多傳感器值
- 使用來自下行鏈路消息的附加值來控制其他執(zhí)行器
- 遵循The Things Stacks 集成指南,使用 HTTP Web 掛鉤、MQTT、NODE-Red、IFFT 或云平臺(tái)(例如 AWS IoT)處理應(yīng)用程序上的下行鏈路消息。
由于 Raspberry Pi RP2040 包含雙核功能,您還可以創(chuàng)建更高級(jí)的項(xiàng)目,這些項(xiàng)目可以在一個(gè)核上收集和使用機(jī)器學(xué)習(xí),同時(shí)讓另一個(gè)核處理與 TTN 的 LoRaWAN 通信。
如果您使用本指南制作了一個(gè)很酷的項(xiàng)目,請(qǐng)?jiān)?/font>Hackster.io上為它創(chuàng)建一個(gè)項(xiàng)目指南,供其他人欣賞!
在世界標(biāo)準(zhǔn)時(shí)間 4 月 29 日下午 5 點(diǎn)舉行的本周Arm 創(chuàng)新咖啡會(huì)議上,聆聽 The Things Network 團(tuán)隊(duì)的更多信息,并了解該項(xiàng)目的實(shí)際運(yùn)行情況。
?
?
- 如何在Windows上設(shè)置Pico RP2040
- RP2040 Raspberry Pi Pico遇見LoRa
- Arduino Raspberry Pi Pico/RP2040以太網(wǎng):W5100S EVB Pico
- 將MicroPython從Raspberry pi(RP2040)移植到Wiznet5K
- 基于RP2040板的SUMP/OLS兼容邏輯分析儀固件
- 使用RP2040和KMK固件的40%正交線性鍵盤
- 使用RP2040和W5100S的無套接字功能
- AI WB2和XIAO RP2040組合開源
- 將您的中央供暖連接到Arduino
- 使用Seeed Wio RP2040模塊進(jìn)行環(huán)境監(jiān)測(cè)
- RP2040模塊MCU開源分享
- BBkey80:由XIAO RP2040驅(qū)動(dòng)的GL516兼容鍵盤
- RP2040迷你板開源分享
- RP2040 MicroMOD處理器板開源分享
- ProMicro-RP2040印刷電路板
- 5分鐘內(nèi)將Raspberry Pi Pico變成簡(jiǎn)單的示波器+波形發(fā)生器 1522次閱讀
- 使用CW32單片機(jī)通過ESP8266連接OneNET物聯(lián)網(wǎng)平臺(tái) 1176次閱讀
- 基于RP2040的ToF雷射測(cè)距裝置設(shè)計(jì) 901次閱讀
- 連接到您最喜歡的數(shù)據(jù)庫集 529次閱讀
- 物聯(lián)網(wǎng)中的精度很重要 456次閱讀
- 物聯(lián)網(wǎng)中的精度很重要 560次閱讀
- 簡(jiǎn)化嵌入式物聯(lián)網(wǎng)應(yīng)用的軟件開發(fā) 599次閱讀
- 當(dāng)Arduino遇上樹莓派:Nano RP2040連接板 6472次閱讀
- 基于RP2040設(shè)計(jì)的發(fā)光魔法LED立方體 2127次閱讀
- Nano RP2040連接板的應(yīng)用程序 4784次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點(diǎn) 2710次閱讀
- 物聯(lián)網(wǎng)是什么和物聯(lián)網(wǎng)基本架構(gòu) 5697次閱讀
- 基于RP2040的Pico可用作PIO的邏輯分析儀 9774次閱讀
- 物聯(lián)網(wǎng)的工作原理是怎樣的 9891次閱讀
- 物聯(lián)網(wǎng)應(yīng)用連接到 Google Cloud怎樣去實(shí)現(xiàn) 688次閱讀
下載排行
本周
- 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)論
查看更多