Vブレーキ車にSesameサイクル2を付ける ~その2 Sesame Touch対応

先日、CandyHouse社の自転車用スマートロック「Sesameサイクル2」をPanasonic ハリアに取り付けようとしてハマりました。

ロックを取り付ける想定の場所にVブレーキというスポーツ車などに採用が多いブレーキ部品があり、説明書通りの取り付けができなかったのです。それを3Dプリンターで自作アダプタを作ってなんとかとりつけました。

しかし次に新発売の「SESAME タッチホルダー(自転車専用)」で指紋センサーのSesame Touchをとりつけて、指紋で自転車のロックを解錠できるようにしようとしたところ、なんとホルダーの想定している径よりもハリアのハンドルが太くてつけられませんでした。グリップ直ぐ脇ならついたかも知れませんが、すでにスマホホルダーやシフターがあり、空いた中心部に近づくにつれ段々太くなるハンドルだったため、空き位置には無理だった、という感じです。

タッチホルダーは写真のようにハンドルに巻き付ける台座と、Sesame Touch側の透明な裏蓋から成っています。ここの台座互換形状を自作アダプタ側につけてやることで、とりつけを実現しました(裏蓋が必要なため、タッチホルダーの購入は必須。ちなみにもう一台に蓋を流用した関係でネジが別途必要でM2x10がピッタリでした)。

Sesame Touchの自転車ホルダーの互換形状を追加

ハンドル部分に巻き付けるパーツを作るのが面倒そうだったのと、もともとナンバー錠をつけていて、鍵の位置に手を伸ばすのが自然な動作に感じられたので、自転車に乗る前にここを右手でタッチすればいいやと思った次第。

動作の様子は動画でご覧ください。

とりあえず在庫のPLA素材で造形しましたが、耐候、耐紫外線特性などを考えるとASAとかPC(ポリカーボネート)を使うべきかも知れません。経過観察しつつ、それらのフィラメントを入手することがあったら出し直してもいいかなと思っています。

最新記事はこちら。

VブレーキのPanasonic電動アシスト自転車ハリヤにSesameサイクル2を取り付けようとしてハマった(3Dプリンターで解決した)

少し前の記事で、Panasonic電動アシスト車のハリヤ(2016年モデル)につけていた車外品のナンバー錠が壊れて、ノブを3Dプリンターで作って直したことに触れました。

その時、書いたスマートロックのSesameサイクル2ですが結局とりつけることにしました。理由は深夜のジム通いに使っていて、明かりのない駐輪スペースに駐めることが多いため、手探りでこのナンバー錠をアンロックするのが地味に面倒くさいと感じたから。特に寒くて手がかじかんでいたり、手袋をしていたりするとちょっとしたストレス。

そういうしているうちにアナウンスされていたSesame Touch(指紋センサー)の自転車ハンドル用ホルダーが発売されたので、勢いで特攻。

Sesameサイクル2、Sesame Touch、ホルダーで総額1万ほど。

■つかない!?

ハリヤは通常のママチャリでサイクル2をつけるべきところにVブレーキという後輪用ブレーキがついています。

わかりにくいですが、一番下のSHIMANOロゴがついているのがVブレーキ。その上のLOCKと型抜き文字がついている鉄板は、以前のGORINのナンバー錠をつけていたマウントです。Vブレーキを固定するボルトで共留めされています。その上にかざしているのが今回取り付けたいサイクル2です。

8年も前でころっと忘れてましたが、当時GORINのナンバー錠もわざわざVブレーキ用というのを買ってたみたいですね。

しかし残念ながらこのマウントではネジ位置があわずにSesameサイクル2は取り付けできませんでした。タイヤや泥よけの太さにたいして、Sesameサイクル2がかなりギリギリなので、泥よけにベタ付けするくらいの位置に垂直に立てて配置する必要があります。いいかえるとVブレーキやフレームに対して少し斜めに倒してつける感じです。ぐぬぬ。

裏返しにしてフレームの反対側につける手もあるみたいですが、レバーも車体の向こう側になっちゃうし結構不便そう。

そんな時の3Dプリンターですよっ

ということでマウントを自作しました。かなり空間的な位置決めで苦労して4回ほど作り直しましたが、どうにか形になりました。ネジでしっかり固定するため金属ナットを埋め込む手法にも初挑戦。

これを使ってどうにか正位置に取り付け成功しました。

■SESAME タッチホルダー(自転車専用)レビュー

Sesame Touchのレビューはこちら。

