ガレージのシャッターの開閉に合わせて電灯を点けたりするのは玄関の電灯を点けたりするのとほぼ同じ手法。
違うのは点けるタイミングが時間(日没時間が基準)そのものなのか、シャッターが開いた時に日没後か、日没前かを判断して点けるかどうかの違いだけ。
ですから基本的には玄関の照明の記事の内容そのまま。
あとはスイッチが玄関は押す度にオン・オフが切り替わるタイプだから、いま点灯しているかの判断が必要(手動でもオンオフできる様にするため)ですが、ガレージはシーソー式。オンならともかくオン側を押すし、オフならオフ側を押すだけ。
今点灯しているのか、消灯しているかの判断は不要。
天気が悪くて薄暗い時は手動で点灯している事もありますから、シャッターが閉まる時は常に消灯させ(ついていなければ空振りするだけ)、開けるときだけは夜かどうか判断して点けるかどうかを決めるだけ。
より単純になるだけですね。
で、問題はリモコンの数を増やそうという方。
ダイソーで三百円で売っているリモコンシャッターは音量を上げる信号を出せます。
これを利用してスマホの写真機能で音量ボタンでシャッターを切っているのですが、簡単な改造で Android 用の押しボタンを音量を下げる様にも出来るのです。
この2種類の信号を使って、ガレージのシャッターの上げ下げを行わせようという魂胆。
改造記事はこちらを参照しました。
ダイソーでスマホ用Bluetoothリモートシャッターを発見→分解→ちょい改造:ウェブ情報実験室
宮里圭介様 ありがとうございました。
で、これを1台だけではリモコンを増やすという形にはならないので、複数個用意して使おうという魂胆です。
これまた複数のBLE機器(この場合はサーバーが複数という形)を利用するとなると、単純に Arduino のサンプルプログラムでは使い物になりません。
そこで見つけたのが、こちらの記事。
ダイソー BLE リモートシャッター で SwitchBot を操る
こばさん ありがとうございます。
しかしこの記事を参考に2台のリモコンをつないでみると・・・なんか変。
1台はスムーズにつながるのですが、もう一台がうまく繋がらない。
とりあえず1台だけ繋ぐ様に弄ってみても特定の1台は上手く繋がりません。
でもiPhoneにつないで見ると2台とも問題なく動作します。
うーん! どうして?
とりあえず、実験という事でもう1個買ってきて見ると、ちゃんと2台繋がります。
どうも個体差(か改造ミス)でうまく繋がらない模様。
でもiPhoneで普通にリモートシャッターとして繋ぐには全く問題なし。
よく分からん、ということにはなりますが、まぁそれは置いておき実験の続きを。
で、2台とも繋がっている状況では問題ないのですが、1台のリンクが切れると突然繋がっている方もおかしくなります。
色々と試したら、30秒後に突然反応したりという事で、原因が判明。
元々の製作記事の方は、Bluetoothリモコンで、別のBluetoothの機器をコントロールしようというもの。
リンクが切れて(BLEでは動作しない時はさっさと電源を落としてバッテリーの消費を防ぐ)もリモコン側のアクセスがない間はそのままリモコン側からのアクセスだけをみていれば良く、アクセスされてリンクが確立したら、コントロールされる機器にリンクを貼り直せば良いだけ。
私の様に2台のリモコンを常時監視している必要はありません。
なので、一方を監視して、見つかってからもう1台を確認という手順で問題ないわけです。
しかし私が使う時は複数を監視していて、1台がアクセスしてきたら直ぐに対応。
その間は他のリモコンがアクセスしても無視して良いというのとは違います。
そのまま使うと1台目のリモコンを探して30秒間はそのまま。
見つからないと別のリモコンを探して30秒。
で、その間に片方が見つかっても、もう一方を探して30秒のタイムアウトが起こるまでは処理を待たせてしまっていたのです。
原因がわかれば早速・・・ と言いたい所ですが、実務ではアセンブラーでの開発と、近年は少々bashでシェルスクリプトを組むのがせいぜいの私にとって、このハックは難しすぎると白旗を上げることとなりました。
とは言え、やはりなんとかしたいですよね。
ということで続きはまた。
違うのは点けるタイミングが時間(日没時間が基準)そのものなのか、シャッターが開いた時に日没後か、日没前かを判断して点けるかどうかの違いだけ。
ですから基本的には玄関の照明の記事の内容そのまま。
あとはスイッチが玄関は押す度にオン・オフが切り替わるタイプだから、いま点灯しているかの判断が必要(手動でもオンオフできる様にするため)ですが、ガレージはシーソー式。オンならともかくオン側を押すし、オフならオフ側を押すだけ。
今点灯しているのか、消灯しているかの判断は不要。
天気が悪くて薄暗い時は手動で点灯している事もありますから、シャッターが閉まる時は常に消灯させ(ついていなければ空振りするだけ)、開けるときだけは夜かどうか判断して点けるかどうかを決めるだけ。
より単純になるだけですね。
で、問題はリモコンの数を増やそうという方。
ダイソーで三百円で売っているリモコンシャッターは音量を上げる信号を出せます。
これを利用してスマホの写真機能で音量ボタンでシャッターを切っているのですが、簡単な改造で Android 用の押しボタンを音量を下げる様にも出来るのです。
この2種類の信号を使って、ガレージのシャッターの上げ下げを行わせようという魂胆。
改造記事はこちらを参照しました。
ダイソーでスマホ用Bluetoothリモートシャッターを発見→分解→ちょい改造:ウェブ情報実験室
宮里圭介様 ありがとうございました。
で、これを1台だけではリモコンを増やすという形にはならないので、複数個用意して使おうという魂胆です。
これまた複数のBLE機器(この場合はサーバーが複数という形)を利用するとなると、単純に Arduino のサンプルプログラムでは使い物になりません。
そこで見つけたのが、こちらの記事。
ダイソー BLE リモートシャッター で SwitchBot を操る
こばさん ありがとうございます。
しかしこの記事を参考に2台のリモコンをつないでみると・・・なんか変。
1台はスムーズにつながるのですが、もう一台がうまく繋がらない。
とりあえず1台だけ繋ぐ様に弄ってみても特定の1台は上手く繋がりません。
でもiPhoneにつないで見ると2台とも問題なく動作します。
うーん! どうして?
とりあえず、実験という事でもう1個買ってきて見ると、ちゃんと2台繋がります。
どうも個体差(か改造ミス)でうまく繋がらない模様。
でもiPhoneで普通にリモートシャッターとして繋ぐには全く問題なし。
よく分からん、ということにはなりますが、まぁそれは置いておき実験の続きを。
で、2台とも繋がっている状況では問題ないのですが、1台のリンクが切れると突然繋がっている方もおかしくなります。
色々と試したら、30秒後に突然反応したりという事で、原因が判明。
元々の製作記事の方は、Bluetoothリモコンで、別のBluetoothの機器をコントロールしようというもの。
リンクが切れて(BLEでは動作しない時はさっさと電源を落としてバッテリーの消費を防ぐ)もリモコン側のアクセスがない間はそのままリモコン側からのアクセスだけをみていれば良く、アクセスされてリンクが確立したら、コントロールされる機器にリンクを貼り直せば良いだけ。
私の様に2台のリモコンを常時監視している必要はありません。
なので、一方を監視して、見つかってからもう1台を確認という手順で問題ないわけです。
しかし私が使う時は複数を監視していて、1台がアクセスしてきたら直ぐに対応。
その間は他のリモコンがアクセスしても無視して良いというのとは違います。
そのまま使うと1台目のリモコンを探して30秒間はそのまま。
見つからないと別のリモコンを探して30秒。
で、その間に片方が見つかっても、もう一方を探して30秒のタイムアウトが起こるまでは処理を待たせてしまっていたのです。
原因がわかれば早速・・・ と言いたい所ですが、実務ではアセンブラーでの開発と、近年は少々bashでシェルスクリプトを組むのがせいぜいの私にとって、このハックは難しすぎると白旗を上げることとなりました。
とは言え、やはりなんとかしたいですよね。
ということで続きはまた。
コメント
コメントを投稿