ラズパイzero を bluetoothボタンで操作
ラズパイzero にはボタンなどがないので
コマンドから実行になるけど
毎回シャットダウンや撮影のたびにコマンド実行は
ターミナル環境がないとできないので
簡易ドライブレコーダーZeroWにBluetoothボタンでオンオフ編
Bluetoothシャットダウンボタンを作る #300円でIoTボタン
を参考に
bluetoothボタンで操作できるよう設定
あといらないものを削除
を参考に
Wolframとmathematica
libreoffice
Scratch
sudo apt-get remove --purge libreoffice* sudo apt-get purge scratch sudo apt-get purge wolfram-engine sudo apt-get purge sonic-pi sudo apt-get clean sudo apt-get autoremove
で容量を確保
しかし
Waiting to connect to bluetoothd…
となりそのまま止まってしまう
raspberry pi3 をbluetooth接続するときのエラー
を元に
sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo apt-get install pi-bluetooth sudo apt-get install raspberrypi-sys-mods
を実行したが変わらず
を参考に
sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2
次にbluetooth の接続
bluetoothctl power on scan on
で周辺デバイスを検索
[NEW] Device 2A:07:98:10:34:99 CW Shutter
となるので
pair 2A:07:98:10:34:99
でペアリング
しかし
trust 2A:07:98:10:34:99
のあと
Failed to pair: org.freedesktop.DBus.Error.NoReply Waiting to connect to bluetoothd...
となってしまう
sudo apt-get install pi-bluetooth pulseaudio-module-bluetooth pavucontrol bluez
を実行し再起動
しかし途中で途切れるため
Raspberry Pi3 の Bluetooth を Ubuntu Mate 16.04 LTS で使えるようにする
を参考に
sudo apt-get install rpi-update -y sudo rpi-update sudo reboot
でファームウェアのアップデート
これで再度
bluetoothctl
としたら接続できた
次に
簡易ドライブレコーダーZeroWにBluetoothボタンでオンオフ編
を参考に
sudo apt install ruby sudo gem install bluebutton
で bluebutton のインストール
イベント検知設定ファイルを作成
sudo nano ~/.config/bluebutton
でファイル作成し
keyup=echo UP keydown=echo DOWN longup=echo LONG UP longdown=echo LONG DOWN
を記述して保存
しかし、このプログラムは
CW shutter では機能しない
Raspberry Pi + Bluetooth リモコンシャッター + Google Home で「こっちに来て!」メッセージ
を参考に
sudo apt-get install evtest
でインストール
evtest を使うことでデバイスが発行するイベントを拾う
しかしなぜか evtest での検出はできなかったため
ダイソーの
AB Shutter3 ボタン
を購入することに
sudo bluetoothctl power on scan on
として
AB Shutter3 ボタンの電源をONにすると
[NEW] Device FF:FF:00:26:F2:FF AB Shutter3
が検出される
これでMACアドレスがわかったので
scan off
でスキャン停止
connect FF:FF:00:26:F2:FF pair with FF:FF:00:26:F2:FF trust FF:FF:00:26:F2:FF
で接続して次回からも自動認識するように信頼させる
しかしうまくいかないので
sudo apt install bluez bluetooth libbluetooth-dev build-essential sudo apt install bluez-cups
を実行
しかし結果は変わらない
raspberry pi と AB Shutter3(bluetoothボタン) の連携
によれば最初についている電池はお試しなので
ペアリングはできるがボタンを押したときのイベントが拾えない
という状況があるらしい
このため新しく電池を購入し再度実験
しかし結果は変わらず
Try to find device AB Shutter3... Device AB Shutter3 find at /dev/input/event2 Unable to connect to X server Reading events from /dev/input/event2...
のまま
他の手段を探し
100均Bluetoothボタンをラズパイに活用
を参考に
disconnect FF:FF:9A:4A:49:94 remove FF:FF:9A:4A:49:94 power on power off pair FF:FF:9A:4A:49:94 connect FF:FF:9A:4A:49:94
と繰り返していたら繋がるようになった
bluetoothctlコマンドについては
bluetoothctl
を参考に
ただ
ラズパイで300円のリモートシャッターをIoTボタン化する方法
にあるように複数台購入しても1台しか動かないケースもあり
ペアリングできても動作しない
電池交換しても改善されない
ということもあるらしい
問題点としては長押ししても
longup
longudown
を検出しないので
1つの動作しかできてない
とりあえずシャットダウン機能を実行してみる
sudo nano shutdown.sh
でファイルを作成
#!/bin/bash sudo shutdown -h now
として保存
sudo chmod +x shutdown.sh
で実行権限付与
sudo nano ~/.config/bluebutton
で内容を
keyup=echo UP && ~/shutdown.sh keydown=echo DOWN longup=echo LONG UP longdown=echo LONG DOWN
として保存
sudo bluebutton -c ~/.config/bluebutton
だと
sh: 1: /root/shutdown.sh: not found
となってしまうが
bluebutton -d="AB Shutter3" -c /home/pi/.config/bluebutton
として
ボタンを押すと無事にシャットダウンができた
なお2つのボタンの認識もできるようだが
残念ながらこちらも実行できなかったため
実質的に1つの動作のみになっている
当面はシャットダウンボタンの活用になりそう