【电子DIY作品】智能家居中控 基于小安派

[复制链接]
查看1348 | 回复8 | 2023-12-15 17:26:50 | 显示全部楼层 |阅读模式
本帖最后由 noonezero 于 2023-12-19 21:31 编辑

首先,感谢园长送的小安派
其次,感谢这个活动
视频直接放头部,方便大家看效果
https://www.bilibili.com/video/BV1BN411V7Ad/

以下是我的项目之再也不用手动关灯系列
001.jpg

我的少司命镇楼
接下来分别是一个消息框,可以设置成时间
我这里是给我服务器设置了一个MQTT遗嘱消息,每隔一分钟发下服务器时间,
有紧急事情可以直接发消息显示,或者崩溃后显示遗嘱消息

下面是两个开关,之前写代码是想把这两分别接入GPIO0和GPIO1上
这样接个LED还是继电器都OK
结果发现,LVGL代码中把这两IO口都上拉了,除了IIC,touch都上拉了
作罢


于是,我就又用安信可的ESP12F和继电器模块做了一个控制器
控制器如图,非大电流电器都可以控制,这下就可以实现不用关灯系列了
001.jpg


代码运行思路讲解:
首先是联网,需要在这里写自己的Wifi名和密码
002.jpg
然后加载LVGL动画,然后在custom.c中实现连接MQTT和接收消息处理
MQTT服务器采用SDK示例中的mosquitto,
本来是想连接巴法的,这样还可以智能音箱同步控制,更爽
但是巴法的话订阅和发布消息得从底层重写
暂时没那么大的能力和时间

实现效果:
在屏幕上点击开关,控制命令会直接发布到对应主题上,当收到MQTT消息后,根据对应主题及命令实现对应功能
也可以用MQTT客户端发送命令,小安派实现
003.jpg 004.jpg
具体演示可以看我视频

2. lvgl代码生成
这里是用得是GUI-Guider,生成,下载地址
具体使用可以看熊哥的帖子,很详细了 链接在此 点我
最后点这里生成代码,导出代码

0022.jpg

                               
登录/注册后可看大图

最后复制到工程目录,./demos/240X320_ui 修改图片引用lvgl就可以了,这步熊哥有具体讲解


3.MQTT代码
也是用的示例,不过在master分支中已经没有这两了,
但是 在其他分支中有,可以点链接 链接点我
这部分代码在./demos/240X320_ui/custom/custom.c文件中

  1. void custom_init(lv_ui *uui)
  2. {
  3.   gpio = bflb_device_get_by_name("gpio");       //给前面的gpio句柄赋值对外设进行操作,这里的名字
  4.   ui = uui;
  5.   // lv_label_set_text(uui->screen_label_1, "55:78");
  6.   xTaskCreate(MQTTtask, "MQTT", 8192, (void *)uui, 15, NULL);
  7.   bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
  8.   //gpio初始化,第一个参数为句柄,第二个参数为pin,第三个为GPIO的配置,这里配置为输出、浮空、滤波打开、驱动等级0

  9.   bflb_gpio_init(gpio, GPIO_PIN_1, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
  10. }
复制代码

如果有Homeassistant的各位,可以通过nodered接入HA,这样就可以实现更多的联动效果了
园长说我字少,我觉得我不是爱看一大堆文字的人
我相信很多人也和我一样
所以 我直接录了个视频
大家想用的,直接下载代码用就可以了,也能学习下LVGL

代码
MyLVGL_ZNJJ.zip (534.58 KB, 下载次数: 20)
002.png
001.jpg

本帖被以下淘专辑推荐:

回复

使用道具 举报

爱笑 | 2023-12-15 17:28:39 | 显示全部楼层
文字描述需要详细一些
用心做好保姆工作
回复 支持 反对

使用道具 举报

noonezero | 2023-12-15 18:08:11 | 显示全部楼层
爱笑 发表于 2023-12-15 17:28
文字描述需要详细一些

好的
回复 支持 反对

使用道具 举报

干簧管 | 2023-12-15 19:18:54 | 显示全部楼层
回复

使用道具 举报

bzhou830 | 2023-12-15 19:50:49 | 显示全部楼层
选择去发光,而不是被照亮
回复

使用道具 举报

san | 2023-12-15 23:52:28 | 显示全部楼层
回复

使用道具 举报

boblhl | 2023-12-16 00:29:30 | 显示全部楼层
如果能实现,以后我把自己家的改了
回复 支持 反对

使用道具 举报

WT_0213 | 2023-12-16 12:24:53 | 显示全部楼层
回复

使用道具 举报

AXK123456 | 2023-12-17 11:58:23 | 显示全部楼层
给大佬点赞
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则