【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
智能家居窗帘控制系统设计.doc智能家居窗帘控制系统设计.doc智能家居窗帘控制系统设计.doc智能家居窗帘控制系统设计.doc智能家居窗帘控制系统设计.doc
2023-01-05 09:20:09 2.09MB 设计实现
1
基于Vue+JavaScript开发的智能家居app项目源码.zip 基于Vue+JavaScript开发的智能家居app项目源码.zip 基于Vue+JavaScript开发的智能家居app项目源码.zip 【备注】 主要针对计算机相关专业的正在做毕设的学生和需要项目实战的Java学习者。 也可作为课程设计、期末大作业。包含:项目源码等,该项目可以直接作为毕设、课程设计使用。 也可以用来学习参考借鉴!
2023-01-04 18:19:36 2.42MB java开发 课程设计项目源码 JavaScript vue
“物联网”概念在1999年美国麻省理工学院首次被提出,狭义的物联网指的是“物—物相连的互联网”,这里相连的主体既包括物品到物品,也包括物品到识别管理设备。   智能锁、智能家居领域常见的无线传输协议   目前的有线和无线互联网、2G和3G网络等,都可以作为传输层的组成部分。在智能小区、智能家居等物联网终端普及的未来,为了保证无线传输数据的安全,无线传输协议显得尤为重要。     下面就来看看物联网中常见的无线传输协议类型:   RFID   RFID(Radio Frequency Identification),即射频识别,俗称电子标签。它是一种非接触式的自动识别技
1
AI智能汽车与智能家居5G应用发展前景研究分析图文
2022-12-29 20:28:42 1.01MB ai
1
智能别墅 HDL-BUS控制系统设计方案 广州河东电子有限公司 目 录 一、控制要求及设计说明 3 二、HDL-Bus系统的特点 9 三、HDL-BUS系统原理及简介 9 四、河东企业简介 10 智能家居HDL-BUS控制系统设计方案 一、控制要求及设计说明 大多数乔迁新居的业主,都会精心的选择地板、家具以及饰品的颜色和质地来装扮自 己的家园,殊不知,再好的装修都是依靠灯光来呈现他们的效果。各种别致时髦的吊灯 、筒灯、台灯和壁灯风格和式样成千上万,不同品位的顾客都可以选择到适合自己的品 种搬回家。 但是选择最好看的灯具也只是为你的家居增加部分的光亮和装饰性。如果没有一种简 单、方便的方法来控制这些灯具,让这些固定的灯具为你在不同需求时呈现出变化的灯 光场景来满足您,那么也就失去了你如此精心挑选的灯具的意义。例如:餐桌上方的筒 灯可能在调到百分之四十亮度时看起来效果最佳。同样客厅的各种灯在你看电视、会客 时也必然需要不同的亮度组合。但是躺在沙发上,谁会有时间和耐心来手动调节每一个 调光开关以获得最佳的效果呢? 通过对住宅照明的智能化控制,通过不同居室不同灯光回路的亮暗搭配;形成不同的 灯
2022-12-26 19:16:20 2.61MB 文档资料
1
随着科技的快速进步,社会的飞速发展,小区生活已经成 为人们生活的主流方式,这种生活方式也存在着潜在的安防威 胁,所以,本文利用ZigBee技术设计了一套关于智能家居的安 防系统。该系统根据一氧化碳传感器检测室内煤气是否超标, 根据烟雾传感器来检测室内是否燃烧气体超标,利用红外感应 器进行防盗,利用报警装置进行预警。该智能安防系统可以在 政府机关,学校场所,个人家庭中进行布置和应用。
2022-12-22 19:34:47 1.56MB 综合文档
1
基于S3C2440的无线智能家居系统设计,宁亮,,设计了一种以S3C2440为硬件平台,基于Windows CE嵌入式操作系统,结合433MHz和315MHz无线网络,以及Wi-Fi通信技术的智能家居系统。在功能方��
2022-12-19 13:32:08 414KB 无线网络
1
功能:实现上位机,下位机的智能家居控制,和远程视屏监控, 上位机:应用界面: 天气预报,语音识别,音乐播放,智能家居,远程监控, 游戏界面: 翻金币游戏, 2048 游戏
2022-12-18 16:25:52 136.41MB QT
1