資料介紹
描述
本指南是代表 Arm 軟件開發(fā)人員團隊創(chuàng)建的,請在 Twitter 上關注我們:@ArmSoftwareDev和 YouTube:Arm 軟件開發(fā)人員以獲取更多資源!
關于
該項目將指導您使用 LoRaWAN 通信將您的Adafruit Feather RP2040板連接到The Thing Networks 。
重點將放在基本的 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)絡協(xié)議規(guī)范。它使用Semtech 的 LoRa (遠程)無線電技術作為物理層 - 允許以低數(shù)據(jù)速率(0.3 至 50 kbps)進行遠程通信(5 - 20 公里,使用正確的天線和視線)。
LoRaWAN 網(wǎng)絡由幾個組件組成:終端節(jié)點、網(wǎng)關/集中器、網(wǎng)絡服務器和應用程序服務器。Thing Network - LoRaWAN Architecture頁面對這些組件有很好的解釋。
LoRaWAN 節(jié)點是發(fā)送和接收數(shù)據(jù)的嵌入式設備 - 我們將在本指南中專注于創(chuàng)建 LoRaWAN 節(jié)點。
什么是物聯(lián)網(wǎng)?
The Things Network是一個構建開源和去中心化 LoRaWAN 網(wǎng)絡的全球社區(qū)。
該網(wǎng)絡由遍布全球 150 多個國家的 19k+ 個社區(qū)運行的LoRaWAN 網(wǎng)關組成,并被全球 142k+ 社區(qū)成員使用。
對于本指南,您需要確保物聯(lián)網(wǎng) (TTN) 網(wǎng)關在范圍內(nèi),請查看TTN 地圖了解網(wǎng)絡覆蓋范圍。如果您所在地區(qū)沒有 TTN 網(wǎng)關,您可以購買TTN 室內(nèi)網(wǎng)關,用于開發(fā)和試驗 TTN 和 LoRaWAN。
組裝硬件
Adafruit Feather RP2040 板沒有焊接任何接頭。您需要使用烙鐵將用于羽毛的短接頭套件 - 12 針 + 16 針母接頭焊接到板上。
接下來將公接頭焊接到Adafruit LoRa Radio FeatherWing-RFM95W 900 MHz-RadioFruit以及Simple Spring Antenna - 915MHz 。有關詳細信息,請參閱Radio FeatherWing 組裝指南。
開箱即用的LoRa Radio FeatherWing 僅將 SPI 數(shù)據(jù)引腳連接到接頭引腳。我們還需要將 Feather Wing 上的 DIO1、IRQ、CS 和 RST 連接器焊接到連接器 B、C、D 和 E(注意:這些連接很靈活,可以在軟件中更改)。
將 FeatherWing 插入 Feather 板的頂部。
設置 Pico SDK 開發(fā)環(huán)境
您首先需要使用 Raspberry Pi 的 Pico SDK 和所需的工具鏈來設置您的計算機。
有關詳細信息,請參閱“ Raspberry Pi Pico 入門”。
該指南的第 2.1 節(jié)可用于所有操作系統(tǒng),然后是操作特定部分:
- Linux:第 2.2 節(jié)
- macOS:第 9.1 節(jié)
- 窗戶:第 9.2 節(jié)
獲取和編譯 pico-lorawan 庫和示例
確保設置了PICO_SDK環(huán)境變量。
export PICO_SDK_PATH=/path/to/pico-sdk
在終端窗口中,克隆 git 存儲庫并更改目錄:
cd ~/
git clone --recurse-submodules https://github.com/sandeepmistry/pico-lorawan.git
cd pico-lorawan
創(chuàng)建一個構建目錄并將目錄更改為它:
mkdir build
cd build
運行cmake和make進行編譯:
cmake .. -DPICO_BOARD=adafruit_feather_rp2040
make
獲取開發(fā)板默認 Dev EUI
在注冊庫中包含的示例之一時,我們需要一個唯一的板標識符來打印它。
使用 USB 電纜將開發(fā)板插入計算機,然后按住BOOTSEL按鈕,然后點擊開發(fā)板上的RESET按鈕,
將examples/default_dev_eui/pico_lorawan_default_dev_eui.uf2文件復制到掛載的樹莓派Pico啟動ROM盤:
cp examples/default_dev_eui/pico_lorawan_default_dev_eui.uf2 /Volumes/RPI-RP2/.
使用串行監(jiān)視器應用程序,例如屏幕打開查看板的 USB 串行輸出,將/dev/cu.usbmodem0000000000001替換為板的路徑:
screen /dev/cu.usbmodem0000000000001
將顯示基于板閃存序列號的板默認 Dev EUI,在下面的屏幕截圖中值為“ 4545373038056807 ”。
記下此值以供下一步使用。
將設備添加到物聯(lián)網(wǎng)
Things Network 已棄用他們的 V2 堆棧,該堆棧將在 2021 年底關閉,現(xiàn)在向用戶推薦更多 V3 堆棧。V3 現(xiàn)在稱為“ The Things Stack Community Edition ”。本節(jié)將指導您在 V3 堆棧上設置節(jié)點。
轉(zhuǎn)到The Things Stack 社區(qū)版控制臺并選擇您所在的地區(qū)。
接下來單擊“使用 The Things ID 登錄”按鈕
如果您還沒有 TTN 帳戶,請單擊注冊創(chuàng)建一個然后登錄。
登錄后,單擊“轉(zhuǎn)到應用程序”。
如果您沒有現(xiàn)有的應用程序,請單擊“添加應用程序”按鈕創(chuàng)建一個。
輸入一個Application ID,我們在下面使用了“ feather-rp2040-app ”,然后點擊“ Create application ”按鈕。
單擊“添加終端設備”按鈕以創(chuàng)建新設備。
單擊“手動”選項卡,因為我們正在創(chuàng)建的設備不在 LoRaWAN 設備存儲庫中。
選擇“無線激活 (OTAA) ”作為激活模式,選擇“ MAC V1.0.2 ”作為 LoRaWAN 版本。該字段的其余部分可以保留其默認值,然后您可以單擊“開始”按鈕。
接下來輸入“ End device ID ”,在下面的屏幕截圖中輸入“ feather-rp2040 ”,為 JoinEUI 輸入全 0,并使用您從開發(fā)板獲得的默認 Dev EUI 值作為DevEUI字段。然后單擊“網(wǎng)絡層設置”按鈕。
選擇您所在地區(qū)的“頻率計劃”和“地區(qū)參數(shù)版本”為PHY V1.0.2 REV A ,然后單擊“加入設置”按鈕。
單擊 AppKey 旁邊的圓形箭頭按鈕生成 AppKey,然后單擊“添加終端設備”按鈕。
現(xiàn)在已經(jīng)添加了設備,請記下 JoinEUI、DevEUI 和 AppKey 值以備后用。
配置板 OTAA 設置
打開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 設置重新編譯示例:
make
按住BOOTSEL按鈕,然后點擊板上的RESET按鈕,
將examples/otaa_temperature_led/pico_lorawan_otaa_temperature_led.uf2文件復制到掛載的樹莓派Pico啟動ROM盤:
cp examples/otaa_temperature_led/pico_lorawan_otaa_temperature_led.uf2 /Volumes/RPI-RP2/.
使用串行監(jiān)視器應用程序,例如屏幕打開查看板的 USB 串行輸出,將/dev/cu.usbmodem0000000000001替換為板的路徑:
screen /dev/cu.usbmodem0000000000001
如果成功,板將加入 TTN 并開始每 30 秒發(fā)送一次內(nèi)部溫度傳感器值。
您還可以在 TTN 控制臺中查看板狀態(tài)。
單擊“實時數(shù)據(jù)”以查看板的實時數(shù)據(jù):
數(shù)據(jù)消息值是十六進制的,應該與串行監(jiān)視器上顯示的值相匹配。在上面的屏幕截圖中,0x26 = 38 °C。
接下來我們可以向板子發(fā)送一條下行消息,點擊“消息”選項卡。
然后“ Downlink ”,輸入01作為Payload,然后點擊“ Simulate uplink ”按鈕。注意:如果按鈕被禁用,您可以刷新頁面以啟用它。
一旦板子收到下行信息,它的板載 LED 就會亮起,并且串行監(jiān)視器上也會顯示一條信息:
LoRaWAN B 類設備在發(fā)送上行消息后,只能在特定窗口期內(nèi)接收下行消息。我們加載的示例每 30 秒發(fā)送一條消息,因此您必須等待一分鐘才能收到它。
您現(xiàn)在可以向電路板發(fā)送另一個帶有 00 的下行鏈路消息以清除 LED。
下一步
我們已經(jīng)介紹了如何使用 Raspberry Pi Pico SDK 和帶有 The Things Network V3的pico-lorawan庫創(chuàng)建基于 RP2040 的 LoRaWAN 節(jié)點。我們創(chuàng)建的示例應用程序每 30 秒將板子內(nèi)部溫度發(fā)送到 TTN,下行鏈路消息可以遠程控制板子的 LED。
您現(xiàn)在可以通過以下方式構建此示例:
- 在上行鏈路消息中添加更多傳感器值
- 使用來自下行鏈路消息的附加值來控制其他執(zhí)行器
- 遵循The Things Stacks 集成指南,使用 HTTP Web 掛鉤、MQTT、NODE-Red、IFFT 或云平臺(例如 AWS IoT)處理應用程序上的下行鏈路消息。
由于 Raspberry Pi RP2040 包含雙核功能,您還可以創(chuàng)建更高級的項目,這些項目可以在一個核上收集和使用機器學習,同時讓另一個核處理與 TTN 的 LoRaWAN 通信。
如果您使用本指南制作了一個很酷的項目,請在Hackster.io上為它創(chuàng)建一個項目指南,供其他人欣賞!
在世界標準時間 4 月 29 日下午 5 點舉行的本周Arm 創(chuàng)新咖啡會議上,聆聽 The Things Network 團隊的更多信息,并了解該項目的實際運行情況。
?
?
- 如何在Windows上設置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模塊進行環(huán)境監(jiān)測
- RP2040模塊MCU開源分享
- BBkey80:由XIAO RP2040驅(qū)動的GL516兼容鍵盤
- RP2040迷你板開源分享
- RP2040 MicroMOD處理器板開源分享
- ProMicro-RP2040印刷電路板
- 5分鐘內(nèi)將Raspberry Pi Pico變成簡單的示波器+波形發(fā)生器 1522次閱讀
- 使用CW32單片機通過ESP8266連接OneNET物聯(lián)網(wǎng)平臺 1176次閱讀
- 基于RP2040的ToF雷射測距裝置設計 901次閱讀
- 連接到您最喜歡的數(shù)據(jù)庫集 529次閱讀
- 物聯(lián)網(wǎng)中的精度很重要 456次閱讀
- 物聯(lián)網(wǎng)中的精度很重要 560次閱讀
- 簡化嵌入式物聯(lián)網(wǎng)應用的軟件開發(fā) 599次閱讀
- 當Arduino遇上樹莓派:Nano RP2040連接板 6472次閱讀
- 基于RP2040設計的發(fā)光魔法LED立方體 2127次閱讀
- Nano RP2040連接板的應用程序 4784次閱讀
- 基于樹莓派產(chǎn)品 Raspberry Pi微控制器板的優(yōu)缺點 2710次閱讀
- 物聯(lián)網(wǎng)是什么和物聯(lián)網(wǎng)基本架構 5697次閱讀
- 基于RP2040的Pico可用作PIO的邏輯分析儀 9774次閱讀
- 物聯(lián)網(wǎng)的工作原理是怎樣的 9891次閱讀
- 物聯(lián)網(wǎng)應用連接到 Google Cloud怎樣去實現(xiàn) 688次閱讀
下載排行
本周
- 1無鉛焊接的可靠性
- 1.03 MB | 5次下載 | 1 積分
- 2GBT1094.11-2022電力變壓器第11部分:干式變壓器
- 14.12 MB | 3次下載 | 免費
- 3PT500齒輪傳動動力學綜合測試實驗臺
- 0.16 MB | 3次下載 | 免費
- 4爬電距離和電氣間隙計算
- 0.75 MB | 2次下載 | 1 積分
- 5SX1308應用電路圖與SX1308升壓電路圖
- 0.18 MB | 1次下載 | 免費
- 6ADC參數(shù)單位換算
- 761.94KB | 1次下載 | 免費
- 7串口工具UartAssist5.0.exe
- 0.60 MB | 1次下載 | 免費
- 8UCC38C42 25瓦自諧振復位正激變換器
- 320.6KB | 1次下載 | 免費
本月
- 1ACDC變換器的原理圖免費下載
- 0.26 MB | 65次下載 | 免費
- 2無刷電機控制方案設計合作
- 1.05 MB | 22次下載 | 免費
- 3美的超薄電磁爐TM-S1-09B主板原理圖
- 0.08 MB | 20次下載 | 免費
- 4純電動汽?的主要部件及?作原理
- 5.76 MB | 12次下載 | 5 積分
- 5GP328和GP88S對講機的維修實列資料合集免費下載
- 0.03 MB | 10次下載 | 10 積分
- 6舒爾SLX4無線話筒接收機原理圖:二次變頻超外差部分
- 0.27 MB | 8次下載 | 免費
- 7IP5385_DEMO開發(fā)資料
- 1.96 MB | 7次下載 | 2 積分
- 8i.MX Linux開發(fā)實戰(zhàn)指南—基于野火i.MX系列開發(fā)板
- 17.86 MB | 7次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935115次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設計
- 1.48MB | 420061次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191363次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183329次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73805次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65985次下載 | 10 積分
評論
查看更多