用Ai-WB2开发板做智能家居全彩LED小夜灯
大家是不是经常看到各种彩色的小灯,bingbing的五颜六色很吸引人。今天用Ai-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
看看演示效果
玩过HA的都知道设备一旦加入了HA,那么它就具有巨大的可玩性,即使只是一个LED。
这是亮度调节
这是颜色调节
可以直接输入参数
- |
- +1 赞 0
- 收藏
- 评论 0
本文由雪飘梦飞转载自安信可科技公众号,原文标题为:用Ai-WB2开发板做智能家居全彩LED小夜灯,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
Ai-BS21系列烧录指导——开发板or模组
本篇以Ai-BS21-32S_Kit为例指导烧录固件,这是由深圳市安信可科技有限公司开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。
Ra-09系列开发板入门教程,标准LoRaWAN协议对接国外 TTN LoRaWAN 开源服务器
本文章将说明如何在TTN中创建应用与节点设备,配置安信可Ra-09模块连接至TTN服务,实现数据发送与接收。
打卡智能家居之旅(2):设备接入HomeAssistant的方法
上次我们在安装HomeAssistant的时候(打卡智能家居学习之旅(1):了解HomeAssistant),顺便把MQTT 集成安装好了。为什么要装MQTT 集成呢?Wi-Fi 设备(Ai-WB2 或者Ai-M6x等模组)接入服务器必定要使用网络协议,而MQTT 是这些网络协议中最常用的。本文介绍了如何将设备接入HomeAssistant的方法。
低能耗、低时延、快速度,星闪开发板Ai-BS21-32S-Kit更多场景应用,邀您一起来探索!
万众期待的星闪开发板上架了!Ai-BS21-32S-Kit 低延迟,高效率!话不多说!先回顾下基本参数信息。
安信可科技无线模组选型表
提供安信可科技无线模组选型,封装:DIP/SMD,尺寸:10.3mm*9.9mm*2.4(±0.2)mm-120.0mm*120.0mm*30.0mm,通信接口:UART/GPIO/ADC/PWM/I?C/SPI/Touch senser/PSRAM/SDIO/Duplex I²S/麦克风/扬声器,最大速率:2.5mW-100mW,参考距离:80m-5km,供电电压:1.9V-5.25V
产品型号
|
品类
|
封装
|
尺寸(mm)
|
通信接口
|
最大速率(mW)
|
参考距离(m/km)
|
供电电压(V)
|
空中速率(Kbps/Mbps)
|
天线形式
|
工作温度(℃)
|
NF-01-S
|
2.4G模组
|
DIP-8
|
28.6mm*15.3mm
|
SPI
|
5mW
|
240m
|
1.9V-3.6V
|
250Kbps-2Mbps
|
板载天线
|
-20℃~70℃
|
选型表 - 安信可科技 立即选型
零基础开发小安派-Eyes-S1【入门篇】——工程文件架构
AiPi-Eyes-S1是安信可开源团队为Ai-M61-32S模组设计的开发板,支持WiFi6和BLE5.3,具备丰富的外设接口。开发板集成了多种接口,包括SPI屏幕、DVP摄像头、ES8388音频编解码器,并预留TF卡座和USB接口。开发资源包括入门教程、工程文件说明和烧录配置文件,适合初学者快速上手。
【经验】Ai-WB2系列模组AT固件使用教程
Ai-WB2系列模组AT固件使用教程:1.准备工作需要准备的软硬件:Ai-WB2系列模组或者开发板,Type-C数据线,安信可透传云服务器,连接为http://tt.ai-thinker.com/ttcloud2.连接路由器等。
智能家居之旅(14):安信可IoT Blufi配网工具新功能介绍
今天给大家介绍一下小程序配网工具-安信可IoT,近期刚发布了新的版本,新增了服务器地址配置的功能,在配网的时候,可以选择配置服务器地址。这个新功能,给我们带来了不少便利,特别是 HomeAssistant 固件使用这一块。
【外设移植】基于AI-WB2-32S开发板的SG90舵机控制案例
介绍Ai-WB2模组驱动舵机控制(SG90)的技术要求和方案。
打卡智能家居之旅(5):Ai-WB2 使用HomeAssistant-C库接入HomeAssistant
之前所有写的《智能家居之旅》帖子代码都是基于Ai-M61来开发的,不少大佬跟我反馈说:Ai-M61/62只用来连接MQTT太浪费资源了,Ai-WB2更具性价比!我觉得有道理,所以昨天就把HomeAssistant-C 给做了一次大改,提升了耦合性,目前仓库的master分支也可以支持Ai-WB2了,现在,跟着我来试试吧!
高性能开发板Ai-M61-32S-Kit助力Wi-Fi6+BLE5.3模组
Ai-M61-32S-Kit是针对Ai-M61-32S模组设计的开发板。Ai-M61-32S是由深圳市安信可科技有限公司开发的Wi-Fi6+BLE5.3模组,该模组搭载BL618芯片作为核心处理器,支持Wi-Fi 802.11b/g/n/ax协议和BLE协议,支持Thread协议。
BU03 UWB室内定位测距模块,配套测试说明
安信可推出了BU03定位模组,采用DW3000芯片,体积小巧,可集成至主板。BU03_Kit开发板使用STM32F103主控芯片,支持SPI连接和STM32 ST-LINK Utility烧录。测试时,需至少两个开发板,通过AT指令设置基站和标签,进行测距和定位测试。开发板提供USB和TTL接口,可配合上位机获取位置数据。
星闪开发板or模组烧录指导
Ai-BS21-32S_Kit是由安信可科技开发的蓝牙星闪开发板。该模块核心处理器芯片Hi2821是一款高集成2.4GHzSoCBLE&SLE芯片,支持BLE5.4/SLE1.0,集成RF电路,RF包含功率放大器PA、低噪声放大器、TX/RXSwitch、集成电源管理等模块,支持1M/2M/4M3种带宽,最大支持12Mbit/s速率。
【经验】Ai-WB2模组基于TCP的MQTT连接服务器使用示例
1、需要准备的软硬件:Ai-WB2系列模组或者开发板,Type-C数据线2、连接路由器:先保证模块或者开发板上电打印ready,2.发送AT+CWMODE=1;AT+CWJAP=“WIFI名称”,“WIFI密码”。
【外设移植】Ai-WB2+INA266
介绍基于Ai-WB2+INA266的外设移植操作实例。
电子商城
现货市场
服务
可加工PCB板层数1~40,最小线宽/间距内层: 2.5/3mil (H/H OZ base copper);最小线宽/间距外层: 3/3mil (H/H OZ base copper);成品交货尺寸范围:10 * 10mm~570 * 1200mm。板厚范围:0.4mm-10mm。支持通孔板、HDI板、柔性板、刚柔结合板打样、小批量及批量生产。
最小起订量: 1 提交需求>
可加工PCB层数:1-30层;板材类型:FR4板/铝基板/铜基板/刚扰结合板/FPC板/高精密板/Rogers高频板;成品尺寸:5*5mm~53*84cm;板厚:0.1~5.0mm。
最小起订量: 1 提交需求>
登录 | 立即注册
提交评论