玄関などに使うSesameロックシリーズのオプションで、スマホアプリからの操作をせずに、指紋やFelica(モバイルSuica、SuicaやnanacoなどのFelicaチップ搭載カード)で開錠、施錠ができるデバイスです。Sesameサイクルでは開錠のみの用途になります。

もともとSesame Touch発売時には背面はフラットなパネルで両面テープで壁面などに貼り付ける方式でした。これだと電池切れやフリーズを起こした時に毎回両面テープを貼り直さなければならず、CandyHouseにしては詰めが甘いデザインだなと思いました。後日脱着を用意にするマグネットも発売され、次に貼り直す際にはこれにしようと買ってあります。

しかし、今回あらためて自転車用に1つ買い足してみたところ、背面パネルの仕様が変更になっていました。スライド式のパネルが追加され、そちらを両面テープで固定しておけば、Sesame Touch本体は上にスライドして抜くだけで電池交換ができるようになっています。知ってる人は簡単に盗める、という点はさておき、使い勝手は大幅に向上ですね。既存ユーザにこのパネルキットだけ売ってほしいレベル。(ググると無償送付の予定もあるみたいですね)

そして今回の自転車ホルダーはこのスライドパネル互換の形状をしていて、両面テープ付きのパネルのかわりにはめこむ形になります。ハンドルへの固定はベルやスマホホルダーなどと同じ感じです。写真には映ってないですが太さ調整用のスポンジテープも付属しています。

ハンドルにつけた感じはやや大きい気もしますが、まぁ仕方なし。

これもとりつけられなかった…

でこいつもまたハリヤのハンドルにはつけられませんでした…ハンドル径に対してホルダーのリングが小さすぎます。ハンドル以外のあらゆる部分につけられないか模索してみましたが全滅でした。基本的にSesameの自転車製品はママチャリ基準で設計されてますね。さてどうしたものか。こちらはしなやかさが求められる部品なので、3Dプリンターで作るにしても素材からして難しい。また脱着可能パーツのいいとこだけ再利用しづらいというかリングだけ取り外せる機構になってないので、スライドパーツの受け部分から互換形状を設計する必要がありそう。なにか市販のスマホホルダーを買って来て改造した方が早いかも。

とはいえ、現状、AppleWatchのコンプリケーションに登録してしまえば2タップで開錠できるので、あんかも一旦これでいいか、、という気になりかけてますw。Sesame Touchのホルダーが無駄になりますが。まぁいずれ時間があったら挑戦するかも知れません。必ずしもハンドルでなくていい気もしています。サドル下とか。

2024.4.7追記: Sesame Touch対応版も作りました。

■使用感

ともあれサイクル2自体はなんとか取り付けできて使える状態になりました。

操作感としてはロックしたという感触が希薄なのは気になっています。前のがしっかりレバーを引き下げた時に「カチっ」と感触と音があったので余計に。「あれちゃんとロックかかったかな?」と不安になって再度押し込んでみたり。まぁロックされてなければバネでもとの位置に戻ってくるのでわかるんですが、慌ててる時などにしっかり感触で反応があった方がありがたいなと。

上述の通り、せっかく購入した指紋センサーのSesame Touchは取り付けできずに、現在はApple Watchからの操作ですが、そこまで手間でもなく、むしろ自転車から少し離れたところから操作を始められるので、自転車脇に着くと同時に開錠、くらいの流れで扱えてスムーズに乗車できています。これまでのナンバー錠と違って暗い場所でカチャカチャ暗証番号ボタンを押したりしなくても良くなったしかなり快適になりました。

■まとめ

Sesameサイクル2や自転車ホルダーはママチャリ向け設計になっているので、Vブレーキのスポーツ車やハンドル径が太い車両は事前に念入りなサイズ確認をしましょう。といってもあまり公式サイトに適用条件などが書いてないんですよね…

配信中を家族に知らせるランプを作る~OBS Studio、IFTTT、SwitchBot連携

世の中、テレワークが増えて、会議中に家族が部屋に入ってこないように知らせるいわゆるON AIRライトが欲しいとずっと思っていました。しかも廊下まで行って手動でON/OFFする必要があると面倒だし絶対忘れまる。実際には会議終わってるのにライトは点きっぱなし、とかいうことに絶対なる。

自分はZoomとかTeams、Meetとクライアントによって色々使うので、汎用的に使用中を検知する方法はまだ思いついてないんですが、とりあえず家族がたまにやるOBS Studioを使った配信ならいけそうな方法を見つけました。(別記事にまとめました)

自分はライブ配信はしないですが、収録には使うので、同様に録画開始/停止をトリガにすれば、「収録中入室禁止」のランプにはなりそうですね。ただ自室の廊下付近に電源を取れる場所がないので、それは別途解決せねばなりません。

