基于ESP32的LoRaWan节点通信#
实验目的#
lora节点与lorawan网关之间的通信
chirpstack平台管理与应用
chirpstack与thingsboard集成
实验方案#
所需软硬件#
lora节点:ESP32+ RAK3172
LORA 网关: RaspberryPi4 + RAK2275 + Chirpstack Gateway Bridge
Chirpstack 平台
网络方案#
chirpstack#
ChirpStack 是一个开源的物联网 (IoT) 应用和设备管理平台,旨在简化和加强物联网解决方案的开发和管理。它提供了一个端到端的解决方案,包括设备管理、应用程序开发、数据管理和集成。
ChirpStack 通过使用 LoRaWAN® 网络协议来连接和管理物联网设备。LoRaWAN 是一种低功耗、长距离无线通信协议,非常适用于物联网应用。ChirpStack 支持与多种 LoRaWAN 网络服务器进行集成,例如 Semtech 的 LoRa Server 和其他兼容的网络服务器。
ChirpStack 提供了一套功能强大的工具和界面,帮助开发者管理物联网设备。它包括以下主要组件:
网关管理器 (Gateway Bridge):用于与物联网网关进行通信,接收从设备发送的数据,并将其传递给网络服务器。
网络服务器 (Network Server):处理从设备和网关收到的数据,并负责验证和解析数据包。它还提供设备管理、设备活动监控和安全认证等功能。
应用服务器 (Application Server):提供应用程序开发和集成的功能。它可以接收从设备发送的数据,并根据开发者定义的规则进行处理、存储和转发数据。开发者可以使用应用服务器来构建自定义的 IoT 应用程序和集成其他系统。
用户界面 (User Interface):ChirpStack 提供了一个用户友好的界面,用于管理设备、应用程序和网络服务器的各个方面。开发者可以使用界面来监控设备的状态、配置应用程序和进行故障排除。
ChirpStack 的开源性质使得开发者可以自由地定制和扩展平台的功能,以满足特定的物联网解决方案需求。它支持多种操作系统和硬件平台,使得部署和集成变得更加灵活和可靠。
总而言之,ChirpStack 是一个功能强大的开源物联网平台,通过集成 LoRaWAN 网络协议,提供了完整的设备管理、应用程序开发和数据管理解决方案,帮助开发者构建可靠和可扩展的物联网应用。
实验步骤#
chirpstack地址:http://8.134.62.44:8081
添加网关#
进入到chirpstack UI ,然后:
Gateways|Add gateway
name
Gateway ID (如何获取 Gateway ID)
Submit
添加设备描述#
进入到chirpstack UI ,然后:
Device profiles | Add device profile
,填写入下内容:Name
Regin:CN470
MAC Version:LoraWan 1.0.3
Regional parameters revision: A
ADR algorithm: Default
Submit
添加应用#
进入到chirpstack UI ,然后:
Applications | Add application
name
Description
Submit
在应用中添加设备#
进入到chirpstack UI ,然后:
Application|「选择应用」|Add device|
填写你的设备
填写Device EUI ,由
at+deveui=?
获取。选择已经设置好的Device profile
submit
填写
application key
,由at+appkey=?
获取
加入Lorawan网络
at+join
发送数据
at+send=
例如:
at+send=25:018806765ff2960a0003e8
接受数据
at+recv=?
编码实现以上 join,send,receive过程。
集成到ThingsBoard#
进入thingsboard管理页面,添加设备,命名与上面在chirpstack的命名一致
获取该设备的访问令牌,即TOCKEN。
返回到chirpstack管理页面,添加应用集成
进入菜单
Applications | [设备所在的应用名称] | Integrations
,找到Thingsboard,填写ThingsBoard server 为:http://8.134.62.44:8080
在chirpstack管理页面,添加上述设备访问令牌
进入相应的设备页面
Configuration | Variables | + add Variables
填写如下键值对:
key: ThingsBoardAccessToken
Value: 刚才在thingsboard中复制的访问令牌
设置完成后,发送数据,在thingsboard设备的最新遥测数据中可观察到刚才发送的数据