物联网 Arduino lorawan 2024/05/17
M5Stack 最近发布了更新的 LoRaWAN 模块。本文将教你如何使用 UIFlow 将其连接到物联网。
介绍
M5Stack 最近发布了使用基于 ASR6501 的 heltec cubecell 芯片的更新 LoRaWAN 模块。该芯片理论上可以使用 Arduino 进行编程,但该模块旨在供 AT 命令使用。
该模块支持两种不同的模式:LoRa(点对点)和 LoRaWAN。这个项目是关于使用 LoRaWAN 将模块连接到 The Things Network - TTN 。
硬件设置
在将模块连接到 M5Stack 设备之前,请确保正确设置 TXD/RXD 指拨开关。如果您使用灰色或基本款并且没有连接其他任何东西,则默认的 UART 引脚配置 16/17 就可以了。对于 Fire,应该使用 13/5,因为所有其他设置都会干扰 Fire 的内部结构。
与 COM.LoRaWAN 芯片通讯
一切正确连接后,让我们确保模块和芯片之间的通信正常。
打开 UIFlow 并加载 UART passthrough 演示。如果之前使用 DIP 开关更改了引脚配置,请确保在 UART 设置块中进行更改。对于 Fire,我将其从 17/16 更改为 5/13。现在在您的设备上运行该应用程序。从现在开始,您通过 USB 电缆发送的串行数据将被转发到 COM.LoRaWAN 芯片。
要使用 USB 发送数据,我们将使用 M5Stack 提供的 M5Burner 软件。将您的设备连接到您的计算机,打开 M5Burner 应用程序并确保选择了正确的 com 端口。现在单击 Com Monitor,您将看到一个窗口,允许我们与 COM.LoRaWAN 芯片进行交互。
在这里,您可以通过键入命令并单击发送在底部输入命令。您也可以按键盘上的 Ctrl-Enter。在顶部,您将看到芯片的答案。
该芯片支持低功耗模式,可通过发送任意命令唤醒。如果您看到“ASR is Waked,LowPower Mode Stopped”您刚刚唤醒了芯片,则必须重复该命令以使芯片对其做出响应。
首先我们看看芯片是LoRa模式还是LoRaWAN模式。您可以通过发送以下命令来执行此操作:
AT+LORAWAN=?
芯片现在应该以 0 响应 LoRa,1 响应 LoRaWAN 模式。
让我们将其设置为 LoRaWAN 模式:
AT+LORAWAN=1
芯片应响应存储在芯片中的 LoRaWAN 数据。所有这些设置都被保存,并且在断开芯片电源的情况下仍然存在。
目前,您唯一需要的是设备 EUI。选择并复制它。现在让我们在 TTN 中注册设备。
TTN的配置
按照 TTN 网站 ( https://www.thethingsnetwork.org/docs/devices/registration.html ) 上的设备注册教程创建帐户并注册应用程序和设备。当它要求提供设备 ID 时,将您之前复制的 ID 粘贴到 M5Burner 应用程序中。本教程的 ABP 部分可以忽略。
从该注册过程中,您现在应该拥有加入 TTN 网络所需的另外两个设置:App Key 和 App EUI。在下一章中,我们会将它们保存到 COM.LoRaWAN 芯片中。
设置和首次加入
让我们回到 M5Burner 应用程序并保存 TTN 在上一步中提供的设置。您必须一个接一个地设置设置。它们将存储在芯片中,您无需在设备重置后再次设置它们。
AT+AppEui=AABBCCDD
AT+AppKey=AABBCCDD
现在您可以尝试加入网络:
AT+Join=1
芯片应以“Joining.。.”回答。如果你做的一切都正确,一段时间后你应该看到“加入”。如果它不起作用,请确保您正确执行了前面的所有步骤。如果您无法访问 TTN 网关,您也将无法加入。您可以在https://ttnmapper.org/上查看最近的网关所在的位置。
发送数据
如果您成功加入,您现在可以通过 TTN 发送内容,方法是发送以下命令:
AT+SendHex=CAFE
如果你在 TTN 上的应用程序中访问您的设备并单击数据选项卡,您现在应该会看到数据到达。
这里还没有内容,您有什么问题吗?