Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
星火1号_spark_星火一号_开发板
[RT-Thread x 大学生夏令营] 智能家居终端
发布于 2023-07-25 18:20:07 浏览:751
订阅该版
**RT-Thread x 大学生夏令营 华南理工大学第二十三组 智能家居终端的技术分享帖** 1.项目背景: 本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能。 项目成员均来自华南理工大学大二集成电路设计与集成系统专业,组长:方浩然,组员:谢天宇。 由于项目时间短暂,主要结合了板载资源,并基于一些现有的例程开发相关功能…… 最终该项目的整体规划为实现一个小型的智能家居终端,利用一些板载资源采集数据/代表部分现实中的家居。主要功能包括以下几项: 1.实时温湿度采集并上传onenet,在onenet中实现数据可视化 2.通过板载按钮/云端指令控制LED灯阵,模拟控制家居灯阵 3.显示屏显示当前温湿度以及选择灯阵的相关信息 4.没用的功能:~~实现开启动画~~ ------------ 2.项目成品展示: 本项目通过五个主线程来控制和实现所有功能,分别是 system_start_thread 系统启动线程 led_matrix_thread 灯阵控制线程 get_color_thread 获取灯阵颜色、模式线程 temp_humi_thread 温湿度获取线程 lcd_show_thread lcd显示线程 部分项目图片实际展示: 1.温湿度数据实时上传onenet ![onenet_temp.png](https://oss-club.rt-thread.org/uploads/20230725/ff042778373e5b2e1e7f2e5f9e5df8da.png) ![onenet_humi.png](https://oss-club.rt-thread.org/uploads/20230725/120b4e62a3175db5e805e6902758189a.png) 实现高温警告 ![onenet_hitempwarning.png](https://oss-club.rt-thread.org/uploads/20230725/3995316c1ffd4b61dc23ba34649a334b.png) 工作效果 ![shijixiaoguo.jpg](https://oss-club.rt-thread.org/uploads/20230725/7e21f7fbf3cbe07d279cc1896c29dcf7.jpg) ------------ 3.项目具体实现 线程间通信 例子:实现不同数据在lcd屏幕上的显示,实现实时灯阵颜色和模式的选择。 首先发送mode与color void get_color_entry() { rt_thread_mdelay(100); rt_mb_send(&mode_choice, (rt_ubase_t)mode); rt_mb_send(&color_choice,(rt_ubase_t)yanse); rt_pin_mode(PIN_KEY_LEFT, PIN_MODE_INPUT_PULLUP); rt_pin_mode(PIN_KEY_DOWN, PIN_MODE_INPUT_PULLUP); rt_pin_mode(PIN_KEY_RIGHT, PIN_MODE_INPUT_PULLUP); rt_pin_mode(PIN_KEY_UP, PIN_MODE_INPUT_PULLUP); while (1) { /* 读取按键 KEY0 的引脚状态 并发送*/ if (rt_pin_read(PIN_KEY_LEFT) == PIN_LOW) { rt_kprintf("left\n"); mode--; xunhuan(); rt_mb_send(&mode_choice, (rt_ubase_t)mode); rt_mb_send(&color_choice,(rt_ubase_t)yanse); 接受并实现led灯阵的控制: void led_matrix_control_entry(void *parameter) { RGBColor_TypeDef chozen_color; int *pmode; int *pyanse; rt_err_t mbRet1 = RT_EOK; rt_err_t mbRet2 = RT_EOK; led_matrix_clear(); while(1) { mbRet1 =rt_mb_recv(&mode_choice, (rt_ubase_t*)&pmode, RT_WAITING_FOREVER); mbRet2 =rt_mb_recv(&color_choice, (rt_ubase_t*)&pyanse, RT_WAITING_FOREVER); color_parameter = enter_color(pyanse); mode_choice_funtion(pmode, color_parameter); if(mbRet1==RT_EOK) { rt_kprintf("mode_choice:%d",pmode); } ------------ 4.问题与未来方向 问题1:例程中的引脚定义不统一 例程中的引脚定义不统一导致一些程序能够正常编译但是不能灯阵不能正常展示 需要通过STM32CubeMX进行调整 问题2:使用led_matrix[i].io_ctl(&led_matrix[i],COLOR);在对多个LED同时进行更改时会出现延时,例如当同时使用该代码点亮所有外圈LED时会先亮一部分再亮另一部分。 如果使用Set_LEDColor(laite,RED); RGB_Reflash();则能够让所有灯同时亮起。 未来方向1:开发利用其他板载资源 星火一号的板载资源,相关软件包非常丰富,未来可以进一步利用未使用的板载资源进行进一步的开发。 未来方向2:开发移动端/桌面端应用 可以直接从移动端/桌面端向开发板发送控制指令,整个方案更加完善。 ------------ ps.实现开场动画 运用img2lcd软件将图片变为c数组,调整合适大小后调用lcd_show_image()函数显示图片。 通过循环,实际效果为动图。 ![xiduo.png](https://oss-club.rt-thread.org/uploads/20230725/a556e8b6ebfeea57b83e3cbd7e08a081.png.webp) 发帖人:方浩然 时间2023.07.25
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
meng_1092
这家伙很懒,什么也没写!
文章
1
回答
0
被采纳
0
关注TA
发私信
相关文章
1
[星火一号] 代码模板, 手动写启动代码, 开机后 snprintf 不能处理 %llu 了, 是有什么配置上的冲突吗?
2
使用MDK5.37开发星火一号,双击mklinks.bat 文件后,目录下没有 rt-thread 和 libraries 的文件夹图标。
3
studio文件构建丢失
4
rtt中星火一号stm-32怎么把两个示例工程合并成一个
5
星火一号串口发送问题
6
基于开发板建工程的疑问
7
使用星火一号开发板建工程的奇怪问题
8
星火一号板pwm功能,不报错,但也不输出,为什么?
9
星火一号怎么强制改变已占用的引脚的功能呢
10
火星一号的标准库在哪里?外设的数据手册在哪里看?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
8
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
7
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
RTT_逍遥
3
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
3
次点赞
Ghost_Girls
1
篇文章
6
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部