ということで、今回は家族の配信部屋前に設置する「配信中」ランプを作ってみます。

座組としては、

  • SwitchBotのLEDテープで光るランプを作る
  • IFTTTのWebHooks(所定のURLにアクセスしてトリガ)からSwitchBot製品を制御
  • OBS StudioのLUAスクリプト配信開始/終了時に上記WebHookのURLを叩く

という流れ。これで完全自動になりますが、場合によっては家族が使っているStream Deckから手動でON/OFFできるようにすることも考えます(IFTTTを経由してもいいし、直接SwitchBotのAPIを叩くとレスポンス上がりそう)。

■ランプの製作

家族はちいかわ(のモモンガ)が好きなので、こちらのランプを魔改造することにします。

バッテリー充電式なので外部の電源入力のON/OFFでは直接点灯制御はできなそう。最悪分解してバッテリー線を切断とかしたらいけるかなくらいで特攻。案の定、充電とは別で電源スイッチを押さないと点灯しません。さらに色が電球色と昼白色か昼光色の色温度の高い色の2色切り替え式で、最初は必ず電球色になります。モモンガの毛色としては違和感ありまくりなので解釈不一致のクレームになってしまいます。これは改造無理なんじゃ…とバラしてみるとこんなランプユニットが出てきました。

カバーの接着も固く、想像にこのユニットを使うのは放棄。上部のモモンガ型のシリコンカバーだけを流用することにします。

発光体としてSwitchBotのLEDテープを使うことにしました。電球タイプでは入ったとしても発熱がスゴそうなので。

IFTTT連携ができればいいのでもっと安いものもありますが、我が家ではSwitchBotを元々使っており、新たにアプリを入れなくてもいいというのでこれにしました。

テープ状のLEDを巻き付けるコアパーツを3Dプリンターで作ります。なんとなく体型に沿うようにしたら結局電球みたいなフォルムに、、まぁ大きさが違うんですが。

ボディのシリコンカバーを固定する底の円盤部分を元のランプユニットのサイズで正確に設計。これでシリコンカバーがカポっとはまります。いかにも配信中であるというプレートも手でもってるように取り付けてみました。実際には3つのパーツで別々に造形しています。プレートは半透明PETG素材で光が透けるようにしてみたんですが、透明度が低いのイマイチでした。

LEDテープを巻き付けた写真を撮るのを忘れてたんですが、このパネルの下に伸びるステーが非常に折れやすく2回折れては補強を増して造形したりして、もう分解したくないので割愛。

■SwitchBot設定

LEDテープはRGBで色も明るさも自由にできますが、当面はON/OFFでいいので、SwitchBotのスマホアプリで解釈一致な毛色を再現してお気に入りに入れておきます。普段はIFTTT経由でON/OFFだけすれば色や明るさは固定されます。

必要があればIFTTTから色や明るさ指定もできるはずなので、録画中は赤とか動作を変えることもできるはず。

■IFTTT設定

配信開始(点灯)と配信終了(消灯)のそれぞれのアプレットを作ります。IF(トリガ)がWebHooksで、THENがSwitchBot制御です。

動作確認も兼ねてスマホアプリへの通知も挟んでいます。

WebHooksの中身はこんだけ。配信開始用アプレットではイベント名を「stream_started」、終了用は「stream_stopped」とします。

SwitchBot側は「LED Strip Light On/Off」モジュールを使います。

WebHooksとして使うURLは、ユーザーアカウントを示すキーと、そのユーザが作った中でどの動作を叩くかを示すイベント名を含みます。そのうちイベント名は上記で指定したものになります。キーはユーザ毎に固定なので、「My Services」→「WebHooks」の画面にいって調べます。

この画面にあるURLの/use/の後の文字列がキーになります。

これを使って、

みたいな形式がトリガ用のURLとなります。これをブラウザなどで開くとアプレットが実行されるわけです。これをstream_startedとstream_stoppedで2つ作っておきます。

■OBS Studio設定

で、OBS Studioの配信開始や終了時に上記URLを(ウインドウを開かず裏でひっそり)開けばいいわけですが、そこら辺は汎用的な情報なので別記事として切り出しました。

■完成!

これが完成したライトです。RGBテープライトなので色味を調整でき、いい感じの白さを出せてると思います(原作知らんからイメージですが)。さすがに耳の中までは光が届いてない感じ。

プレートはX1-Carbonで始めて多色造形したんですが内部サポートが黒になってしまい格子模様がでちゃってます。どうも外枠を黒にすると吊られて内部構造も黒になってしまうぽいので、別パーツにして組み合わせるとかしないとかも。

