|
南方最怕的天气就是回南天,之前我家一直用一台小熊抽湿机,但应付不了1百多平的房,于是今年又买了台小米的。结果发现这台带联网功能的挺好用。一个可以设置定时工作,让它抽1小时停1小时,也可以设置达到湿度值启动或停止抽湿。对于对之前纯手动的小熊抽湿机动起了小心思。
拆开看了之后发现它MCU与控制面板之间使用的是TM1630芯片,拍下控制板的电路并上网查了相关资料,直接画在拍的电路板背面上(点击图片放大)。
然后就是接上这几条线到ESP8266试验板上写代码,读出它的湿度值和开关状态了。这些线里最关键的三条线是STB, CLK, DIO。它的时序基本上是STB拉低之后,每个CLK 上升沿读DIO的值,8个0/1就是一个字节。再去查TM1630的PDF资料之后,基本上知道它的通信协议(如什么数值开始是什么状态的含义)。
接着就是把这些信息丢给DEEPSEEK, 说我要用ESP8266在MCU与TM1630之间的串行通信读取数据,它的工作时序是STB拉低之后,每个CLK 上升沿读DIO的值,8个0/1就是一个字节,然后DP就写了一段代码给我,我反复测试了一下,是能读出数据来,但是时间一长就会乱码。。。。经过我分析,估计是它没有做到位同步,然后读出的数据直接发串口会因为没有缓存而丢失。
于是告诉DP要增加接收队列缓冲,并加上STB高位时的检查清空位接收内容。这下读出来的数据就很稳定了。然后再根据显示不同的湿度读到的内容、开关状态让DP写了一个查表转换,于是100进制的湿度数字就正常出来了。
下一步就是控制启动抽湿的开关了。因为想减少电路,于是考虑用一个光电耦合器实现开关的控制,经实验用一个三极管放大后去控制光电耦合器,实现闭合开关。电路就很简单了,如下图一个电阻+三极管+光电耦合器就OK了。
然后把两块小板(esp8266和开关控制板)装入抽湿机。
然后再去巴法云注册了3个控制器,一个传感器用于显示湿度,一个开关用于控制抽湿,一个智能开关,用于启动自动控制(即湿度》87时启动,低于75时停止)。
根据提供的样例代码加到上面的程序就实现微信-》小程序-》巴法云 查看家里湿度,并自动控制抽湿的功能了。
最后,在家里的HA上,把巴法云接入,它的玩法就更多了。。。可以与其它家电联动了。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|