【N32G457】基于RT-Thread和N32G457的涂鸦云远程监控

在这里插入图片描述

本文是RT-Thread用户@Nog 原创发布,是用于参加RT-Thread与国民技术联手推出N32G457 RT-Thread设计大赛,原文:https://club.rt-thread.org/ask/article/3416.html

作品简介

基于RT-Thread系统和N32G457开发板开发的一款涂鸦云远程监控系统。
硬件部分由N32G457主控板、CB2S WIFI模组、WS2812B LED灯板、DHT11温湿度传感器等组成。
软件部分实现温湿度的采集, LED灯板显示,WIFI配网连接涂鸦云,云端校时,APP监控等功能。

硬件框架

image.png
CB2SWIFI模块:负责完成涂鸦云智能APP通信,智能配网,远程控制灯板开关,温湿度上传显示,时间校时等功能,采用串口和主控进行通信。
DHT11模块:负责完成温湿度的采集工作,采用单总线和主控进行通信。
WS2812B LED灯板模块:负责完成LED灯板的显示控制,采用SPI接口和主控进行通信。
N32G457主控板:负责完成和所有外设模块通信和功能逻辑的实现。
其中LED灯用来模拟工作状态,绿色闪烁代表工作正常,蓝色表示表示WIFI已连接,红色表示已连接云端。

软件框架

image.png
如上图所示,该项目软件架构主要采用上图所示的几个线程完成,其中:
湿度线程:定期读取DHT11湿度
温度线程:定期读取DHT11温度
LED线程:控制绿灯闪烁
WIFI线程:控制WIFI模组正常联网
WIFI定时器:获取WIFI连接状态控制LED灯指示,将灯板开关状态、当前温湿度上传,接收云端控制指令
WS281B刷新线程:等待刷新信号量,刷新当前的灯板显示
WS281B显示线程:判断当前工作状态,将显示内容:时间、温湿度等写入灯板显示缓存,释放刷新信号量

作品展示

完整图片:
5e0a96cc6885fca9c54893377c60545e.jpg.webp
微信图片_20220228211718.jpg

演示效果:https://www.bilibili.com/video/BV1FZ4y1r73i/
代码地址:https://gitee.com/dingningee/n32g457xx.git

作者:徐日概述(说明应用产生的背景、实现功能)制作一个遥控救险车,能够在各种复杂地形进行勘探。目的是在比较危险的场所,比如地震、火灾、废墟中执行搜救和勘探工作。代替搜救人员深入危险地带进行救援。通过WIFI进行远程遥控,通过坦克履带进行复杂地形的行进,通过LED灯进行标识,通过摄像头将画面远程发送回手机或者电脑端。方便搜救人员进行控制和搜救。 开发环境(所采用的软、硬件方案)硬件:ART-PI、L298N电机驱动、AMS1117稳压模块、直流电机*2、LED灯若干、 摄像头OV2640、开关、杜邦线、电池若干 RT-Thread版本:4.0.3 开发工具及版本:RT-Thread Studio 2.0.0 RT-Thread使用情况概述(简要总结下应用中RT-Thread使用情况:内核部分、组件部分、软件包部分、内核、其他)内核:线程、邮箱 组件:finish命令、DFS、lwip、POSIX、libc、ymodem、串口、Pin、SPI、SFUD、SDIO、 软件包:fal、easyflash 硬件框架(概述应用所采用的硬件方案框图,并对核心部分做介绍)以MCU为中心,以WLAN为对外通信接口。实现远程控制机器人进行抢先操作。通过Camera进行勘察,通过LED灯进行标识。使用点击驱动履带轮进行行进 软件框架说明(介绍应用所采用的软件方案框图、流程图等,并加以解说)state_machine_thread():用于接收传感器、主控、WIFI等信号,发送消息给相应的进程处理。作为消息中心,只做数据的初步解析(判断是给哪个进程处理),不做任何处理动作 wifi_thread():用于接收并处理wifi相关的操作。比如wifi的开关、模式转换、human具体的业务解析(电机、LED、CAMERA等其他外设的控制)并转发给消息中心,由消息中心进行分发。即与human通信进行拼包解包,与center通信进行拼包与解析。作为human与center的通道。 camera_thread():用于接收和发送图像数据,并进行图像数据的处理 motor_thread():用于进行电机控制的状态机。实现前进、后退、转弯等操作 led_thread():用于灯光状态机。实现各种灯光控制场景 软件模块说明(介绍应用软件关键部分的逻辑、采用的实现方式等)MCU WLAN使用的STATION模式,并增加重连功能。PC端通过NetAssist建立TCP服务器,MCU建立TCP客户端连接PC的TCP服务器,建立连接后即可进行信息的收发。收发仅采用单字节即可完成对机器人的控制。具体字节描述如软件框架图示中说明。 演示效果(演示效果请采用3张高清图片,并录制一段不少于1min视频解说应用所实现的效果,视频上传至B站或者腾讯视频或其他视频平台,给出链接即可)演示视频: 比赛感悟(可以围绕这次比赛学到了什么,克服了哪些困难,有哪些收获,不低于200字)通过这次比赛,我提高了自己对于硬件的了解和使用,这些模块都是自己经过深思熟虑后购买的。这是一个完整的自己构思出来并完成的项目。对于软件上的设计,也是采用了监听者模式,最大程度的解耦合。让程序的逻辑更加清晰明朗。我在这次比赛中收获了很多。同时也意识到自己知识层面上还有一些欠缺和不足。我相信通过自己的努力,会逐渐完善自己的知识技能树。让自己能够称为一名出色的架构师,或者成为一名出色的管理者。我对自己也抱有更大的期望了。我相信自己通过这次比赛,能够更加成熟,同时也对RT-Thread这个RTOS有了更深的理解。现在是一个AI * IOT的时代。我们一个人的力量也许很渺小,但是通过不断地学习我们就会逐渐变强,同时,大家集思广益,能够共同做出一些惊艳世人的作品。我觉得这是作为一名工程师的骄傲。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值