加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

【RT-Thread作品秀】多功能单通道LoRaWAN网关(LiteCoG v1.0)

2020/12/31
1858
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图(3)
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

作者:forest-rain

 

1 概述

物联网终极目标是实现万物互联,帮助人类社会实现更高阶的智能化。IoT网关负责海量物联网端侧设备与物联网云端应用的沟通,发挥着承上启下的重要作用,是实现万物互联的关键一环。IoT网关已广泛应用于工业、农业、畜牧业、智能家居智慧城市等等垂直行业。

LiteCoG(Lite Connect Gateway)是一款小型的、支持多种连接方式的IoT网关,当前的主体功能是一个单\双通道LoRaWAN网关,北向采用以太网\WiFi\4G Cat1连接,南向通信采用LoRa通信,同时也可支持BLE\RS485等连接方式,具有远距离通信、低成本、方便部署、易扩展等特性,便于市场规模推广。旨在面向智能家居、智慧社区、智慧停车等局域网内、设备容量较小的物联网通信场景,同时由于具备良好的成本优势,也可以作为LoRaWAN网络的补盲设备。

当前实现万物互联所面临的问题与挑战:

如智能家居,目前智能家居还不是社会刚需,因此大规模推广对成本极其敏感,采用高性能的LoRa网关芯片(SX130x)方案,可以满足设计需求,但是成本承压,同时性能过剩。

如智慧社区,智慧社区是放大版的智能家居,也是一个缩小版的社会。随着我国人口日益老龄化,智慧养老社区的需求日益突显,如何解决空巢老人、孤寡老人的监护是我国当前社会面临的一个新难题。构建智慧社区所需庞大的启动资金是一个必须逾越的障碍。

如智慧停车,停车难一直是城市公共交通的长期挑战。海量的车,方便了出行,却受限于终点,通过物联网技术把分散的停车资源利用起来,是缓解停车难的可行方式。

LiteCoG网关基于RT-Thread操作系统,采用LoRa SX126X\SX127X来提供标准LoRaWAN接入能力,可以较大压缩BOM成本;借助LoRa调制的远距离通信能力、低功耗特性,在全屋\社区\小范围停车等应用领域,基本可以非常灵活的部署电池供电的智能设备,非常方便。同时借助RT-Thread强大的软硬件生态资源,可以极大加快产品开发效率,缩短产品上市时间。

    • LoRaWAN单通道网关(lgwsc)
          • 利尔达 Unicore
          • 腾讯云 loragw.qcloud.com
      • Class A
      • 支持lgwsc shell命令
      • 支持网关参数配置
      • 支持掉电存储功能
      • 北向连接
        • Ethernet
        • WiFi
        • 4G Cat1

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接口的设备(比如本文中的LoRa SPI模块)
    • 网络(Network)
      • AT命令
      • SAL 套接字抽象层
      • TCP/IP协议栈
        • lwip轻量级协议栈
      • 常用工具(Utilities)
        • ulog日志
  • 软件包
    • AT设备软件包:at_device-latest;
    • adbd-v1.1.1
    • btstack-v0.0.1   
    • 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
    • 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芯片sx126x\sx127x射频驱动
      • 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目前还只实现产品原型功能,还有很多需要进一步优化完善的地方,未来也期待跟小伙伴们一起持续优化与迭代为成熟稳定的产品。

最后感谢主办方提供的平台与参与活动的工作人员们的辛勤付出。

 

 

  • 代码地址.rar
    描述:代码地址
  • 【RT-Thread作品秀】多功能单通道LoRaWAN网关(LiteCoG v1.0).pdf
    描述:多功能单通道LoRaWAN网关 完整文档

相关推荐

电子产业图谱