RT-Thread作品秀】基于ST传感器的跌落及倾倒检测作者:pto1011 概述在消费电子领域,跌落通常会对便携式电子产品(如手机,平板,笔记本电脑)的零部件(屏幕及机械硬盘)造成损伤,如何可靠的检测这些跌落事件并实时启动保护装置,采取主动避震措施来减少触地带来的冲击。中国即将步入老年社会,如何实时检测老人摔倒事件并做到事前主动启动保护减震装置和事后第一时间发出告警。 这些都需要有快速(Fast)准确(Accurate)可靠(Reliable)的跌落及倾倒检测能力。 本应用即是基于ST公司的LSM6DSOX六轴传感器,高速采集加速度计和陀螺仪的信号,通过算法来提供跌落及倾倒实时检测,其结果显示于交互界面(串口输出)和板载LED状态(未进入检测模式:LED blink; 开始进入检测:LED OFF; 检测到跌落或倾倒:LED ON)。 开发环境硬件:ART-Pi STM32H750 开发板,STEVAL-MKI197V1(LSM6DSOX)六轴传感器,PARALAX USB2SERIAL转接板 RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 1.1.15 RT-Thread使用情况概述内核部分:创建了一个独立线程用于实现读取ST传感器参数,输出至高速串口或实时检测,详情见下图。 组件部分:finsh组件是本应用开发过程中最重要的程序调试工具及交互窗口 硬件框架主要使用了ART-PI开发板上的STM32H750处理器的SPI,Timer, UART, 板载资源使用了LED,其它硬件模块包括ST的六轴传感器以及自备的USB转串口板。 软件框架说明软件模块说明演示效果视频演示: 比赛感悟通过参与比赛,第一次接触并了解RT-Thread及其生态系统, 用户体验很好。尤其是Finsh组件,作为交互界面,程序的调试过程中几乎完全依赖于之。 本应用中分别使用了MCU的SPI,UART和硬件定时器组件,UART的使用较为简单,硬件定时器在使用时则遇到了问题,在RT-Thread Setting中配置之后,一直无法进入中断,通过单步调试,发现寄存器在写入数值之后仍全为0,进一步检测发现其时钟未enable。 在拿到ART-Pi板之前,曾设想实现所有传感器参数读取及detection算法都在1ms定时器中断服务自程序中完成,但编译时遇到错误 ,ISR中无法调用mutex,曾尝试移除mutex,但读取的sensor参数几乎全部错误。后来选择在新建的独立线程中来实现,读取的sensor数据全部正确。 通过实测,本应用基本实现了最初的设计目标。仍存在如下问题:在1ms采样间隔下仍会观测到存在数十毫秒未读取传感器信号的现象,期待将来有可能实现RT-Thread下对于高速(亚毫秒级别)的实时关键任务的支持。 最后,感谢比赛组织方提供的硬件和软件开发环境,以及工作人员的热情帮助!
2023-03-30 16:42:52 6.91MB 传感器 开源 rt-thread 电路方案
1
本教程可以帮助初学RTthread系统移植的朋友快速入门,并且着手自己的RT开发之旅,例子中使用的也是非常常见的STM32F103ZET6开发板,有问题可以联系作者,密码是yzk201,有问题也可以私信作者qq2824292803@qq.com,看到了会恢复的哦,祝您生活愉快
2023-02-27 20:57:23 77.11MB RTthread stm32 操作系统 系统移植
1
ST77903为sitronix 小体积IC,主要应该在穿戴,接口是QSPI,因为内部不带RAM,所以QSPI必须连续传输,在HOST必须使用一个专门线程,来完成LCD的刷屏,DEMO内容包括3个手表表盘,UI框架是LVGL,系统用的RT-THREAD
2023-02-05 11:16:19 13.66MB ST77903 SITRONIX LCD
1
RT-Thread作品秀】智能管家精灵作者:七星岩 概述(说明应用产生的背景、实现功能)主控平台以 ART-PI 开发板为核心,主要任务是抓取网络数据、如天气、疫情等,并由OLED实时显示最新数据,同时将抓取的数据当做log文件存储在SD卡上,供后续分析使用。 并推送室内环境信息如温度,湿度到ONENET云端,,后续将扩展更多室内传感器,并同步的云端。由于时间原因,计划要做的摄像头室外监控,图片、视频传送没有在本次提交中实现。 开发环境(所采用的软、硬件方案)硬件: 主控:ART-PI(STM32H750XB) MicoKit-Ext 板 软件: RT-Thread 版本:RT-Thread V 4.0.3 开发工具及版本:RT-studio 2.0.0 RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)(1)内核部分:调度器,信号量,libcpu/BSP。 调度器:创建多个线程来实现不同的工作。 信号量:用来同步线程。 libcpu/BSP:UART 驱动。 (2)组件部分:UART 框架, UART框:使用UART框架来与ART-PI-DOCK扩展板进行数据交互。 Fal Flash 抽象: Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API。 LittleFs: 适合嵌入式系统的小而安全的文件系统 (3)软件包部分: EasyFlash: 一款开源的轻量级嵌入式Flash存储器库 cJSON:C 语言实现的极简的解析 JSON 格式的软件包。 Dht11: 读取DHT11数字温湿度传感器的温度和湿度值。 WebNetClient 软件包:由 RT-Thread 自主研发的,基于 HTTP 协议的 Web 服务器实现,它不仅提供设备与 HTTP Client 通讯的基本功能, 而且支持多种模块功能扩展,且资源占用少、可裁剪性强,充分满足 开发者对嵌入式设备服务器的功能需求。 Onenet: RT-Thread 针对 OneNET 平台连接做的的适配,通过 这个软件包,可以让设备在 RT-Thread 上非常方便的连接 OneNet 平台,完成数据的发送、接收、设备的注册和控制等功能。 MbedTLS: C编程语言以最小的编码占用空间实现了 SSL/TLS 功能及各种加密算法,易于理解、使用、集成和扩展,方便开发人员轻松地在嵌入式产品中使用 SSL/TLS 功能. Netutils: RT-Thread可用的全部网络小工具集合。 Pahomqtt:是 Eclipse 实现的基于 MQTT 协议的客户端,本软件包是在 Eclipse paho-mqtt 源码包的基础上设计的一套 MQTT 客户端程序。 u8g2:单色屏驱动,现在移植到了 rt-thread,可以满足各种各种各样的需求。 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)硬件部分主要是ART-PI + 一块IOT外扩板 软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)软件部分也相对简单,基于ART-PI 的WiFi样例程序,加上几个独立的模块(流程图见文档) 按键扫描模块 OLED数据显示模块 DHT11设备温湿度读取模块 心知天气预报API解析模块 疫情数据解析模块(不完善) 本地数据上传OneNet云 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等) 主要函数说明: (1)get_Weather_Data():读取并解析心知API天气数据,写入封装数据结构,保存到SD卡log文件。 (2)get_NCOV_Data:读取并解析腾讯疫情API数据写入封装数据结构,; (3)oled_display:实时扫描三个按键,并得到显示状态,并根据当前状态显示指定页面; (4)main_interface:,根据网络通断显示图标,根据按键左移右移显示当前状态,根据选中主题,显示指定页面; (5)oled_draw_menu:画出主页面布局 (6)oled_time_show:获取实时时间,并在OLED屏幕,画出小时:分钟,和年月日。 (7)oled_weather_report:在OLED屏幕画出室内温湿度和天气预报的温度天气情况。 (8)oled_covid_report:在OLED屏幕画出疫情解析所得数据。 (9)onenet_upload_entry:与onenet同步任务。 (10)onenet_mqtt_upload_digit:向onenet网络平台上温度传数据。 (11)key_thread_entry:按键扫描任务。 演示效果(演示效果请采用3张高清图片,并录
1
RT-Thread作品秀】智能天气小站作者:AlgoIdeas 概述嵌入式开发需要多动手,多实践才能不断取得成长和进步。第一次接触新的知识,难免会遇到挫折和困难,只要有足够的耐心和不断探索的信心,并不断学习和实践,同时有所思考,就会有收获。智能天气小站是一个很好的切入点,同时自己作为一名STM32新手,第一次接触RT-Thread、也第一次接触TouchGFX,感受颇多,收获颇丰。 开发环境硬件:ART-Pi RT-Thread版本:4.0.3 开发工具及版本:RT-ThreadStudio 2.0 ART-Pi SDK版本: SDK v1.0.1 RT-Thread使用情况概述项目主要基于ART-Pi SDK中的art_pi_factory例程,并在例程基础上增加其他软件基础组件。 内核采用RT-Thread原生内核,版本RT-Thread v4.0.3 组件列表: rt_ota_lib – 升级相关 touchgfx_lib – TouchGFX相关界面实现 wlan_wiced_lib – WLAN库 涉及软件包: EasyFlash-v4.1.0 -- 轻量级物联网存储库 adbd-v1.1.1 – ADB远程调试 btstack-v0.0.1 – 蓝牙协议栈 cJSON-v1.0.2 – JSON库 dht11-latest – DHT11温度传感器库 fal-v0.5.0 - gt9147-latest -- 触摸驱动 littlefs-v2.0.5 -- lwgps-latest -- 轻量级GPS解析库 netutils-v1.2.0 – 网络相关工具 webclient-v2.1.2 – WEB客户端 webnet-v2.0.2 – web接口相关实现 注:gps和presssensor相关包或模块可供二次开发 硬件框架主控芯片:STM32H750XB (ART-Pi开发板) 图形框架:TouchGFX SD卡1张: 8G 温湿度传感器DHT11:使用GPIO获取数据 网络:板端自带的AP6212A WIFI+蓝牙一体芯片 4.3寸电容屏:使用I2C总线驱动触摸(触摸芯片GT9147),LCD使用RGB888格式 时间的获取:例程自带的RTC+NTP自动网络对时 天气的获取:通过http客户端的方式获取网络开放API接口的天气数据,目前主要从心知天气(https://www.seniverse.com/api)获取, 后续二次开发,也可采用其他网站获取,如openweathermap(https://api.openweathermap.org/data/2.5/)等 软件框架说明软件如果需要通过网络获取天气信息,需要先进行联网,目前支持蓝牙配网(具体请参考ART-Pi官方教程),目前仅支持本地预先设置好的地区的温度的获取,后续可以扩展UI设计,或通过GPS定位来获取位置信息。 同时,默认支持DHT11数字温度传感器获取本地的实时温湿度数据,并通过GUI进行显示。软件主体框架如下图所示: 系统设置界面,支持将温湿度数据存储为日志文件到SD卡(后续可以二次开发,读取历史文件并直接在UI界面显示历史数据),可以开启或关闭该功能,同时支持自动关屏设置。 软件模块说明UI设计GUI采用TouchGFX来设计,目前采用的版本是TouchGFX 4.15.0,主要分为3个主要界面:主页、系统设置和历史温度数据分析,分别如下图图1、图2和图3所示。 TouchGFX官方介绍 TouchGFX 4.13 版本是继TouchGFX 4.12 之后的又一重要版本。4.13版具备了将动画推到60FPS的功能,还增加了可缓存容器、不完全帧缓冲区以及新的L8压缩格式等性能,这表明了 ToughGFX 不断追求优化性能和持续迭代的匠心。4.13版本还解决了另一个问题:嵌入式系统开发人员的用户界面可访问性。通过将TouchGFX Generator集成到 STM32CubeMX 中,经验较少的工程师在使用 TouchGFX 4.13 时,可以通过 STM32CubeMX 这个广为流行的 ST 实用软件程序快速启动项目。这样做的目的在于降低开发者入门门槛,让专业人士和爱好者都能受益于这个交互式的高效解决方案。 天气数据获取通过DHT11数字温湿度传感器获取; 通过注册心知天气(https://www.seniverse.com/),采用其Weather API,并配合web相关API获取当地的天气; 演示效果视频演示: 界面设计效果: 图1 主页 图2 系统设置 图3 温度历史数据与分析 比赛感悟 一次偶然翻看网页的机会,让我看到了RT-Thread x STM32全连接创意创客大赛,于是顺手点了进去,并于第二天才最终确认参加比赛。在这近
2023-01-12 13:00:19 753KB 传感器 智能家居 开源 rt-thread
1
一、WLAN管理框架简介 随着物联网快速发展,越来越多的嵌入式设备上搭载了 WIFI 无线网络设备,为了能够管理 WIFI 网络设备,RT-Thread 引入了 WLAN 设备管理框架。这套框架是 RT-Thread 开发的一套用于管理 WIFI 的中间件:对下连接具体的 WIFI 驱动,控制 WIFI 的连接、断开、扫描等操作;对上承载不同的应用,为应用提供 WIFI 控制、事件、数据导流等操作,为上层应用提供统一的 WIFI 控制接口。 WLAN 框架主要由四个部分组成:Device 驱动接口层,为 WLAN 框架提供统一的调用接口;Manage 管理层为用户提供 WIFI 扫描、连接、断
2023-01-09 14:37:12 502KB hr read 框架
1
1. 项目进度 桌面Mini时钟项目用来演示如何使用RT-Thread Stduio开发项目,整个项目的架构如下: 在前三篇博文中简单的介绍了RT-Thread Studio一站式工具,基于STM32L431RCT6这个芯片创建工程,并修改时钟为使用外部时钟,以及添加SHT3x软件包获取温湿度传感器数据,最后添加了ESP8266设备连接网络,使用NTP服务器进行网络对时。 使用RT-Thread Studio DIY 迷你桌面时钟(一)| 基于STM32芯片创建工程 使用RT-Thread Studio DIY 迷你桌面时钟(二)| 获取温湿度传感器数据(I2C设备驱动+SHT3x软件包)
2023-01-07 11:37:12 726KB c cp cpp
1
RT-Thread作品秀】OLED显示演示作者:谢博翔 概述初步体验 RT-Thread出的RTT核心版 ART-Pi,使用RTT用OLED显示 开发环境硬件:ART-Pi RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 2.0 RT-Thread使用情况概述软件包:使用u8g2 U8g2是嵌入式设备的单色图形库,目前支持单色OLED和LCD,包括以下控制器:SSD1305,SSD1306等 选用u8g2的原因: U8g2库平台支持性好,基本上支持绝大部分开发板,并且RTT已经有对应的软件包 U8g2库显示控制器支持性好,基本上市面上的OLED都完美支持; U8g2库API众多,特别支持了中文,支持了不同字体,这是一个对于开发者俩说不小的福利 硬件框架软件框架说明添加u8g2软件包,修改I2C接口和显示文字,编译、烧录。运行程序,打开监视串口:输入shell:u8g2_ssd1306_12864_sw_i2c_example 软件模块说明修改I2C接口 输入显示的内容 定义 RT_USINF_PIN 演示效果视频地址比赛感悟应改要多学习,多认真思考,多动手实践,不应该只停留在基础的实践,应该多coding,而且掌握好时间; 未来应该是RTOS和Linux的天下,现在 RT-Thread开源,是一件很好的事情;虽然国内开源的RTOS的已经好几家, 但现在看来,生态做的又好,软件又好用的,可能 RT-Thread 是最好的! 也感谢电路城这次的活动,以前对电路城并不是很了解,这次上传资料,简单看了下,感觉收获多多,也希望 后面能在这里学到和提供一些东西~ 加油
2023-01-06 16:24:51 4.21MB oled 屏幕 rt-thread 电路设计方案
1
基于STM32的RT-Thread的开发实战,内核实现和应用开发
2022-12-30 11:48:12 2.98MB STM32 RT-Thread
1
1. 添加pahomqtt软件包 Paho MQTT 是 Eclipse 实现的基于 MQTT 协议的客户端,本软件包是在 Eclipse paho-mqtt 源码包的基础上设计的一套 MQTT 客户端程序。 2. 使用mqtt.fx连接到服务器并订阅测试主题 3. 编写对接 EMQ-X mqtt服务器的代码 3.1. 编写代码 /* * Copyright (c) 2006-2020, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date
2022-12-18 21:16:44 492KB hr io mq
1