0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用Ai-WB2开发板做智能家居全彩LED小夜灯

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2024-11-13 14:03 次阅读

wKgZomc0QTGAGCQfAAEH9PDRG1Q850.jpg

免费包邮开发板赠送!安信可蓝牙5.2低功耗开发板免费申请啦_哔哩哔哩_bilibiliwww.bilibili.com/video/BV1UgSiY1EP9/?spm_id_from=333.999.0.0&vd_source=54c5db21948db2378659b7e8e42bafbf

安信可技术论坛官方B站账号来啦

提前关注不迷路

在这里优先预告各类活动、教程

以下作品由安信可社区用户

业余菜狗制作

大家是不是经常看到各种彩色的小灯

bingbing的五颜六色很吸引人

今天用WB2开发板做了一个能加入HA的全彩LED小夜灯

来看看主要的教程

连接WiFi

先对Ai-Thinker-WB2/applications/protocols/mqtt/tcp/例程进行编译,编译成功后,烧录到板子上面去。

上电之后先确认板子有没有连上WiFi,这个在路由器后台可以看到,之后在mqtt服务器后天查看WB2是不是有连接上MQTT服务器,没连上!为啥?哦~~~忘了改代码里面的MQTT服务器IP了。(这里服务器地址不包含"mqtt://"的前缀,只是纯IP地址)

再次编译上传,从mqtt服务器后台可以看到WB2连上mqtt服务器了。

这里用的是emqx的开源服务器,可以在服务器里面看到有订阅一个主题,尝试向这个主题发送一个信息,然后用调试器看WB2输出。

这里顺带一提默认波特率是115200,烧录器默认的波特率是2000000,要改。

从WB2串口输出,发现WB2收到的mqtt是在一个看不懂的函数里面执行的,里面执行的代码就是把收到的主题和信息打印出来.顺带把订阅和发送的函数也找到了。

远程点亮LED

那就在处理信息这里改,改成判断收到的信息是不是"ON"或者"OFF",如果是,那就开启或关闭LED(这里的判断,出了很多问题,在妖哥个帮助下,抄了一个arduino的代码才成功判断)。

因为要LED亮起来,程式到这里也就加上了Ai-Thinker-WB2/applications/get-started/blink/里面的闪灯代码。

加上pwm调整亮度

光亮起来,明显是不够的,明显还需要加上一个pwm程式来调节LED的亮度,这里就把blink里面的代码删除,换成Ai-Thinker-WB2/applications/peripherals/demo_pwm/里面的代码,这里面的代码正好是控制那个板载LED的RGB.不过我嫌pwm的代码太繁琐,就给它封装了一个RGB.h库丢那里让我引用就可以了,库里面就一个函数:RGB(R,G, B, BL),这个函数有4个参数,分辨是颜色参数的RGB的值和亮度值。

但是新的问题来了,mqtt收到的信息是字符串,但是RGB需要的参数是数值,比如收到的信息是"255,0,0",需要分割成255,0,0三个数值。

我在网上找了一大圈,最后用了个笨方法把收到的信息进行历遍分解,这样代码就很长很不好看,不过后面在群友的帮助下,用了个函数分解出来了。

到现在为止,已经可以用mqtt方式无线控制LED的颜色、亮度和开关了。

不过这样还是有个问题,就是在断电重新上电之后LED的颜色、亮度和开关状态都会被重置,需要有个地方储存这些参数。

存储数据到flash

在WB2上电后还没有连上WiFi和mqtt服务器的这段时间,没有接收到参数,不会亮的。

所以需要把数据存在WB2上,然后就找到了Ai-Thinker-WB2/applications/storage/easyflash/这个demo,把这个demo改一下也加入到我们的代码中来。

然后设定程式,在启动的时候从WB2flash中读取出数据,在去连接WiFi和mqtt,也需要在每次收到命令时将数据存到flash里面。

总结

