wishなどの中華サイトで1000円程度で45日程度で入手できる。
Broadlink sc1は、家庭内のwifi経由で簡単に100VACの制御ができる。Android/iPhoneのAppから命令を出し、電灯や扇風機などの家電製品を制御できる。
PCなどから制御するためには、何らかのプログラムを必要とする。
100円均一の延長コードを買い、真ん中で切断すると丁度良いものが作成できます。
ライブラリを導入します。
pip install broadlink
https://github.com/mjg59/python-broadlink
上記にwifi設定する方法が述べられています。
discover.py
import broadlink
broadlink.setup('myssid', 'mynetworkpass', 3)
dev = broadlink.discover(timeout=5)
net=[]
for d in dev:
d.auth()
n=dict(type=d.get_type(),ip=d.host[0],port =d.host[1],
mac = "-".join([format(x,"02x") for x in [x for x in reversed(d.mac)]]),
timeout = d.timeout)
net.append(n)
print(net)
mac=...の行は、byte列のエンディアン変換を行い、かつ、文字列に変換を一行で行いました。「Pythonの立場でコーディンク」
myssidとmynetworkpassに無線ルータのidとpasswordをセットし実行すると下記のように出力される。
出力結果 サンプル
out.js
[{'type': 'SP2', 'ip': '192.168.1.102', 'port': 80, 'mac': '78-**-**-**-**-70', 'timeout': 10}]
スイッチをONします。
on.py
net1=net[0]
sp2 = broadlink.sp2((net1["ip"], net1["port"]),netaddr.EUI(net1["mac"]),net1["timeout"])
sp2.auth()
sp2.set_power(True)
スイッチをOFFします。
off.py
net1=net[0]
sp2 = broadlink.sp2((net1["ip"], net1["port"]),netaddr.EUI(net1["mac"]),net1["timeout"])
sp2.auth()
sp2.set_power(False)
スイッチの状態を調べる
status.py
net1=net[0]
sp2 = broadlink.sp2((net1["ip"], net1["port"]),netaddr.EUI(net1["mac"]),net1["timeout"])
sp2.auth()
print(sp2.check_power())