本作品由安信可社区用户
noonezero制作
以下是我的项目之再也不用手动关灯系列,为了方便小伙伴们看效果,大家可以先点击图片看视频。
一个消息框设置成时间,这里给服务器设置了一个MQTT遗嘱消息,每隔一分钟发下服务器时间,有紧急事情可以直接发消息显示,或者崩溃后显示遗嘱消息。
下面是两个开关,之前写代码是想把分别接入GPIO0和GPIO1上,这样接LED或者继电器都OK,结果发现LVGL代码中把这两IO口都上拉了,除了IIC,touch都上拉了,作罢。
于是,我就又用安信可的ESP12F和继电器模块做了一个控制器(如图),非大电流电器都可以控制。
01代码运行思路讲解
首先是联网,需要写下Wi-Fi账户和密码:
加载LVGL动画,然后在custom.c中实现连接MQTT和接收消息处理,MQTT服务器采用SDK示例中的mosquitto,本来是想连接巴法,能后续实现智能音箱的同步控制,但是使用巴法订阅和发布消息得从底层重写,暂时没那么大的能力和时间。
实现效果:
在屏幕上点击开关,控制命令会直接发布到对应主题上,当收到MQTT消息后,根据对应主题及命令实现对应功能,也可以用MQTT客户端发送命令,让小安派来实现。
02lvgl代码生成
●这里用得是GUI-Guider生成,下载地址
●具体使用可以看社区另一个用户(ID:ifwz1729)的帖子,链接在此
最后复制到工程目录,./demos/240X320_ui 修改图片这里,引用lvgl就可以了,步骤在上述用户(ID:ifwz1729)帖子里有具体讲解。
03MQTT代码
本人也是用的示例,不过在master分支中已经没有这两了,但找到了在其他分支中有,可以点链接 。
这部分代码在./demos/240X320_ui/custom/custom.c文件中。
如果有Homeassistant的小伙伴,可以通过nodered接入HA,这样就可以实现更多的联动效果了,大家想用的可以直接下载代码使用,也能学习下LVGL。
全部0条评论
快来发表一下你的评论吧 !