【N32G457 】基于RT-Thread的LORA气象传输系统

在这里插入图片描述本文是RT-Thread用户@SKND_9485 原创发布,是用于参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thread.org/ask/article/3434.html

一、作品简介:
基于RT-Thread 、N32G457、STM32、LoRA的点对点传输系统;
STM32负责数据采集与发射;
N32G457负责数据接收并与串口屏交互;
串口屏显示数据;
二、硬件框架:
1.数据采集与发射端:
36d5e54f08e15ad2a35af88aabc3812a.png

2.数据显示与接收端:
7f9d68181c12d031008407d694620e4f.png
三、软件框架图
1358063459ebeaad2f565f647daf7358.png
cb7447b81245bb83af2036bae2c137a7.png

四.作品展示:
IMG_20220308_170824.jpg

五.代码地址:
https://gitee.com/mr-wang-zhenggong/rt-thread
六.视频演示:
https://www.bilibili.com/video/BV1aS4y1S7L2?pop_share=1

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
概述随着物联网应用的不断发展,传统的传输技术在各个物联网行业应用方面渐渐不能满足我们的需求,传统的局域网技术,如2.4GHz的WiFi,蓝牙、Zigbee等,以及传统广域网技术2G/3G/4G等无线技术,不能同时兼顾远距离和低功耗。直到在低功耗广域网(Low Power Wide Area Network, LPWAN)技术出现后,能在保证更远距离的通信传输的同时,最大限度的降低功耗,节约传输成本。 本应用使用ART-PI开发板,NUCLEO-L452开发板以及本人自制的扩展板,组成LORA采集端和接收转发端,即使在条件恶略的环境下也能采集数据并通过LORA传送接收并转发至云平台. 开发环境硬件:ART-PI开发板NUCLEO-L452开发板 LORA采集扩展板(安信可Ra-02,DHT11) LORA接收扩展板(安信可Ra-02,W5500,sp485) RT-Thread版本:RT-Thread4.03(ART-PI开发板)RT-Thread4.02(NUCLEO-L452开发板) 开发工具及版本:RT-ThreadStudio V2.0 STM32CuBeMx V6.1.0 RT-Thread使用情况概述内核部分:主要使用了线程管理 时钟管理 组件部分:FinSH控制台,netdev网卡,SAL套接字抽象层,ulog日志 软件包部分:cjson webclient,pahomqtt,fal,wiznet,dhtxx 硬件框架采集端:简单的LORA模组,通过SPI跟板卡通信,以及一个可控LDO和AHT10和BH1750,以LDO控制AHT10和BH1750以达到低功耗的效果. 接收端:一个LORA模组,一个W5500芯片,SPI通信,以及一个SP485. 主要部分就是LORA模组以及W5500,本设计使用立创EDA设计,W5500参考自立创官方团队. 软件框架说明ART-PINUCLEO-L452软件模块说明ART-PI(接收端),上电自动初始化LORA和W5500,等待W5500连接上网络,这里通过判断网卡的状态,当link_up状态后,开始连接mqtt服务器,就可以把LORA接受的数据通过MQTT发送至平台. NUCLEO-L452(采集端),上电初始化软件IIC,直接采集同一总线下AHT10和BH1750的数据,并通过LORA直接发送出去.(备注:因时间关系,采集端的低功耗并没有做,年前估计没时间完善了,以后有时间继续完善) 演示效果视频展示: 比赛感悟这次比赛又学到了不少东西,最主要的就是I2C总线设备和netdev 网卡,刚开始板载WIFI使用时无法使用W5500,因为默认网卡的原因,后来查询RT-Thread 文档中心,看看API和示例,轻松解决.还有就是使用I2C总线设备,刚开始一直想要使用硬件IIC和软件包去驱动AHT10和BH1750,后来发现软件IIC加PIN设备轻松解决,对着文档中心的例子,轻松举一反三出BH1750的程序.所以感觉RT-Thread的文档是真的全乎,所有自己解决不了的东西文档中心都有.但很遗憾的是这次由于出差的原因并没能很完美的展现出来作品,其中ART-PI扩展板上的485并没写到程序中,IWIFI也没应用到(现在是以太网),采集端的低功耗也没有做,年后一定把晚上出来!
作者: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) 对接标准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系统应用框架多功
风速监测报警作者:苏庆洪 概述风速监测报警系统基于 MCU芯片开发,支持采集多路从机分节点的风速数据,通过无线主从传输,主机收集数据,通过显示屏实时监视,在风速超过报警值时,通过GPIO输出接点信号,启动预警,降低自然风灾害对生命财产损失的风险。点对点无线传输距离可达 2000m ~ 3000m,具有传输距离远的特点,通过组网可以覆盖大面积预警区域,该系统适用于野外对风速敏感的设备,房屋进行监测,特别是各风景名胜区,地处名山大川,其载客索道缆车,当线路上风速过大时,可以和主控系统联动,进行减速和停机控制。 开发环境硬件:stm32f103-atk-mini RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本:MDK 5.25 RT-Thread使用情况概述内核部分:调度器,信号量,消息队列。 调度器:创建多个线程来实现不同的工作。 信号量:用来同步线程。 设备框架:通过 RT-Thread提供的 I/O 设备管理接口来访问串口硬件。 硬件框架从机MCU 定时读取 风速传感器数据,然后通过 ATK-LORA 传输到主机,主机对数据进行比例运算处理,LCD显示和GPIO输出 软件框架说明MCU 上电之后首先完成板级外设的初始化,图形界面littleVGL初始化,定时请求数据,串口中断释放信号量,线程实时处理数据,并显示、控制。 软件模块说明主机创建了3个线程,1个信号量。 main:完成初始化,创建信号量,打开串口设备,设置中断响应函数,创建线程,定时请求从机数据。 lcd_thread_entry:开启littlevgl的事务处理lv_task_handler()。 usart_thread_entry:take信号量的方式,获取到信号量之后,开始数据接收,正确收到数据后,显示,并输出IO信号。 演示效果模拟仪表显示,绿色指针为当前风速值,红色指针为故障上限,黄色指针为报警上限 拖动滑块左右移动可以设定报警值 切换软件开关,对太阳能电池进行充电 B站地址 比赛感悟时代的发展,MCU的性能也越来越强,万物互联的需求也愈加强烈,使用RTOS来实现物与网的链接,是时代发展的潮流,当我接触到RT-Thread 这个国人自主RTOS后,经过对比其他的freertos,ucos等,RT-Thread代码很优雅,组件功能多,小而美,我开始了深入的学习。 通过 RT-Thread官网上的文档中心,我学习了多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等,但是感觉认识很肤浅,对于信号量是怎么实现的?rtos是怎么达到实时性?还是一头雾水。 于是又学习了火哥出版的《RT-Thread 内核实现与应用开发实战—基于STM32》,手把手,一步一步实现了RT-Thread,终于有了深刻认识,可以实际操作了。 通过这次比赛的项目实践,我对RT-Thread有了全新的认识,他不仅仅是一个嵌入式RTOS,当各种组件有序结合起来,必能够发挥出更大能量,体现无与伦比的扩展性和灵活性,无愧小而美物联网操作系统的称呼,现在RT-Thread smart已经上线了,无疑体现出来RT-Thread的蓬勃生命力和无限美好的发展前景,我相信选择RT-Thread绝对是正确的。 这个小作品,还有待完善,现在仅能通过触摸屏显示一些数据,并调整参数,还得增加一些功能,比如省电管理,远程开关机,还得解决开发硬件、软件的版权问题,在此仅作为演示,给下一步的开发提供一些思路,距离产品还有很长的路要走。 美中不足的地方,RT-Thread studio编译代码偏大,以至于我这个mini板flash和ram容量不够,下一步还得好好研究,怎样裁剪,用RT-Thread studio做产品的问题。 最后感谢主办方提供了这么好的一个平台,不仅能展示自我,也能学到很多知识,还要感谢论坛上那些解决我问题以及制作软件包的大佬,希望有朝一日我也能给开源社区贡献一份自己力量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值