本帖最后由 trz0332 于 2020-8-19 22:46 编辑
玩不起辉光管时钟,只能买这种led防辉光管的时钟了原来的功能也还算可以,有好几种灯效,可以设置时间,但是不能设置日期
考虑到设置时间太麻烦,于是打算改造一下.用esp32做主控,micropython重新写了程序
原来的硬件还是比较简单的.60个ws2812.每个led上面有块玻璃,当led灯亮的时候对应玻璃上面刻的字就亮了,于是显示数字
硬件改造增加了sth20温湿度传感器.一个触摸按钮,
功能上实现了mqtt协议,可以铜鼓mqtt设置灯的颜色
实现了ntp校时
按键切换显示日期,温度,湿度
加入DS3231时钟模块,离线也能保持时间了,逻辑是每小时一次从网络获取时间,获取不到会从ds3231获取时间,如果获取到了,就会把获取到的时间更新到DS3231李米娜
代码地址:
在cfg.py里面配置wifi和mqtt信息
sysname='micropython_clock'
topic_rbg_stat=b'esp/rgb1'
topic_rbg_command=b'home/rgb1/set'
topic_hjdata=b'esp32/hjdata'
topic_status=b'esp32/status'
mqtt_server = '10.18.13.1' #mqtt服务器IP
ntp_server= '10.18.13.1' #设置NTP服务器地址
ssid = 'iot' #wifi账号
wifi_pw = 'xxxxxx' #wifi密码
user = 'pi' #mqtt用户名
password = 'xxxxxx' #mqtt密码
led_pin=23
i2c_scl_pin=5
i2c_sda_pin=4
b1_pin=18
b2_pin=19
b3_pin=21
接入hass后就是这样子了
|