RTThreadIoTOS · 2021年04月02日

【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使用情况概述

内核部分:

·  调度器,信号量,libcpu/BSP。

·  调度器:创建多个线程来实现不同的工作。

·  信号量:用来同步线程。

·  libcpu/BSP:UART 驱动。

组件部分:UART 框架

·  UART框:使用UART框架来与ART-PI-DOCK扩展板进行数据交互。

·  Fal Flash 抽象: Flash 抽象层,是对 Flash 及基于 Flash 的分区进行管理、操作的抽象层,对上层统一了 Flash 及 分区操作的 API。

·  LittleFs: 适合嵌入式系统的小而安全的文件系统

软件包部分:

·  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,可以满足各种各种各样的需求。

硬件框架

image.png

硬件部分主要是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:按键扫描任务。

image.png

image.png

image.png

视频内容截图

image.png

作者

七星岩

源码地址

https://gitee.com/xianting77/...


推荐阅读
【RT-Thread开源作品秀】运动手表
【20210326期AI简报】用RISC-V微控制器开发难不难?行人搜索AI框架新突破~
一种代替串口屏的开源高效开发解决方案 | | 玲珑GUI在小熊派上的移植

原文链接:RTThread物联网操作系统
作者: RTThread物联网操作系统
推荐阅读
关注数
8071
内容数
181
小而美的物联网操作系统,经过14年的累积发展,RT-Thread 已经拥有一个国内最大的嵌入式开源社区,同时被广泛应用于能源、车载、医疗、消费电子等多个行业,累积装机量超过4亿台,成为国人自主开发、国内最成熟稳定和装机量最大的开源 RTOS。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息