概要
ダイソー(100均)で買ったBluetoothボタンとコーナン(ホームセンター)で買ったスイッチを使ってIoTトグルボタンを作った。
はじめに
押すときだけオンになるボタン型のスイッチじゃなくて、オンオフを切り替える「トグル」スイッチを使ってIoT的なことをしたいなと思って、作ってみた。具体的には、仕事とプライベートの「オン・オフ」の切り替えスイッチ(物理的なボタンでオンオフすることで気持ちを切り替えて、さらにログを取るIoTスイッチ)を作りたかったので、試してみた。
安く作りたかったのと、ESP32とかで作るのはあんまり面白くないなと思ったので、ダイソーのBluetoothを改造することにした。この改造の前に、ダイソーのBluetoothボタンをスマホとかラズパイ経由でインターネットにアクセスしてAPI叩けることは確認済み。
IoTボタンを安く手に入れてノーコードでWeb APIを叩く方法 - Qiita
スイッチ
パナソニックの「両切りスイッチ」を使った。
スイッチ | フルカラー配線器具 | スイッチ・コンセント | 電設資材 | Panasonic
両切りスイッチはコンセントの2線とも別々に切ってくれる。「片切りスイッチ」(こっちのほうが安い)でできないか考えてみたけど、難しそうやった。
【スイッチ】片切りと両切りの違いについて
回路
両切りスイッチは、2線分のスイッチが内蔵されているので、それを利用した。
Bluetoothボタンは、改造してる人がいたので、その情報とかを参考にした。
ダイソーでスマホ用Bluetoothリモートシャッターを発見→分解→ちょい改造:ウェブ情報実験室 - Engadget 日本版
Bluetoothボタンにはオン用の信号とオフ用の信号を入力する。
片方は、スイッチがオンのときに電圧がHIGHになるような回路、もう片方は、スイッチがオンのときに電圧がLOWになるような回路を実装。
回路眺めたり、テスターあてたりして確認すると、もともとついてたスイッチは、押すとグランドに接続(LOW)されて、離すとオープン(HIGH)。ICの内部にプルアップ抵抗がありそう。
片方は、もとの回路と同じように、入力ピンとグランドの間にスイッチを接続。
もう片方は、入力ピンをプルダウン抵抗を挟んでグランドに接続。あと、スイッチを挟んで電源ピンに接続。抵抗は、はじめ20kΩにしてたけど、動作が安定してない気がしたので、並列にもう一つつないで、10kΩにした。20kΩから10kΩにした意味があったかは若干怪しい。
こんな感じになった。空中配線。ケースに入ってるボタン電池をそのまま使いたかったから、ちゃんと閉まるようにスペースあいてるところに実装した。配線出すところは、ケースを一部削った。
久しぶりだったのと、太めのハンダゴテしかなかったので、時間かかった。線材も硬いやつしかなかったので、扱いづらかった。もっと道具と材料ほしくなる。あと、はんだ付けスキルもっと上げたい。
スマホとの接続
MacroDroidってのを使った。ここらへん、参照。自分で書いたやつやけども。
IoTボタンを安く手に入れてノーコードでWeb APIを叩く方法 - Qiita
注意点
押しっぱなしになるので、MacroDroid上で、普通のVolume Up
、Volume Down
じゃなくて、Volume Up - Long Press
、Volume Down - Long Press
をトリガーにして動くようにする必要がある。
それと、押しっぱなしが終わったときに認識されるので、逆の方をトリガーにする必要がある。
ラズパイとの接続
ラズパイとつなぐときは、スイッチのオンオフの瞬間に、状態が変わったよ信号(押したよ信号と離したよ信号)が送られてるみたいなので、それを取得すれば、割と簡単にいろいろできそう。
ケース
ダイソーでかったケースに穴をあけた。
ピンバイスで穴をあけて
ニッパーで切り取って、カッターで削って
はめて
ふたする
おわりに
結構めんどくさかった。ソフトウェアでやれば一瞬でできそうなことを、無駄にアナログでやった感じ。Bluetoothボタンはソフトウェア書き換えられないらしい。途中、はんだ付けがうまくいかなくて、「ESP32でやればよかったかなぁ・・・」と思った。
でも、作り終わって息子くんに試してもらったら、無限オンオフが楽しいのか、すごく喜んでくれた。とても満足。