多功能单通道LoRaWAN网关(LiteCoG v1.0)
原标题:多功能单通道LoRaWAN网关(LiteCoG v1.0)
1 概述
物联网终极目标是实现万物互联,帮助人类社会实现更高阶的智能化。IoT网关负责海量物联网端侧设备与物联网云端应用的沟通,发挥着承上启下的重要作用,是实现万物互联的关键一环。IoT网关已广泛应用于工业、农业、畜牧业、智能家居、智慧城市等等垂直行业。
LiteCoG(Lite Connect Gateway)是一款小型的、支持多种连接方式的IoT网关,当前的主体功能是一个单双通道的LoRaWAN网关,北向采用以太网WiFi4G Cat1连接,南向通信采用LoRa通信,同时也可支持BLERS485等连接方式,具有远距离通信、低成本、方便部署、易扩展等特性,便于市场规模推广。旨在面向智能家居、智慧社区、智慧停车等局域网内、设备容量较小的物联网通信场景,同时由于具备良好的成本优势,也可以作为LoRaWAN网络的补盲设备。
当前实现万物互联所面临的问题与挑战:
如智能家居,目前智能家居还不是社会刚需,因此大规模推广对成本极其敏感,采用高性能的LoRa网关芯片(SX130x)方案,可以满足设计需求,但是成本承压,同时性能过剩。
如智慧社区,智慧社区是放大版的智能家居,也是一个缩小版的社会。随着我国人口日益老龄化,智慧养老社区的需求日益突显,如何解决空巢老人、孤寡老人的监护是我国当前社会面临的一个新难题。构建智慧社区所需庞大的启动资金是一个必须逾越的障碍。
如智慧停车,停车难一直是城市公共交通的长期挑战。海量的车,方便了出行,却受限于终点,通过物联网技术把分散的停车资源利用起来,是缓解停车难的可行方式。
LiteCoG网关基于RT-Thread操作系统,采用LoRa SX126XSX127X来提供标准LoRaWAN接入能力,可以较大压缩BOM成本;借助LoRa调制的远距离通信能力、低功耗特性,在全屋社区小范围停车等应用领域,基本可以非常灵活的部署电池供电的智能设备,非常方便。同时借助RT-Thread强大的软硬件生态资源,可以极大加快产品开发效率,缩短产品上市时间。
LoRaWAN单通道网关(lgwsc)
对接标准LoRaWAN服务器
UDP
利尔达 Unicore
腾讯云 loragw.qcloud.com
Class A
支持lgwsc shell命令
支持网关参数配置
支持掉电存储功能
北向连接
Ethernet
WiFi
4G Cat1
人机交互
OLED显示屏
2 开发环境
软件平台:
RT-Thread版本:4.0.3
开发工具及版本:RT Thread Studio 2、MDK5
PessimonUIBuilder 3.0设计器
硬件平台
ART-Pi主板
STM32H750
AP6212
ART-Pi 工业扩展板
以太网、485
ART-Pi 多媒体扩展板
320*480 TFT屏幕
LoRa多功能能扩展板(LRS007)
SX1268 LoRa模块
1.3英寸 OLED液晶屏
3 RT-Thread使用情况概述
RT-Thread内核:
调度器:多线程(任务)实现
线程间同步:信号量、互斥量
线程间通信:邮箱、消息队列
内存管理:mem pool、memheap管理算法
软件定时器
组件(Compentont):
FinSH控制台
设备驱动(Device Drivers)
I/O 设备模型
PIN设备 、I2C设备、UART设备、RTC设备、TOUCH设备
WIFI框架
SPI框架
使用 SPI 框架来驱动SPI接口的设备(比如本文中的LoRa SPI模块)
网络(Network)
netdev网卡
AT命令
SAL 套接字抽象层
TCP/IP协议栈
lwip轻量级协议栈
常用工具(Utilities)
ulog日志
软件包
AT设备软件包:at_device-latest;
adbd-v1.1.1
btstack-v0.0.1
CmBacktrace-v1.4.0
EasyFlash-v4.1.0
fal-v0.5.0
littlefs-v2.0.5
JSON软件包 cJSON-latest
网络工具包 netutils-latest
webclient软件包 webclient-latest
webnet-v2.0.2
web服务器
loragw-packet-forward-latest
单通道lorawan网关软件包
lora-radio-driver-latest
lora radio驱动软件包
multi-rtimer
低功耗硬实时定时模块
ft6236-v1.0.0
触摸芯片ft6236驱动
Persimmon柿饼库
其他
ART-Pi SDK开发包
sdk-bsp-stm32h750-realthread-artpi
4 系统设计
4.1 典型IoT系统应用框架
多功能单通道LoRaWAN网关(LiteCoG)用于连接物联网终端设备与云端服务器,起到了承上启下的作用。
4.2 硬件框架
多功能单通道LoRaWAN网关(LiteCoG)硬件主要由ART-Pi主板+ART-Pi工业扩展板+ART-Pi多媒体扩展板+4G Cat1模块扩展板(L610)+LoRa多功能扩展板(LRS007)组成。
通过不同的搭配,可满足不同应用场景。比如
LoRaWAN室内网关(WiFi版本)
ART-Pi主板+LoRa多功能扩展板(LRS007)应用于智能家居、智慧农业等室内场景
LoRaWAN室内网关(WiF版本) 带中控屏
ART-Pi主板+ART-Pi多媒体扩展板+LoRa多功能扩展板(LRS007)应用于智能家居、智慧社区等场景
LoRaWAN室外网关(4G版本)
ART-Pi主板+4G Cat1模块扩展板(L610)+LoRa多功能扩展板(LRS007)应用于智慧停车等室外场景
LoRaWAN室内外网关(以太网版)
ART-Pi主板+ART-Pi工业扩展板+LoRa多功能扩展板(LRS007)应用于智慧工厂等场景
多功能单通道LoRaWAN网关(LiteCoG)北向支持WiFi、以太网、4G Cat1方式,根据实际应用场景选择。北向采用LoRa调试方式,实现LoRaWAN单通道接入功能。
对于智能家居等应用,若有中控屏需求,则可进一步使用触摸屏或者OLED来进行人机交互。
4.3 软件框架说明
多功能单通道LoRaWAN网关(LiteCoG)1.0主体功能之一是实现单通道的LoRaWAN网关,北向通信协议是基于UDP通信,南向通信协议是LoRaWAN,同时可以进一步扩展LiteCoG来实现边缘计算功能,即直接对LoRaWAN终端设备控制的能力,以便满足一些网没有外网、更高的实时等情况。其他功能还有网关参数配置,掉电保存、获取天气信息,OLED显示,柿饼UI显示等等
5 软件模块说明
loragw-pkt-fwd单通道lorawan网关实现lorawan数据包转发功能
static void thread_up(void)
接收到lorawan终端设备的lora上行消息
周期性获取状态信息
组帧成 PUSH_DATA(json格式),然后发送给lorawan服务器
static void thread_down(void);
维持与lorawan服务器之间链路
接收并解析lorawan服务器的下行数据包(json),并加入JiT队列
static void thread_jit(void);
周期性从 JiT 队列取报文并通过lora发送到lorawan终端设备
static int lgwsc(int argc, char *argv[])
shell命令,用于设置网关参数(eui、freq、datarate等)
参数掉电存储
lora-radio软件包
实现lora芯片sx126xsx127x射频驱动
lora-radio-sx126x.c
对外提供了上层访问接口实现
lora-spi-sx126x.c
sx126x芯片的spi读写接口实现
rt_device
sx126x.c
lora芯片sx126x底层驱动
multi-rtimer软件包
实现硬实时定时模块,用于给lora-radio超时服务、给loragw-pkt-fwd提供较精确的下发定时器
lorawan-ed-stack软件包
用于解析lorawan协议帧,实现LiteCoG本地对lorawan终端设备的直接控制
6 演示效果
视频:
7 代码地址在附件。
8 比赛感悟
参加此次比赛使我对RT-Thread操作系统有了一个相对全面的应用与认识。总体感受,RT-Thread是一个非常强大的RTOS,历经10多年的打磨与沉淀,很多方面已经比较成熟与完善。虽然行业内还有很多其他优秀的RTOS,但是RT-Thread更贴近于开发者,不断迭代创新,同时代码风格与文档、丰富组件与软件包也赢得了很多粉丝。
搭积木式开发,大大提高了开发效率,这得益于RT-Thread长期积累、十年磨一剑地持续迭代与智慧输出,提供了非常丰富的开源软件资源,就如同linux一样,很多轮子已经造好,rt-thread使得嵌入式的应用开发变得更简单与高效。RT-Thread软件包的形式,继承与发扬包管理器的理念,便于大家使用与贡献自己的代码与知识分享,也使得RT-Thread开源社区更为活跃。
星星之火可以燎原,充实自己,向大佬们学习,为开源社区添砖加瓦,贡献自己的一份绵薄之力。期望有朝一日,物联网行业可以借助rt-thread等RTOS生态,各行各业的小伙伴们一同携手并进,共同提升产品开发效率,进而提升整体行业效率,降低社会成本。
LiteCoG 1.0目前还只实现产品原型功能,还有很多需要进一步优化完善的地方,未来也期待跟小伙伴们一起持续优化与迭代为成熟稳定的产品。
最后感谢主办方提供的平台与参与活动的工作人员们的辛勤付出。
责任编辑:
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。