『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 4964|回复: 1

AiLight – A hackable RGBW light bulb

[复制链接]

5

主题

45

帖子

258

积分

论坛积极会员

积分
258
金钱
213
HASS币
0
发表于 2017-7-10 11:15:57 | 显示全部楼层 |阅读模式
本帖最后由 xzhang 于 2017-7-10 11:22 编辑

Refer to http://tinkerman.cat/ailight-hackable-rgbw-light-bulb/


                               
登录/注册后可看大图


                               
登录/注册后可看大图

                               
登录/注册后可看大图

灯罩没有胶合,只适合。只需拉一点力量就会弹出(注:我买的灯泡是金色的,而且灯罩粘的很结实)。 去除后,您可以完全访问PCB。
实际上有2块PCB。 外部有8个高功率白色LED,6个红色LED,4个蓝色和4个绿色LED。 内部PCB使用ESP8266EX微控制器和Winbond 25Q80BVSIG 1MByte闪存芯片来保存逻辑电路。 这些是平常的嫌疑犯。 还有一个标有ADJG的SOT23-6封装和标有MY9291QD的20引脚IC。(目前我还没有打开灯罩



                               
登录/注册后可看大图

有5个焊点,标记为3V3,GND,RX,TX和IO0。 难以置信。 他们可能是工厂模式使用带有弹簧针的夹具烧录固件。 无论如何,看起来很容易焊接一些细线,并上传自定义固件。

唯一的疑问是如何控制LED。 搜索MY9291芯片搭配完美的搭配:My-Semi MY9291 LED驱动。 答对了。 但数据表没有任何有关如何使用它的信息...

Noduino OpenLight
另一方面,沿着MY9291参考文献的路径,您可以快速地在JacksLab上找到Noduino OpenLight wiki页面,由Jack Tan,Noduino项目背后的人物别名comcat。 在该页面中,您有很多关于灯泡的信息,包括示例代码和Jack的(部分)电路原理图。

您对LED PCB的准确描述和Taiwan Mingyang(MY-Semi)的MY9291 LED驱动器的参考。 它还证实,AC / DC变压器在1A最大输出12V。 并描述了两种不同的降压IC。 MP1470MP2359,均由MPS。 MP1470具有ADJ标记。

但最有趣的是,该页面包含一节,介绍如何基于Noduino SDK为OpenLight编译自己的固件。

我检查了Noduino SDK,那里是:MY9291的C驱动程序。 这就是我需要的一切。 顺便说一句,我标注到HLW8012 library包括我的HLW8012库(但不是最新版本)。

该驱动程序是授权GPLv3和版权的Maike实验室,Maike实验室是icamgo和icamgo是Noduino。 您可以使用驱动程序,但我花了一些时间将其封装在一个库中,并使用一些帮助方法来管理LED的颜色和状态。 我已经在AiLight中使用ESP8285进行了测试,但应该适用于ATmega328或其他AVR芯片。

用于Arduino ESP8266的MY9291库作为免费开放软件发行,可以在我的my9291 repository上检出。

让我向大家介绍如何在100%占空比下设置红色LED的简单示例(MY9291_COMMAND_DEFAULT定义8位颜色深度,因此255表示100%):


#include <my9291.h>
 
#define MY9291_DI_PIN   13
#define MY9291_DCKI_PIN 15
 
my9291 _my9291 = my9291(
    MY9291_DI_PIN, 
    MY9291_DCKI_PIN, 
    MY9291_COMMAND_DEFAULT
);
 
void setup() {
    _my9291.setColor((my9291_color_t) { 255, 0, 0, 0 });
    _my9291.setState(true);
}
 
void loop() {}



Flashing it
开始时可能看起来很难焊接这些小垫,但其实很简单。 取一根5线电缆,从导线上取下1-2mm的绝缘层,再放一点。 在焊盘上涂一条热丝,并留下一小滴锡。 然后只需用垫接触每根线,并将其加热一段时间。


                               
登录/注册后可看大图


将电线连接到FTDI(或类似的)板上。 TX到RX,RX到TX。 将GND和IO0连接到地,最后连接3V3。 将程序员插入计算机后,电路板将启动到闪存模式。 当您正在闪烁时,您可以删除IO0连接。 重新启动后,它将进入正常模式,您应该在屏幕中看到调试消息。
ESPurn'd

当然这是ESPurn'd。 ESPurna固件版本1.6.7支持Ai-Thinker AiLight / Noduino OpenLight。 您可以打开/关闭灯泡并从Web界面中选择颜色,或者您可以通过Node-RED通过MQTT来做这两件事情。




                               
登录/注册后可看大图


回复

使用道具 举报

30

主题

999

帖子

4121

积分

论坛元老

Rank: 8Rank: 8

积分
4121
金钱
3117
HASS币
0

活跃会员

发表于 2017-7-21 18:11:22 | 显示全部楼层
谢谢分享!!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-6-6 07:16 , Processed in 1.538474 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表