制作过程的全过程大致就是这样了,总结一下代码流程:

上电--->读取flash--->点亮LED--->连接WiFi和mqtt--->订阅设置主题--->处理收到信息--->更新LED状态--->上传LED状态--->保存LED状态到flash

看看演示效果:

wKgaomc0QTOAZteGAABP8dE5I0U605.jpg

玩过HA的都知道设备一旦加入了HA,那么它就具有巨大的可玩性,即使只是一个LED。

这是亮度调节

wKgZomc0QTSAAXQoAAA3ZZjAVp0831.jpg

这是颜色调节

wKgaomc0QTSAImfMAABLwCkNaTo999.jpg

可以直接输入参数

wKgZomc0QTWAOw0HAABYpuZvc8o807.jpg



审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23128

    浏览量

    658257
  • 开发板
    +关注

    关注

    25

    文章

    4933

    浏览量

    97159
  • wifi模块
    +关注

    关注

    60

    文章

    379

    浏览量

    73331
收藏 人收藏

    评论

    相关推荐

    基于哪吒开发板部署YOLOv8模型

    2024英特尔 “走近开发者”互动活动-哪吒开发套件免费试 AI 创新计划:哪吒开发板是专为支持入门级边缘
    的头像 发表于 11-15 14:13 138次阅读
    基于哪吒<b class='flag-5'>开发板</b>部署YOLOv8模型

    外设移植 安信可Ai-WB2-32S开发板+TM1637 NTP时钟

    使用的是AI-WB2-32S开发板,自己画了一个板子整合TM1637和舵机、BLE(舵机、BLE的将会在另外2篇帖子介绍),对应的接线方式如下: 移植过程: 根据参考帖子以及TM1637的规格书进行更改,时序
    的头像 发表于 09-24 14:29 232次阅读
    外设移植 安信可<b class='flag-5'>Ai-WB2</b>-32S<b class='flag-5'>开发板</b>+TM1637 NTP时钟

    智能家居之旅(15):HA传感器采集主板低功耗设计的遭遇

    智能家居之旅(4):神器在手,摸鱼我有!Rd-01做个老板监视器 智能家居之旅(5):Ai-WB2 使用HomeAssistant-C库接入HomeAssistant
    的头像 发表于 09-05 10:27 324次阅读
    <b class='flag-5'>智能家居</b>之旅(15):HA传感器采集主板低功耗设计的遭遇

    机智云ESP8266开发板RGB彩灯控件

    随着智能家居技术的迅猛发展,RGB彩灯控件正逐渐成为现代家庭不可或缺的一部分。在这一潮流中,机智云(Gizwits)的ESP8266开发板RGB彩灯控件以其先进的物联网技术和多样化的灯光控制功能,为
    的头像 发表于 08-09 08:10 339次阅读
    机智云ESP8266<b class='flag-5'>开发板</b>RGB彩灯控件

    如何用一块免费的PCB完成2元USB小夜灯控制器?

    HomeAssistant的方法 智能家居之旅(3):Ai-M61/M62 接入HomeAssistant 实现点灯 智能家居之旅(4):神器在手,摸鱼我有!Rd-01做个老板监视器
    的头像 发表于 07-30 10:33 247次阅读
    如何用一块免费的PCB<b class='flag-5'>板</b>完成<b class='flag-5'>2</b>元USB<b class='flag-5'>小夜灯</b>控制器?

    安信可Ai-WB2系列模组/开发板连接AWS亚马逊云方法

    一、软硬件的准备二、亚马逊云物模型建立三、连接亚马逊云demo获取以及配置四、硬件接线五、烧录软件的使用六、连接亚马逊云七、联系我们前言Ai-WB2系列模组是安信可科技开发的Wi-Fi&
    的头像 发表于 07-05 08:23 394次阅读
    安信可<b class='flag-5'>Ai-WB2</b>系列模组/<b class='flag-5'>开发板</b>连接AWS亚马逊云方法

    Ai-WB2使用HomeAssistant-C库接入HomeAssistant

    Ai-M61/62只用来连接MQTT太浪费资源了,Ai-WB2更具性价比!
    的头像 发表于 06-15 14:00 507次阅读
    <b class='flag-5'>Ai-WB2</b>使用HomeAssistant-C库接入HomeAssistant

    打卡智能家居之旅(2):设备接入HomeAssistant的方法

    Ai-WB2 或者Ai-M6x等模组)接入服务器必定要使用网络协议,而MQTT 是这些网络协议中最常用的。例如:阿里云的物联网平台,例如米家、鸿蒙等都有基于MQTT协议的接入方式,而HomeAssistant
    的头像 发表于 06-07 09:36 1279次阅读
    打卡<b class='flag-5'>智能家居</b>之旅(<b class='flag-5'>2</b>):设备接入HomeAssistant的方法

    智能家居系统的开发-基于米尔瑞萨RZ/G2UL开发板

    本篇评测由电子工程世界的优秀评测者“Bruceou”提供。1、项目背景智能家居控制系统,是以智能家居系统为平台,家居电器及家电设备为主要控制对象,利用综合布线技术、网络通信技术、自动控制系统、音频
    的头像 发表于 05-17 08:01 958次阅读
    <b class='flag-5'>智能家居</b>系统的<b class='flag-5'>开发</b>-基于米尔瑞萨RZ/G<b class='flag-5'>2</b>UL<b class='flag-5'>开发板</b>

    安信可Ai-WB2系列模组/开发板连接AWS亚马逊云方法

    的Wi-FiDownload按钮开始烧录,出现Please Press Reset Key!时,Ai-WB2系列开发板按左边RST键进入烧录模式 5.3 烧录成功 常见烧录问题 此错误表示该串口被
    的头像 发表于 04-16 15:53 424次阅读
    安信可<b class='flag-5'>Ai-WB2</b>系列模组/<b class='flag-5'>开发板</b>连接AWS亚马逊云方法

    【Longan Pi 3H 开发板试用连载体验】基于 Longan Pi 3H 开发板完成智能家居控制小型项目

    和存储空间显示为4GB+32G,如图 三、项目计划 我的试用项目是基于 Longan Pi 3H 开发板完成智能家居控制小型项目目标如下: 通过 Longan Pi 3H 开发板实现模拟家庭设备控制(如
    发表于 04-02 22:37

    基于FreeRTOS+LVGL V8智能家居仪表盘设计

    野火启明6M5开发板制作了一个基于 FreeRTOS 和 LVGL V8 的智能家居仪表盘,颜值较高,也可以作为桌面摆件使用
    的头像 发表于 01-22 14:10 4511次阅读
    基于FreeRTOS+LVGL V8<b class='flag-5'>智能家居</b>仪表盘设计

    安信可Ai-WB2系列模组/开发板连接AWS亚马逊云

    的Wi-FiDownload按钮开始烧录,出现Please Press Reset Key!时,Ai-WB2系列开发板按左边RST键进入烧录模式 5.3 烧录成功 常见烧录问题 此错误表示该串口被
    的头像 发表于 01-16 14:28 669次阅读
    安信可<b class='flag-5'>Ai-WB2</b>系列模组/<b class='flag-5'>开发板</b>连接AWS亚马逊云

    Ai-WB2系列模组/开发板连接亚马逊云的方法介绍

    Ai-WB2系列模组/开发板一个
    的头像 发表于 01-13 15:11 1230次阅读
    <b class='flag-5'>Ai-WB2</b>系列模组/<b class='flag-5'>开发板</b>连接亚马逊云的方法介绍

    生成式AI智能家居的影响

    电子发烧友网站提供《生成式AI智能家居的影响.pdf》资料免费下载
    发表于 01-02 14:50 17次下载