myaonのアイコン画像
myaon 2021年02月28日作成 (2021年12月23日更新)
製作品 製作品 閲覧数 2349
myaon 2021年02月28日作成 (2021年12月23日更新) 製作品 製作品 閲覧数 2349

Raspberry PiとSwitchBotで目覚まし蛍光灯自動点灯

Raspberry PiとSwitchBotで目覚まし蛍光灯自動点灯

部屋のライトのON/OFFにSwitchBotを活用しているのですが、目覚ましのタイミングで電気を付けて強制的に起きられたらいいですよね。IoT的な諸々の連携はSwitchBot専用ハブがあれば簡単にその辺り設定できるらしいんですが、地味にお高い...

ですが、公式のPythonスクリプトを使えばラズパイ経由で操作可能という記事が!
https://chasuke.com/switchbot-raspi/

これを使って早速目覚まし時計を作っていきます。
ライブラリを指定された通りにインストール。

$ sudo apt-get update $ sudo apt-get install python-pexpect $ sudo apt-get install libusb-dev libdbus-1-dev libglib2.0-dev $ sudo apt-get install libudev-dev libical-dev libreadline-dev $ sudo pip install bluepy $ git clone https://github.com/OpenWonderLabs/python-host.git $ cd python-host

スマホアプリからSwitchBotのMACアドレスを調べて

$ sudo python switchbot.py "MACアドレス" Turn On $ sudo python switchbot.py "MACアドレス" Turn Off

こんな風にコマンドをたたくとSwitchBotがその通りに動いてくれます!

あとは目覚まし時計的に時間に応じて実行できるように処理を加えます。
datetimeを使って得た時間が6時半のときサブプロセスで先ほどのプログラムを実行するというシンプルな構造。

auto_switch.py

import subprocess import datetime import time try: while True: dt_now = datetime.datetime.now() if dt_now.hour == 6 and dt_now.minute == 30: subprocess.call(['sudo','python','/home/pi/python-host/switchbot.py','\'MACアドレス\'','Trun On']) time.sleep(60) except KeyboardInterrupt: sys.exit(0)

無事動いてくれて、毎朝寝起きの目に強烈な光を届けてくれるようになりました。
めでたしめでたし。

myaonのアイコン画像
山口の高専専攻科 3Dプリント/VR/IoT トビタテ12期 卓球/ロボコン ひきこもり衆∞ 観測者/Vket5/cluster住民 ひきこもりで生きていくためのものつくる
ログインしてコメントを投稿する