手头有几个很多年前买的Broadlink的智能小设备, 一个A1环境检测仪, 一个SP mini 3的可控插座, 一个红外HUB。
打算长时间的记录环境的温湿度。一块DHT11传感器精度太差, 不堪使用,温度高5度,湿度低20%。翻出这个A1,Broadlink的app能连,看来工作正常。SP mini 3连不上,倒是用京东的小金鱼app能连。
网上找到一篇分析协议的《Broadlink smart home devices complete protocol hack 》文章, 以及github上的python 代码。
试了试,可以用。
import time, os, json;
import broadlink;
while True :
time.sleep(5);
try :
devices = broadlink.discover()
#print(devices);
for device in devices :
#print(device.get_type());
if device.get_type() == 'A1' :
device.auth();
log(json.dumps(device.check_sensors()));
break;
except Exception as e:
print(e);
运行到devices = broadlink.discover(),经常报错,原因待查。只好先用while包起来,加上sleep(5),以免过劳。
SP mini 3 能被找到, devtype=20000 ( 0x4e20), 但设备类型为未知,不能用这个python库操作。Broadlink的app也连不上, 大概协议有变罢。