RT-Thread 作品秀】基于RT-Thread的网络照相机作者:吴顶顶 概述随着科技的进步和互联网的发展,基于物联网的可拍照设备也越来越多的融入到人们的生活中来,例如在超市中,管理者利用拍照设备定时抓取货架照片,分析货物状态,并补充、优化货物摆放;在酒吧里,管理者会利用拍照设备定时抓拍酒架照片,传送到网络平台供大众浏览,以招揽更多顾客。本网络照相机基于STM32H7+RTThread平台,采集摄像头数据,并通过无线网络传送到服务器,提供SD卡配网、手动拍摄、定时拍摄、照片推送等功能,并提供windows上位机提供控制和照片显示功能。 主要功能有: 格式化sd卡:格式化sd卡,但是会保留网络配置文件,其他文件全部删除 设备重启:重启设备 实时拍照:发送指令给照相机,照相机拍照,并把照片回传 定时拍照:照相机依据下发的拍照时间,在时间到达时拍摄一张照片,并传给服务器 按键拍照:点击板上用户按钮,拍摄一张照片,并传给服务器 定时任务:可以新建/删除/查询定时拍照任务,任务存储在sd卡中,重启有效 开发环境硬件:ART-PI(STM32H750主控)+ OV2640模组 RT-Thread版本:4.0.3 SDK 版本:1.0.1 开发工具及版本:RT-Thread Studio 1.1.5, Qt5.14.0 RT-Thread使用情况概述内核部分:调度器,信号量,互斥锁,内存管理 调度器:多任务调度 信号量:用于唤醒对应任务 互斥锁:用于互斥资源独占访问 内存管理:动态内存申请与释放 组件部分:虚拟文件系统,IPC,I2C,RTC,NTP 虚拟文件系统:文件操作,sd卡、照片文件 IPC:mqtt发送数据需要 I2C:配置摄像头模块需要 RTC和NTP:同步时间 软件包部分:paho mqtt,cJSON,netutils pahomqtt:用于和服务器通信 cJSON:解析、封装mqtt消息 netutils:NTP网络对时 其他:base64 用于将图片文件转换成字符串,便于mqtt传输 硬件框架总体的硬件框架如下图所示: 本网络摄像机硬件结果较为简单,即art-pi连接一个摄像头模组,art-pi板上用到了AP6212无线模块,外部内存,led指示灯,和sd卡。其中,摄像头模块用于采集图像信号;AP6212用于和服务器进行通信;因一张图像数据量较大,片内内存不够,故而使用外部内存;led灯用于指示设备工作状态;sd卡用于保存网络、服务器、和定时任务配置。 软件框架说明整体的软件框架如下图所示,网络照相机内部有一个proxy线程,负责和云端进行通信,在接收到云端消息后会解析,并分发到其他的线程执行,然后将执行结果返回到云端;照相机发生了其他的事件,例如用户按键拍照,也会将数据传给proxy线程,proxy线程再将数据发送到云端。用户通过上位机终端软件连接上云服务器,实现与照相机的通信及控制。 整个系统支持接入多个照相机,如下图所示,不同的照相机通过sd卡配置文件中sn进行区分,上位机软件可以显示所有在线的照相机,但同一时间只支持操作一个。 软件模块说明1. 用户线程创建流程如下图所示为用户线程创建流程 用户线程作用描述如下: main:用于创建sd_card 线程,检测按键事件,闪灯; sd_card:用于管理与sd卡相关的工作,包括拍照,网络配置,定时任务; network:负责联网,根据sd卡的配置文件连接到指定的wifi网络; proxy:负责启动mqtt,并管理与云端的通信,其他线程都需要通过proxy线程与云端交互数据; event:定时任务和按键任务,在定时时间到达时,或者用户按键时拍摄照片并通过proxy上传云端。 2. 通信接口及流程2.1 MQTT订阅主题设备向服务器订阅主题: /ter/query/discovery,用于接收设备发现消息 /ter/sn/request,用于接收针对该设备的指令,其中sn为设备的SN号,下同 客户端向服务器订阅主题: /dev/response/discovery,用于接收设备发现回复 /dev/response/will,用于接收设备遗嘱消息 /dev/sn/response,用于接收设备操作指令回复 /dev/sn/event,用于接收设备的通知 2.2 设备发现所有的设备均订阅/ter/query/discovery主题,客户端向该主题发布发现消息,所有收到消息的设备向/dev/response/discovery回复一条消息,而客户端又订阅了/dev/response/discovery主题,故而便可以知道哪些设备在线了。 设备连上服务器的时候,会定义一个遗嘱消息,主题为/dev/sn/will,客户端订阅了该主题,当设备因为某些原因掉线,则超过一定时间之后,
2022-04-15 22:59:07 1.93MB 智能家居 单片机 物联网 rt-thread
1
LittlevGL2RTT LittlevGL2RTT 是在RTThread3.0版本以上做的LittlevGL中间框架层, 目的是无缝嵌入RTT的LCD框架, 无需开发者去移植. 如果您觉得该库看得顺眼舒服,请捐赠颗小星星. 小星星就是更新的动力!!! 感谢LittlevGL作者的开源GUI库. 原库请移步到 . 1. 效果图 2. 安装LittlevGL2RTT 目前littlevgl2rtt库已经添加到rtt官方pkgs包中, 可以直接在menuconfig在线包中直接使能. 在env中运行menuconfig. 进入RT-Thread online packages -> system packages目录. 开启LittlevGL2RTT, 选择version为lateset最新版本, 配置分辨率为你的显示屏分辨率, 然后开启demo并保存退出menuconfig. 执行pkgs
2022-04-14 12:06:11 1.37MB env rt-thread littlevgl C
1
386.5_2是基于386.5_0之上的一个小版本升级,针对一些机型在AiCloud的安全修复和Adaptive QoS在某些机型上无法使用的问题(均来自上有梅林固件的修复),因为固件改动不大,所以这次很快同步了上游代码后,就立马制作了改版固件。 支持软件中心
2022-04-12 20:00:31 35.12MB 安全 stm32 arm 嵌入式硬件
1
华硕RT-AC66U_B1路由器,梅林改版384.17固件,AC68U通用,需要的自己下载吧.刷机教程参考koolshare官网
2022-04-09 21:29:01 35.4MB 梅林,华硕,384,AC66U
1
RT-Thread X STM32 全连接大赛 智能甲醛检测仪 作者: 乔季军 开发环境:RT-Thread Studio 硬件框架:基于RT-Thread 提供的ART-PI 开发板实现,详细硬件请参考项目设计文档 【RT-Thread作品秀】智能甲醛检测仪作者:乔季军 概述家里房子装修完已经快一年了,装修完一直保持着通风,最近回家住的比较频繁,每次回去住总还是觉得比较别扭,总担心屋里的甲醛会不会还是超标,自己总想着搞一个甲醛检测仪的装置来放到屋里,这样就能够实时查看到屋里面的甲醛浓度了。调研了一番,发现市面上的比较便宜的甲醛检测装置基本都不准确,于是乎自己便开始搜寻相关传感器,寻思着能否自己DIY一个甲醛检测装置,在给自己寻找乐子的同时,也能够做一个使用的物件。 通过调研发现,目前市面上检测甲醛的传感器主要分为两类,一类是半导体式,另一类是电化学式。半导体式甲醛传感器主要是根据甲醛散发到周围空气中,导致周围空气的导电率发生变化来感知甲醛浓度的,这一类传感器主要是根据导电率的特性来检测甲醛的,很容易收到其他环境因素的影响,例如周围湿度的变化也会导致空气的导电率发生改变,因此使用这种传感器测得甲醛浓度就没有太大的参考意义了,另外一种是电化学式传感器, 这种传感器上面有一层滤膜,用来过滤空气中的其他干扰杂质,传感器中包含有一种能够和甲醛发生反应的催化剂,当催化剂和甲醛接触时,就会形成电信号的波动,电信号的波动和甲醛浓度值的变化有一定的关系,因此使用这种传感器检测的甲醛浓度相对来讲会更准确一些。 笔者在调研完之后,选择了英国达特公司设计生产的WZ-S-K 型电化学式甲醛检测传感器,用用来检测甲醛浓度值,此外,还使用到了DHT11 温湿度传感器,用于检测周围环境的温湿度信息。 该智能甲醛检测仪主要实现甲醛检测及温湿度检测功能,检测到的数据通过LCD显示屏实时的显示出来,同时还能够将传感器数据上传到ONENET物联网平台,用来记录历史传感器数据,同时也能够利用这些数据信息和其他设备联动。 开发环境硬件:ART-PI、DHT11温湿度传感器、达特WZ-S-K型甲醛传感器 RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 2.0.0 甲醛传感器介绍WZ-S-K 型甲醛检测传感器模组是英国达特公司设计的一款基于电化学的甲醛检测传感器,具有测量精度高、响应速度快、使用寿命长、功耗低等特点。该传感器能够直接将周围环境中的甲醛含量转换为浓度值,通过串口标准化输出,这款甲醛检测传感器能够非常方便的集成到产品中去,适用于智能家居、便携式测量仪表等产品。 RT-Thread使用情况概述使用 RT-Thread 开发物联网应用的优势已经非常明显了,借助于RT-Thread 软件包生态,开发者只需要关系自己的应用逻辑即可。 该项目使用到许多RT-Thread 的软件包,具体请参考以下截图。 演示视频: 比赛感悟这次比赛,我使用RT-Thread 从头到尾设计了一款基本满足正常使用的甲醛检测设备。整体下来,觉得使用RT-Thread 物联网操作系统进行应用开发还是非常便捷的,借助于软件生态,可以大大缩短开发周期。 设计过程中主要有两部分内容需要攻克,一部分是关于甲醛浓度检测及单位换算部分,这部分查阅了一些资料,总觉得不太合理,传感器输出的浓度单位为ppb或ppm(1ppm=1000ppb),而作为我们日常使用中,比较容易理解的单位是 mg/m3 ,从 ppb 到 mg/m3 之间的换算,网上有很多种说法,其中我找到的最不合理的说法就是 1ppm = 1mg/m3。经过深入研究,发现这其实是化学单位中常用的几个不同的单位,这两个单位之间的换算还要结合不同物质的物质的量来进行计算,经过自己实际对比验证和联系供应商验证问题,最终得出的结论为甲醛浓度单位ppm和 mg/m3 之间的换算关系为: 1ppm = 0.74666 mg/m3 这种看着不起眼的单位换算,背后还是有一些知识点需要理解的,如果单单的将 1ppm 理解为 1mg/m3 的话,最终会造成读取的数据不准确,那么这样的甲醛检测仪也就没有什么设计的意义了。 第二部分内容就是关于LCD显示部分的GUI部分,这部分开发工作相对可查的资料比较多,开源的GUI也很对,网上针对ART-PI进行的GUI适配工作也有很多分享,笔者也亲自适配了lvgl这套开源的GUI,但是对于笔者,还是希望能够在设计过程中深入理解LCD驱动和GUI部分的原理,于是乎在开发过程中,笔者自己动手编写了GUI部分的画点、画线、绘制圆、绘制矩形、显示字符等函数,在编写过程中也参考了正点原子的GUI部分的代码,但是这对于我理解GUI部分的原理已经足够了,借此机会,我还设计了几个GUI的控件,用来显示一些传感器数
2022-04-06 14:31:36 7.31MB 传感器 物联网 diy制作 开源
1
NI Linux RT安装教程,LabVIEW Linux RT安装教程,PC安装NI Linux RT,普通电脑安装NI Linux RT,NI RealTime System安装,cRIO系统安装,NI Linux Real-Time,
2022-04-06 14:01:11 79.39MB linux 实时操作系统
ETest_RT是基于ETest Studio开发出的实时级嵌入式系统半实物仿真测试平台(Embedded System Real Time Test Studio RT,简称:ETest_RT)。ETest_RT由软件和硬件组成,软件采用ETest Studio,硬件包括实时下位机和通用上位机两部分。 实时下位机采用PXI架构的测控计算机,具有实时性高、仿真能力强、板卡间同步效果好的特点,适合于航空航天、武器装备、汽车电子、仪器仪表等领域的测试与验证需求。
2022-04-06 02:13:33 15.97MB 软件测试
1
ETest_RT是基于ETest Studio开发出的实时级嵌入式系统半实物仿真测试平台(Embedded System Real Time Test Studio RT,简称:ETest_RT)。ETest_RT由软件和硬件组成,软件采用ETest Studio,硬件包括实时下位机和通用上位机两部分。 实时下位机采用PXI架构的测控计算机,具有实时性高、仿真能力强、板卡间同步效果好的特点,适合于航空航天、武器装备、汽车电子、仪器仪表等领域的测试与验证需求。
2022-04-06 02:06:56 9.06MB 软件测试
1
本文记录了树莓派4B编译安装Preempt实时内核详细的教程,编译过程的指令及指令输入的图片、配置过程图片全部进行了截图总结,方便大家参考。 编译于2022年3月31日上午测试成功,并制作了RT系统的镜像文件。不想编译的,可联系我下载编译成功的镜像文件(8GB)。
2022-04-06 00:32:59 3.27MB 树莓派 实时系统 实时内核 preempt
版本:386.3_2
2022-04-06 00:32:22 34.66MB 华硕路由器 RT-AC68U 386.3_2
1