右の半球のが元から入っていたライトユニット

ライトの熱でシリコンカバーが焦げたり燃えたりしないか不安でしたが、輝度設定としては15%くらいで充分綺麗に光るし、一晩点けたままにしても平気でした。万一参考になさる時は自己責任でお願いします。

別にちいかわでなく、電源供給で(スイッチ無しで)ON/OFFできるランプならもっと簡単にできると思います。

この場合は、こういうスマートコンセント型のデバイスでON/OFFすればいいでしょう。

電源だけは必要にせよ、PCからの線が届かない位置でも、なんなら地球の裏側でも配信の状態を知ることができるので、ニーズがある人の参考になれば幸いです。

OBS Studioの配信にあわせてIFTTTのWebHooksを叩く

詳細は別記事で書く予定ですが、OBS Studioで配信を開始/終了するたびに宅内の照明などを操作したかったので、OBSのLUAスクリプトで実現しました。そのまんまのサンプルがありそうで見付からなかったので、なんとか各方面のマニュアルやブログを参考に実装しました。

WebHookからの家電操作にはSwitchbotとIFTTTを使います。今回はLEDテープライトを用意しました。

別に電球でもエアコンでもカーテンでも理屈は同じです。またIFTTTに対応していればSwitchbot製品でなくてもいけると思います。家電製品操作だけでなくメールやSNS投稿をしたり、Googleドキュメントに記録をしたりとか。IFTTTは何年か前に無料プランで使えることが絞られてあまり名前が挙がることがなくなりましたが、無料プランでも2つのアプレットが作れるので、今回の用途(オンとオフ)だけなら使えるんじゃないかと思います。

  • 手順1. SwitcBotまたは他のIFTTT対応製品を設定
  • 手順2. IFTTTに登録し、SwitchBot(等)サービスと連携
  • 手順3. IFTTTでWebHooksサービスを登録し、個人毎のKeyを取得(あとでOBSにコピペします)
  • 手順4. 開始時アプレットとして、IFにWebHooksを選び、イベント名を「stream_started」とし、THENに好きな動作を設定
  • 手順5. 終了時アプレットとして、IFにWebHooksを選び、イベント名を「stream_stopped」とし、THENに好きな動作を設定

までは別途済ませてあるとします。

■スクリプトの準備

GitHubリポジトリからluaスクリプトをダウンロードするか、以下のコードを「IFTTT_when_stream_star.lua」という名前で適当なフォルダに保存します。

OBS Studioで「ツール」→「スクリプト」を開き、「+」ボタンから保存した.luaスクリプトを選択します。Key欄にIFTTTのWebHooks設定で取得したKeyをコピペします。

・WebHooksキーの取得

設定済みの場合、こちらのページを開いて、URLの赤線の部分があなたのKeyです(/は含まない)。

基本これだけです。最初の確認段階では「スクリプトログ」ボタンを押してログウインドウを開いておきます。そうすると配信開始/終了時に「配信を開始しました。」「配信を終了しました。」などとメッセージが出てスクリプトが反応していることを確認できます。

WebHookを開くのにテキストブラウザのcurlというプログラムを裏で呼び出しています。これはWindows 10 Version 1803以降はプレインストールになってるので特に何もしなくても大丈夫はなず。macOSでもここ最近ものでしたら入っているはずです。

カスタマイズしたい人への参考情報

今回はOBSの動作のフックとして

  • OBS_FRONTEND_EVENT_STREAMING_STARTED(開始)
  • OBS_FRONTEND_EVENT_STREAMING_STOPPED(終了)

を使って、32行目以降のところで処理を記述しています。もしこれ以外のイベントをトリガーにした場合は、APIマニュアルを参照して希望のイベントがあるか調べてみると良いでしょう。

SwitchBotで給湯器操作大作戦(3Dプリンターネタ)

SwitchBotといえば今でこそ様々な操作/計測IoTデバイスをリリースしているメーカーですが、最初は文字通りスイッチを押すための超小型モジュールが出発点でした。自分はその(たぶん)第一号となるSwitchBotをクラウドファンディングで購入するも、ほぼ死蔵していました。もともとはお風呂の給湯スイッチを遠隔で操作できたら、出先で「もうすぐ帰宅するのですぐお風呂入りたい」「寒いからこたつから出ないでお風呂沸かしたい」みたいなニーズを満たしてくれるんじゃないかと思って出資したんですが、リターンが届く前に引っ越してしまい、ニーズ自体が消滅してしまった感じ。そこから更に数年、またまた引っ越してリモコン位置が(浴室内と)キッチンの奥になってしまい押しに行くのがちと面倒になったり、更に先日からジム通いを始めて、「帰ってすぐお風呂」ニーズも高まったので、頑張ってSwitchBot本体を発掘して取り付けることにしました。もともと他の家電を操作するのでハブ2は設置済みだったので、今回は既存のSwitchBotネットワークにスイッチを追加した形です。

