資料介紹
描述
本指南是代表 Arm 軟件開發人員團隊創建的,請在 Twitter 上關注我們:@ArmSoftwareDev和 YouTube:Arm 軟件開發人員以獲取更多資源!
關于
該項目將指導您使用 LoRaWAN 通信將您的Adafruit Feather RP2040板連接到The Thing Networks 。
重點將放在基本的 LoRaWAN 通信上,其中板將定期發送其內部溫度,發送到板的消息將用于控制內置 LED。
雖然本指南側重于Adafruit Feather RP2040板,但可以使用任何配備Raspberry Pi 的 RP2040 微控制器 (MCU) 的板,例如Raspberry Pi Pico。如果您不使用本指南中使用的Adafruit LoRa Radio FeatherWing - RFM95W 900 MHz - RadioFruit ,您還需要Semtech SX1276無線電模塊或分線器,例如Adafruit RFM95W LoRa 無線電收發器分線器 - 868 或 915 MHz - RadioFruit。
什么是 LoRaWAN?
LoRaWAN是低功耗廣域網的網絡協議規范。它使用Semtech 的 LoRa (遠程)無線電技術作為物理層 - 允許以低數據速率(0.3 至 50 kbps)進行遠程通信(5 - 20 公里,使用正確的天線和視線)。
LoRaWAN 網絡由幾個組件組成:終端節點、網關/集中器、網絡服務器和應用程序服務器。Thing Network - LoRaWAN Architecture頁面對這些組件有很好的解釋。
LoRaWAN 節點是發送和接收數據的嵌入式設備 - 我們將在本指南中專注于創建 LoRaWAN 節點。
什么是物聯網?
The Things Network是一個構建開源和去中心化 LoRaWAN 網絡的全球社區。
該網絡由遍布全球 150 多個國家的 19k+ 個社區運行的LoRaWAN 網關組成,并被全球 142k+ 社區成員使用。
對于本指南,您需要確保物聯網 (TTN) 網關在范圍內,請查看TTN 地圖了解網絡覆蓋范圍。如果您所在地區沒有 TTN 網關,您可以購買TTN 室內網關,用于開發和試驗 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 數據引腳連接到接頭引腳。我們還需要將 Feather Wing 上的 DIO1、IRQ、CS 和 RST 連接器焊接到連接器 B、C、D 和 E(注意:這些連接很靈活,可以在軟件中更改)。
將 FeatherWing 插入 Feather 板的頂部。
設置 Pico SDK 開發環境
您首先需要使用 Raspberry Pi 的 Pico SDK 和所需的工具鏈來設置您的計算機。
有關詳細信息,請參閱“ Raspberry Pi Pico 入門”。
該指南的第 2.1 節可用于所有操作系統,然后是操作特定部分:
- Linux:第 2.2 節
- macOS:第 9.1 節
- 窗戶:第 9.2 節
獲取和編譯 pico-lorawan 庫和示例
確保設置了PICO_SDK環境變量。
export PICO_SDK_PATH=/path/to/pico-sdk
在終端窗口中,克隆 git 存儲庫并更改目錄:
cd ~/
git clone --recurse-submodules https://github.com/sandeepmistry/pico-lorawan.git
cd pico-lorawan
創建一個構建目錄并將目錄更改為它:
mkdir build
cd build
運行cmake和make進行編譯:
cmake .. -DPICO_BOARD=adafruit_feather_rp2040
make
獲取開發板默認 Dev EUI
在注冊庫中包含的示例之一時,我們需要一個唯一的板標識符來打印它。
使用 USB 電纜將開發板插入計算機,然后按住BOOTSEL按鈕,然后點擊開發板上的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/.
使用串行監視器應用程序,例如屏幕打開查看板的 USB 串行輸出,將/dev/cu.usbmodem0000000000001替換為板的路徑:
screen /dev/cu.usbmodem0000000000001
將顯示基于板閃存序列號的板默認 Dev EUI,在下面的屏幕截圖中值為“ 4545373038056807 ”。
記下此值以供下一步使用。
將設備添加到物聯網
Things Network 已棄用他們的 V2 堆棧,該堆棧將在 2021 年底關閉,現在向用戶推薦更多 V3 堆棧。V3 現在稱為“ The Things Stack Community Edition ”。本節將指導您在 V3 堆棧上設置節點。
轉到The Things Stack 社區版控制臺并選擇您所在的地區。
接下來單擊“使用 The Things ID 登錄”按鈕
如果您還沒有 TTN 帳戶,請單擊注冊創建一個然后登錄。
登錄后,單擊“轉到應用程序”。
如果您沒有現有的應用程序,請單擊“添加應用程序”按鈕創建一個。
輸入一個Application ID,我們在下面使用了“ feather-rp2040-app ”,然后點擊“ Create application ”按鈕。
單擊“添加終端設備”按鈕以創建新設備。
單擊“手動”選項卡,因為我們正在創建的設備不在 LoRaWAN 設備存儲庫中。
選擇“無線激活 (OTAA) ”作為激活模式,選擇“ MAC V1.0.2 ”作為 LoRaWAN 版本。該字段的其余部分可以保留其默認值,然后您可以單擊“開始”按鈕。
接下來輸入“ End device ID ”,在下面的屏幕截圖中輸入“ feather-rp2040 ”,為 JoinEUI 輸入全 0,并使用您從開發板獲得的默認 Dev EUI 值作為DevEUI字段。然后單擊“網絡層設置”按鈕。
選擇您所在地區的“頻率計劃”和“地區參數版本”為PHY V1.0.2 REV A ,然后單擊“加入設置”按鈕。
單擊 AppKey 旁邊的圓形箭頭按鈕生成 AppKey,然后單擊“添加終端設備”按鈕。
現在已經添加了設備,請記下 JoinEUI、DevEUI 和 AppKey 值以備后用。
配置板 OTAA 設置
打開examples/otaa_temperature_led/config.h并輸入從上一節獲得的信息。
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
現在使用更新的 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/.
使用串行監視器應用程序,例如屏幕打開查看板的 USB 串行輸出,將/dev/cu.usbmodem0000000000001替換為板的路徑:
screen /dev/cu.usbmodem0000000000001
如果成功,板將加入 TTN 并開始每 30 秒發送一次內部溫度傳感器值。
您還可以在 TTN 控制臺中查看板狀態。
單擊“實時數據”以查看板的實時數據:
數據消息值是十六進制的,應該與串行監視器上顯示的值相匹配。在上面的屏幕截圖中,0x26 = 38 °C。
接下來我們可以向板子發送一條下行消息,點擊“消息”選項卡。
然后“ Downlink ”,輸入01作為Payload,然后點擊“ Simulate uplink ”按鈕。注意:如果按鈕被禁用,您可以刷新頁面以啟用它。
一旦板子收到下行信息,它的板載 LED 就會亮起,并且串行監視器上也會顯示一條信息:
LoRaWAN B 類設備在發送上行消息后,只能在特定窗口期內接收下行消息。我們加載的示例每 30 秒發送一條消息,因此您必須等待一分鐘才能收到它。
您現在可以向電路板發送另一個帶有 00 的下行鏈路消息以清除 LED。
下一步
我們已經介紹了如何使用 Raspberry Pi Pico SDK 和帶有 The Things Network V3的pico-lorawan庫創建基于 RP2040 的 LoRaWAN 節點。我們創建的示例應用程序每 30 秒將板子內部溫度發送到 TTN,下行鏈路消息可以遠程控制板子的 LED。
您現在可以通過以下方式構建此示例:
- 在上行鏈路消息中添加更多傳感器值
- 使用來自下行鏈路消息的附加值來控制其他執行器
- 遵循The Things Stacks 集成指南,使用 HTTP Web 掛鉤、MQTT、NODE-Red、IFFT 或云平臺(例如 AWS IoT)處理應用程序上的下行鏈路消息。
由于 Raspberry Pi RP2040 包含雙核功能,您還可以創建更高級的項目,這些項目可以在一個核上收集和使用機器學習,同時讓另一個核處理與 TTN 的 LoRaWAN 通信。
如果您使用本指南制作了一個很酷的項目,請在Hackster.io上為它創建一個項目指南,供其他人欣賞!
在世界標準時間 4 月 29 日下午 5 點舉行的本周Arm 創新咖啡會議上,聆聽 The Things Network 團隊的更多信息,并了解該項目的實際運行情況。
?
?
- 如何在Windows上設置Pico RP2040
- RP2040 Raspberry Pi Pico遇見LoRa
- Arduino Raspberry Pi Pico/RP2040以太網:W5100S EVB Pico
- 將MicroPython從Raspberry pi(RP2040)移植到Wiznet5K
- 基于RP2040板的SUMP/OLS兼容邏輯分析儀固件
- 使用RP2040和KMK固件的40%正交線性鍵盤
- 使用RP2040和W5100S的無套接字功能
- AI WB2和XIAO RP2040組合開源
- 將您的中央供暖連接到Arduino
- 使用Seeed Wio RP2040模塊進行環境監測
- RP2040模塊MCU開源分享
- BBkey80:由XIAO RP2040驅動的GL516兼容鍵盤
- RP2040迷你板開源分享
- RP2040 MicroMOD處理器板開源分享
- ProMicro-RP2040印刷電路板
- 5分鐘內將Raspberry Pi Pico變成簡單的示波器+波形發生器 1522次閱讀
- 使用CW32單片機通過ESP8266連接OneNET物聯網平臺 1176次閱讀
- 基于RP2040的ToF雷射測距裝置設計 901次閱讀
- 連接到您最喜歡的數據庫集 529次閱讀
- 物聯網中的精度很重要 456次閱讀
- 物聯網中的精度很重要 560次閱讀
- 簡化嵌入式物聯網應用的軟件開發 599次閱讀
- 當Arduino遇上樹莓派:Nano RP2040連接板 6472次閱讀
- 基于RP2040設計的發光魔法LED立方體 2127次閱讀
- Nano RP2040連接板的應用程序 4784次閱讀
- 基于樹莓派產品 Raspberry Pi微控制器板的優缺點 2710次閱讀
- 物聯網是什么和物聯網基本架構 5697次閱讀
- 基于RP2040的Pico可用作PIO的邏輯分析儀 9774次閱讀
- 物聯網的工作原理是怎樣的 9891次閱讀
- 物聯網應用連接到 Google Cloud怎樣去實現 688次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 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十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多