明晚直播预告:基于ART-PI+RT-Thread的工业网关的实现

本次直播由RT-Thread社区技术专家马龙伟分享如何使用ART-Pi构建工业网关。内容涉及网关的硬件框图、软件架构,重点讲解动态模块、bootloader、NTP、MODBUS协议以及Web服务器的实现。直播还将演示网关DEMO,并提供讨论环节,观众有机会与主讲人深入交流。
摘要由CSDN通过智能技术生成

ART-Pi 是 RT-Thread 团队为嵌入式软件工程师、开源创客设计的一款极具扩展功能的 DIY 开源硬件,致力打造一个开源的软硬件平台。ART-Pi 发布至今得到众多开发者的喜爱,并做了众多的技术讨论和应用分享,现开设ART-Pi公开课,RT-Thread团队将邀请技术大佬来分享其实战经验,共话技术疑难问题。同时公开课将设置讨论环节,开放若干席位让有共同技术兴趣的小伙伴加入与主讲人及小伙伴一起深入讨论交流。

本期直播主题简介


本期直播邀请到的是马龙伟(https://github.com/loogg ) ,RT-Thread社区技术大佬,Agile系列软件包(agile_ledag

RT-Thread作品秀】基于RT-Thread的智慧农业物联网网关作者:frankpyq 概述智慧农业是目前物联网一个比较广泛的发展方向,基于从事农业物联网相关硬件的开发,结合这次RTT大赛,决定基于RT-Thread设计一款物联网网关。本物联网网关基于STM32H7为主芯片进行设计,分为硬件网关和物联网平台。硬件网关有以ART-PI开发板为核心板,自行设计了一个扩展板,板载一路4G通讯模块,一路LORA无线采集模块,一路RS485电路,2路继电器输出,4路LED指示,1路DS18B20温度采集,1个蜂鸣器;硬件网关可以通过无线LORA采集节点数据,最多可以接收32路无线节点采集;也可以通过RS485电路采集传感器数据。采集到数据后,通过4G模块发送到物联网平台。这里物联网平台我使用的是深圳市模拟科技有限公司的TLINK物联网平台。板载2路继电器和LED指示灯,可以通过平台下发命令控制开关。 开发环境硬件:ART-PI(STM32H750XB), ART-PI_TOP扩展板; RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本:RT-Thread Studio版本: 2.0.0 RT-Thread使用情况概述(1)内核部分:调度器,信号量等。 调度器:创建多个线程来实现不同的工作。 信号量:用来线程间的同步。 (2)组件部分:UART框架,SENSOR框架。 UART框架:使用了3个串口,分别连接4G模块,LORA模块,RS485;分别用于跟平台通讯和采集传感器数据。 SENSOR框架:使用DS18B20采集设备机箱温度。 (3)软件包:暂未使用相关软件包。 硬件框架软件框架说明软件模块说明项目工程文件是基于官方SDK的点灯示例程序开始的。 (1)read_temp_entry线程:用于读取板载DS18B20温度传感器的数值。 (2)LoraU6RxData线程:用于采集无线LORA传感器节点的数据。传感器节点采用主动上报方式传输数据,最多挂载32个节点。 (3)led_shine_entry线程:LED灯闪烁,用于指示设备状态; (4)Task_Tlink_Tx线程:跟TLINk云平台通讯,包含登录和主动上报数据。 (5)TlinkRxData线程:用于接收和解析TLINK云平台下发的控制指令,并执行相关继电器动作。 演示效果(1)设备照片: (2)平台接收数据照片: (3)云组态照片: (4)演示视频: 比赛感悟认识RT-Thread已经是很多年前的事情了,当初也买了第一代的魔笛网络收音机开发板,但是很遗憾一直都没有在实际项目中使用到。主要原因都是我手头的项目都是基于裸机开发的,都没有使用过RTOS。基于RTT大赛的机缘,我就想努力尝试一把,先用起来,然后决定以后项目中有需要的都上RTT系统。但是完事开头难,我这个项目当初想起来挺容易,但是实际做起来的时候,真的还是很不容易的。主要还是我的RTOS编程经验匮乏,对系统内核以及进程通信机制没有理解透彻,导致写程序的时候出了不少问题。从最开始的点灯,到后面的添加传感器驱动框架,添加串口驱动框架,实现了DS18B20传感器采集,实现了串口跟GPRS模块和LOR模块的通讯,实现了数据上TLINK云平台。完成数据上报云平台以及云平台下发控制指令和执行动作等等功能。这其中,我基本没有使用额外的软件包和驱动等,主要还是对RTT不是很熟悉,可以说还基本没有上手。按照当初的设想,本来是要使用广和通的L610的模块,使用AT指令软件包,ONENET软件包等上移动ONENET云平台。但是由于时间太紧和基础太差的原因,20号之前只能完成这么多了。其实这两天我已经用L610模块连上了ONENET云平台,但是详细功能还没有实现,后面我会继续把这个项目做下去,争取把这个产品做完善。最后感谢举办方给我一个很好的学习和锻炼的机会,RTT我相信我会一直用下去。
RT-Thread作品秀】通用型数据采集设备作者:鱼柯 概述(说明应用产生的背景、实现功能)在一些低频采集设备中,典型的运行策略是,采集数据,上传数据,关闭外设进入睡眠状态;但是,在运行过程中,需要根据实际需求,更改采集频率,连接不同的设备,如果每次通过修改代码解决,通用性就很难保证,这个项目将一些uart型的传感器进行归类,通过文件设置数据交互过程中的命令,解析方式等,可以适配大多数的uart型传感器;同时,对一些网络摄像头也以同样的方式进行处理; 实现数据采集调度配置,数据采集,数据上传,图片采集,图片上传, 配置文件解析,固件远程更新;由于contab配置文件中的event使用的是MSH_CMD_EXPRT宏导出的命令。所以,它也支持系统需要定时执行的相对时间间隔需要变化的任务,比如:12:00. 13:10, 15:35, 18:23分别执行一次任务; 开发环境(所采用的软、硬件方案)硬件:art-pi, INDUSTRY-IO, 微气象仪, 网络摄像头 RT-Thread版本:rt-thread 4.0.3 开发工具及版本:ubuntu 18.04,gcc-arm-none-eabi-6_2-2016q4,scons v3.0.1,python 3.6.9,pkgs RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核部分Inter-thread communication Event Semaphore mutex memory management device object 组件部分Finsh DFS (device virtual file system) serial device, mtd nor flash device, gpio device, ntp rtc device, sd/mmc device, spi device, serial flash universal driver (device driver) posix layer and c stand library SAL (socket abstraction layer) ping, ifconfig, netstat, netdev (network interface) LwIP 2.0.2 Ymodem ulog 软件包部分agile_console-v1.0.0 fal-v0.5.0 ota_downloader-v1.0.0 agile_telnet-v2.0.0 littlefs-v2.2.1 SignalLed-latest cJSON-v1.0.2 netutils-v1.2.0 vi-latest EasyFlash-v4.1.0 webclient-v2.1.1 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)类似 linux定时任务contab解析相关json配置文件,构建设备运行数据树: "contab": [{"event":"misc_check","time":"0 18"},{"event":"img_cap_start","time":"20 7,9,14"},{"event":"app_image_upload","time":"20 7,9,14"},{"event":"sensor_acq_start","time":"5,10,15,20,25,30,35,40,45,50,55 *"},{"event":"app_data_upload","time":"5,10,15,20,25,30,35,40,45,50,55 *"}] 事件执行分钟: 表示xx:5, xx:25, xx:30, xx:36, xx:45, xx:54 事件执行小时:*通配符,表示1-24小时 上面参数表示:每个小时的5,25,30,45,54分,执行img_upload_invl事件; 上传数据每次采集数据后,将数据存在本地一个缓存文件中,按照采集时间从前到后写入;同时会生成一个读取位置的缓存文件指示,下一次从哪个文件的那一行读取数据进行上传,上传成功后,更新读取位置的缓存;如20201217,227, 表示从文件20201217.txt的227个字符后读取一行数据进行上传,避免文件过大引起设备死机; 上传图片每次拍照时,将拍照成功的照片名及端口追加记录到一个缓存文件中,每次从缓存文件中,读取需要上传的图片构造form-data上传图片;如4,/sd/1608167012_4.jpg;如果上传成功,则删
作者: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系统应用框架多功
当出现"VSCode GitHub Copilot could not connect to server. Extension activation failed: 'connect ETIMEDOUT'"的错误消息时,这通常意味着VSCode的GitHub Copilot扩展无法连接到服务器。这可能由于以下几个原因导致: 1. 服务器问题:可能是由于GitHub服务器出现问题或维护,导致无法与之建立连接。您可以尝试等待一段时间,然后再次尝试连接。 2. 网络问题:您的网络连接可能存在问题,导致无法与GitHub服务器建立连接。您可以尝试重启您的网络设备,或者尝试使用其他网络进行连接。 3. 代理设置:如果您的网络使用了代理服务器,您可能需要在VSCode的设置中配置相应的代理地址。您可以打开VSCode的设置,搜索"proxy",然后设置为您的代理地址。重启VSCode后,再次尝试连接。 综上所述,当出现该错误时,您可以尝试等待一段时间,检查您的网络连接,或者配置代理设置来解决问题。希望这些信息对您有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [VSCode GitHub Copilot could not connect to server. Extension activation failed: “connect ETIMEDOUT](https://blog.csdn.net/MAIMIHO/article/details/132591894)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [GitHub Copilot could not connect to server. Extension activation failed: “connect ECONNREFUSED 127....](https://blog.csdn.net/nolanElio/article/details/125852224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值