それはそうと、スイッチユニットは登場からもうすぐ10年ですがちっともモデルチェンジしないですね。ある意味スゴいことですが、そろそろ薄型化したモデルとか出ないんでしょうか。

貼り付けるだけだと思うじゃん?

我が家のノーリツ製の給湯リモコンはフタ付きです。普通にSwitchBotを貼り付けたらこんなギャグみたいなことに…

フタの上のボタンはフタの下のボタンを押すためのカバーに過ぎないので、反力でフタが押されてパカっと開いてしまいます。これを防ぐにはSwitchBot自体をフタではなくベースの外枠の部分に固定すれば良いのですが、今度はそれだとフタの開閉ができなくなり、使用頻度が低いとはいえフタの中のボタンを使用できなくなってしまいます。

3Dプリンターで治具を自作

ということで本題。3Dプリンターで専用の固定具をDIYすることを決意。要求仕様としては、

  • SwitchBot本体をフタに固定しない
  • 必要な時はフタをあけて中のボタンにアクセスできる
  • 手作業で「ふろ自動」ボタンを押すのを邪魔しない

などに留意して設計しました。

出来上がったのがこちら。

一見クワガタのようなよくわからない形状になりました。底面は給湯リモコンの周囲の状態(モールなど)にあわせて凹凸を設けています。最終的には右側の大きな面を両面テープで固定する想定です。

SwitchBotを取り付けるとこんな感じに。これも両面テープ。PLA素材その接着力には不安がありますが、できればSwitchBotを後々綺麗に剥がしたいこともありそうなので、一旦それで様子見。

ポイントは上下に分離合体する点。横から2本のレールにスライドして入れる形です。つまりフタを開いて操作した時は、SwitchBotの乗っかった上部モジュールを右にスライドして抜いてしまうというワケです。普段のボタン押しに必要な押し込み方向の力や重力方向の力には耐え、右にはスっと抜けるというのが理想。

これを固すぎず緩すぎずの加減が難しかったです。FDM方式の3Dプリンターは樹脂フィラメントを溶かしてぶちゅっと積み上げていくので、どうしても設計寸法よりわずかに膨らみがち。3Dモデリングツールでピッタリの凹凸をデザインしてもだいたい入りません。上側の凸レールを少しずつ小さくしたり、入りやすくするよう先端を丸めたりと地味に試行錯誤が必要でした。他にもクワガタの顎にあたる左右の突起が薄くてパキっと割れてしまいやすいので造形方向を上と下で違えてみたりもしました。あと上モジュールはインフィル(充填)率も上げて強度を出しています。

3Dプリンターは3Dモデリングで形を作るまではちょっと慣れればできちゃうんですが、そこから強度を出すために出力工程での試行錯誤が大変ですね。要はモデリングソフトから出力したSTLファイルをCuraなどのスライサーソフトにもっていってからのパラメーターを練る段です(もちろんモデルに戻って形状をいじったりもしますが)。3Dモデリングの本は世の中にたくさんありますが、そうした強度設計みたいなことを手軽に学べる書籍がなかなか出会えないでいます。工学部の教科書みたいなレベルの専門的な技術書はあるんでしょうが、ホビーで3Dプリンターやる時の指南本とかあれば是非教えていただきたく。

ともあれ、ついに取り付けた完成体がこちら!

SwitchBotの真ん中から生える押し込み用のアームは、「ふろ自動」ボタンの右寄りに当たる形ですが、一応反応しています。また指で押すにもそこまで邪魔ではないと思います。

そして上部モジュールを抜き去ればこのようにフタも開きます。

やや面倒ですが、基本的に時刻合わせか予約の時にしか使わず、ここに済んで3年目ですがほぼ触ったことがないので許容できる手間かなと。スライドレールの固さも固すぎず、かつ勝手に動きはしない(多分)くらいの絶妙なところを実現できたと思います。もしかするとだんだん削れて緩んでいくかもですが、まぁその時はその時。

あと距離はありますが右下にはガスコンロがあるので、もしかするとPLAだと溶けるとか変形するとかはあるかも。もしそうなったらPETGとか他の素材で作り直すことになるかも知れません。