资料介绍
描述
本指南是代表 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 4次下载
- RP2040 Raspberry Pi Pico遇见LoRa 0次下载
- Arduino Raspberry Pi Pico/RP2040以太网:W5100S EVB Pico 1次下载
- 将MicroPython从Raspberry pi(RP2040)移植到Wiznet5K 0次下载
- 基于RP2040板的SUMP/OLS兼容逻辑分析仪固件 7次下载
- 使用RP2040和KMK固件的40%正交线性键盘 0次下载
- 使用RP2040和W5100S的无套接字功能 0次下载
- AI WB2和XIAO RP2040组合开源 0次下载
- 使用Seeed Wio RP2040模块进行环境监测 2次下载
- RP2040模块MCU开源分享 11次下载
- BBkey80:由XIAO RP2040驱动的GL516兼容键盘 0次下载
- RP2040迷你板开源分享 9次下载
- RP2040 MicroMOD处理器板开源分享 8次下载
- ProMicro-RP2040印刷电路板 11次下载
- 树莓派 Raspberry Pi 设计的微控制器 RP2040迷你开发板Raspberry Pi Pico 24次下载
- 5分钟内将Raspberry Pi Pico变成简单的示波器+波形发生器 454次阅读
- 优化DFX设计的方法 375次阅读
- 基于RP2040的ToF雷射测距装置设计 485次阅读
- 使用树莓派Pico制作USB麦克风 1339次阅读
- 连接到您最喜欢的数据库集 296次阅读
- 变频器如何在接线图中连接到PLC? 1093次阅读
- 一次学会使用Adafruit IO平台! 2811次阅读
- 当Arduino遇上树莓派:Nano RP2040连接板 5532次阅读
- 没有ADC的MCU怎么检测电位计的阻值变化 1756次阅读
- 基于RP2040设计的发光魔法LED立方体 1763次阅读
- Nano RP2040连接板的应用程序 4452次阅读
- 基于树莓派产品 Raspberry Pi微控制器板的优缺点 2389次阅读
- 基于RP2040的Pico可用作PIO的逻辑分析仪 8853次阅读
- 物联网应用连接到 Google Cloud怎样去实现 615次阅读
- PCB最小颈口长度连接到0603的焊盘布置规则资料概述 3956次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多