2019年5月16日木曜日

SwitchBotをRaspberry Pi3で制御

スイッチボットはリモートでスマートフォンから遠隔操作で物理的にスイッチを押せる機器ですが、この記事ではそれをラズパイで操作してみるという概要です。

https://www.switchbot.jp


環境は以下になります


今回はPython3の方で動かしたいのでラズパイの基本設定してからPython3を使えるようにpyenvをインストールします。

まずはpyenvに必要なパッケージをインストール
$ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev

次にpyenvを
$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

次に.bash_profileを設定
$nano .bash_profile

以下の内容をファイルに追記してください
$export PYENV_ROOT="$HOME/.pyenv"
$export PATH="$PYENV_ROOT/bin:$PATH"
$eval "$(pyenv init -)"

インストールできるListを表示

$pyenv install -list

今回はPython3.6.6をインストール
$ pyenv install 3.6.6

Python3.6.6に切り替え
$ pyenv global 3.6.6

確認
python --version

DefaultのPython2.7から3.6.6に切り替わっていたらOKです

次にSwitchBotを制御できるように

公式のLinkを参考にしながらやっていきます
https://github.com/OpenWonderLabs/python-host

必要な依存関係をインストール

pip install pybluez
apt-get install libboost-python-dev
apt-get install libboost-thread-dev
pip install gattlib

自分の環境下では上手くいきましたがgattlibのインストールが上手くいかない場合
pip download gattlib
tar xvzf ./gattlib-0.20150805.tar.gz
cd gattlib-0.20150805/
sed -ie 's/boost_python-py34/boost_python-py35/' setup.py
pip install .

リポジトリをコピー
git clone https://github.com/OpenWonderLabs/python-host.git

コードにフォルダに移動
cd python-host

SwitchBotのMACアドレスを検索
python switchbot_py3.py -s

0 xx:xx:xx:xx:xx:xx
1 xx:xx:xx:xx:xx:xx

 のような形で表示されると思うので該当の機器の数字を入力すると動作の確認ができます。

Macアドレスを指定して実行
 sudo python switchbot_py3.py -d xx:xx:xx:xx:xx:xx 

管理者権限必須です。
xx:xx:xx:xx:xx:xxに先ほどScanしたMACアドレスを入力すればSwitchBotを指定して実行できます。

-hまたは--helpで使えるコマンド一覧が表示されます。
 sudo python switchbot_py3.py -h 

0 件のコメント:

コメントを投稿

JetsonNanoにOSをセットアップ

 JetsonNanoを買ったのでOSのセットアップから。 環境 JetsonNano 4GB SDカード 128GB 無線LANアダプター ACアダプター 2.4A Windowsノート その他サプライ・ディスプレイ・ケース Nvidia Developer を参考にMicro...