如何用安信可Ai-M61系列控制WS2812实现小夜灯?

描述

本作品由安信可社区用户

timo制作

我需要一个灯

我需要一个多彩灯

我需要一个可以智能控制的多彩灯

来了,它就是

WS2812WS2812

大家好,这就是我要是说的小夜灯

别看我的图片很简约的不能再简约

它可是集众多功能于一身哦

且看我一 二 三 四 变

身为一个灯,接入 HA 控制那是最基本的

WS2812WS2812

小程序控制,那也是妥妥的~

WS2812

苹果手机还可以这样控制

WS2812WS2812WS2812

Siri 控制也不是不行

WS2812

你以为这是它的全部吗

No,No,No

身为一个灯,这点追求太少了

再加

音乐灯

结合 LedFx

添加设备可以直接变身音乐灯带

以上是控制方式

接下来给大家挨介绍这个灯的结构,工程,控制,和源码

结构

WS2812

这是外壳结构

里面分为两层,上层就是灯珠,有 25 棵均匀分布在板子上,板子正好放在孔柱上,孔为 M3 螺丝孔,正好固定

下层是控制电路,正好穿过孔柱放到下面托盘上

安装需安装下层,然后螺丝母固定,在放上层,继续固定

最下面放一张 1.5 厚的乳白透光板,实现即透光,也不会刺眼

充分满足小夜灯使用

板子尺寸为 100mm 正园,符合白嫖思想

透光板直接说好尺寸,淘宝店家就给切割

就是外壳不能晒光,最近测试,放桌上,已经发黄了

WS2812

实物图长这样,底板没加

一方面是打算等 5000 积分后换两块 M61 模组在装,省钱

WS2812

控制

小夜灯控制主要在两个方面

一个是 MQTT 控制,实现 RGB 各种颜色的切换

这种也就是 HA 控制模式

不过缺点也很明显,只能控制单一颜色 亮度,也就是 25 个灯要什么颜色就是什么颜色

苹果 homekit siri 都是这种控制的衍生品

另外一种就是 UDP 控制

这种小程序和 LEDFX 就是这种

可以实现每个灯控制什么颜色

当然要是都一个颜色还是得一个个都输入灯的颜色

彩蛋模式

隐藏彩蛋,直接在对应主题发送数字,就可以显示各种炫酷动画

这个会在视频中详细演示

彩蛋模式定义的值,这个在 ws2812.h 里面定义

这里的值只到初始化灯模式,UDP 模式放在这里是为了内部切换的

发送 UDP 对应值程序会报错

WS2812

LEDFX模式

这是 ledfx 的 github

GitHub - LedFx/LedFx: LedFx is a network based LED effect engine designed to deliver advanced real-time audio effects to a wide variety of devices.

介绍:

LedFx 让您的 LED 随着音频跳舞!LedFx 提供的是接收音频输入的能力,并即时将音频处理成实时灯光秀到多个 LED 灯条/矩阵。无需花费数小时来编程一首歌曲来编程您的 LED,因为 LedFx 将为您完成这一切!

LedFx 实时 LED 灯带音乐可视化效果控制器采用的是基于网络的设备(ESP8266/ESP32/Raspberry Pi 4),支持先进的实时音频效果!LedFx 可以控制多个设备,并且与廉价的 ESP8266/ESP32 节点配合使用,从而在整个房屋中实现经济高效的同步效果!

配置

下载安装就不介绍了,直接讲配置,点击设备

默认这里时没设备的,添加就行

WS2812WS2812WS2812

上面选择 UDP,下面安图配置

最后点击进去

WS2812

这里就可以选择各种模式了

选择好模式,这里点开始,就可以看到效果了

WS2812

补充下苹果手机接HA

苹果有自带的 homekit,HA 有集成,可以生成 homebrige,桥接苹果和 HA,这样在苹果家庭里面就可以控制 HA 的设备了,在集成里面搜 homekit。

WS2812

选择 apple

WS2812

bridge 选择

WS2812

选择灯

WS2812

设置区域

WS2812

点完成

在通知里面有个二维码

打开苹果手机,家庭,扫码添加就可以了

添加完成后就可以在苹果手机上控制了,Siri 也可以了

工程架构

主要工程在 components 文件夹里面

WS2812

mmqtt 主要是负责 MQTT 连接订阅

User 各种功能 Task 调度

wifi 连接 wifi

ws2812 LED 显示代码

灯这里我没用莫哥的库,但是处处都是莫哥库里面的精华

不管是这个工程模板 还是 MQTT wifi 连接 都是

整个工程调度是在 user_state.c 中 state_task 函数

开机给这个函数发送系统启动状态后,

就是这个函数负责消息处理 LED 显示

工程的复刻记得修改 makefile 文件即可

遗憾

其实还想加麦克风的

傅里叶变换还没搞懂

虽然 ledFx 也可以,但是毕竟不是自己的

如果大家有啥好的思路或想法,能把麦克风也加上,也可以根据律动变化,欢迎给我建议

感谢大家看到这里

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分