オンライン会議のミュートON/OFF操作用デバイスをM5Stack Chain DualKeyで作る

Google Meetなどのミュート操作&ミュート状態表示が可能な手元デバイスを作ってみました。

「M5Stack Chain DualKey」というハードウェアを購入し、プログラムを流し込むだけで実現可能です。

f:id:moyashipan:20260701151138j:image

背景

仕事でGoogle Meetをよく利用しているのですが、Google Meetはブラウザ上で動作しているのもあり、ミュートのON/OFFのためには、ウィンドウがアクティブになっている状態でUIを操作するかショートカットキーを押す必要があり、他のウィンドウを操作しながら・手元でミュート操作だけをするといったことができず少々不便です。

 

他の手段として、Google Meet、Teams、Zoomなどの通話アプリは、USB HID Telephonyという仕様に則ったデバイスからミュート操作が可能です。

 

そのため、これまでは「Sound Blaster Play! 4」という、HID Telephonyに対応したミュートボタンを持つオーディオインターフェイスをAmazonで購入して使用していました。(約2500円)

https://jp.creative.com/p/sound-blaster/sound-blaster-play-4

youtu.be

 

しかしSound Blaster Play! 4は現在はAmazonで販売されておらず、以下のようにミュートボタンの無い「3」しか販売されていません。

また、4も4で以下のような不満な点があったため、より良いデバイスを探していました。

  • ボタンが小さくて押しにくい
  • ひとつのボタンを押すとON/OFFが切り替わる形なので、今がどちらの状態かを把握して押す必要がある
  • 赤いLEDがミュート状態を表示してくれているが、小さくてわかりにくい&ONなのかOFFなのかが直感的でない

M5Chain DualKey

M5Stackが製造している「Chain DualKey」というデバイスがあります。

M5Stack Chain DualKey ESP32-S3搭載 2キーメカニカルキーパッド — スイッチサイエンス

これは一般にプログラマブルキーボードと呼ばれる物に似ており、プリインストールされたファームウェアでも各キーに好きなキー・ショートカットキーを割り当てることが可能です。

 

しかしChain DualKeyはそれだけではなく以下の特徴も持っています。

  • プログラムを書いて、より柔軟な挙動を実装できる
  • WiFiやBluetoothへの接続機能も実装できる
  • キーそれぞれにフルカラーLEDが付いており、それらも制御できる

 

ハードウェアは基本的に、これとUSB-Cケーブルがあれば十分です。

ちなみに自分はもともと所有していた以下の巻取り式USB-Cケーブルがデバイスを乗せておくのにもちょうど良かったので、それを使っています。

Arduino IDEからプログラムを流し込む

※環境構築やIDEの使用方法は省略します。

(検索したり、m5-docsから辿れる「ソフトウェア」関連の各種ドキュメントを読んで学んでください)

 

以下のプログラムを流し込むと、後述の操作・動作が実行可能になります。

プログラム

M5Stack_ChainDualKey_Muter

Google Meetを例にした使い方

初回のみの設定

  • デバイスを繋ぐ
  • (Macであればデバイスを繋いだ時に「アクセサリの接続を許可しますか?」といった画面が出る場合があるので、「許可」を選択する)
  • Google Meetの通話画面を開き、「設定」>「通話コントロール」>「デバイスを接続」を選択する
  • 「M5Chain DualKey Muter」を選択して接続する

設定が済んだ状態での操作・動作

  • 左のキーを押すとミュート
  • 右のキーを押すとミュート解除
  • ミュート中は、左のLEDが赤色で点灯
  • ミュート解除中は、右のLEDが緑色で点灯
  • 左のキーを長押しすると通話を終了

動作の様子

3Dプリンターでキーキャップを自作

自分はBambu Lab A1という3Dプリンターを所有しています。

その3Dプリンターを活用し、以下のような点を盛り込んだキーキャップを作りました。

  • ちょうどよく透けさせる
  • Google Meetと同じアイコンを印字する
  • ミュート解消のキーには指でわかりやすいように突起を付ける

モデルは以下で公開しています。

Keycaps - Mute & Unmute Mic (Two-Piece Set) - Free 3D Print Model - MakerWorld

 

3Dプリンターが無い場合も、Chain DualKeyに付属のシールで「0」「1」などを貼り付けるだけでもわかりやすくなるかと思います。

キースイッチを交換して静音化

Chain DialKeyのデフォルトのキースイッチは、カチカチという音がハッキリ鳴るタイプの物です。

それが通話中の音声に入ってしまうのがわかったため、「遊舎工房」でいわゆる"赤軸"を購入し、既存のキースイッチと交換し、静音化しました。

さいごに

約2700円ほどのデバイスで、オンラインミーティングが以前より快適になりました。

また、自分にとってはそこまで需要はないのですが、Bluetooth接続で使用できるようにすれば、PCから少し離れた場所にいる話者が手元でミュートを操作するといった用途にも使いやすいかもしれません。

なにか質問や要望があれば、Xでメンションお待ちしています。

https://x.com/Moyashipan

賃貸ワンルームでも可!塗装ブースをトイレに設置したら便利

はじめに

この記事では「賃貸&ワンルーム&ペットがいる、という状況でもエアブラシや缶スプレーで塗装することを実現するために、塗装ブースをトイレに設置してみた」ことについて紹介します。

トイレに設置された塗装ブース

きっかけ

かつてペットを飼っていなかった頃は、エアブラシや缶スプレーでの塗装をする際には、ベランダへ出るための窓(掃出し窓)を開け、体は室内側に少し置いたまま外に向かって吹いていたのですが、夏暑く冬寒いのが困りごとでした。

その後、引っ越しを行い、猫を飼い始めました。
それにより、掃出し窓を開けた状態での塗装だと猫がベランダへ逃げてしまう危険性が出てきました。

また、物件が賃貸のワンルームなため、猫から隔離された状況での塗装が難しく、当初は風呂場で以下のような簡易塗装ブースを使い、サーフェイサーなどを吹いていました。
しかし、拭き終えてから床などを見ると、かなり粉が飛散していることがわかりました。

それを解決するために、ファン付きの塗装ブースをリビングに置こうかと考えたのですが、

  • 仕事や食事をするデスクに置くことになるので邪魔
  • ペットもいる部屋なので換気が心配
  • 塗装ブースの排気を窓の隙間から行うので、結局その部分から冷気が流れてくる&猫がこじ開けて逃げる可能性がある

ということからリビングに置くことは難しいと考えていました。

ちょうど良い場所「トイレ」

塗装ブースをどこに置けばいいのかを考えながら、ある日トイレの換気扇のフィルター掃除をしていたところ、フィルターとカバーを取り外すとなんともわかりやすいダクトがあることに気づきました。

それにより、急にトイレが以下のように「塗装に適した空間」として浮かび上がってきました。

  • トイレの換気扇はカバーを外すとダクトを繋ぎやすい形状をしている
    • これは建物によっては工夫が必要だと思いますが…
    • 窓を少し開けるのに比べて、冷気を取り込まずに効率的に排気ができる構造
  • 引き戸を閉じれば防音性が増し、ペットを入れさせないようにできる
  • トイレタンクの上に棚を作れば、畳んだ状態の塗装ブースを置いておける
    • これも建物によっては十分な空間が無い可能性はありますが…
  • トイレのもともとの特徴から、有機溶剤などの匂いも生活空間に漏れ出しにくい

準備・手順

トイレタンクの上に棚を作る

実は塗装ブースを置こうとする前から、我が家では畳んだダンボール箱を置いておくために、トイレの上に棚を作っていました。
トイレタンクの上に手洗い吐出口が無いのであれば、ホームセンターで板を切ってもらい、硬めのスポンジなどで高さ調整を行うことでトイレタンクの上に棚を作れます。
なお、板が手前に倒れてこないように、スポンジはできるだけ外側に配置したほうが良いです。

以下の写真は、まだスポンジの位置が中央寄りで前に倒れやすかった頃の物。

寸法は以下を参照してください。

トイレタンクに荷重がかかるのが不安な人は、メタルラックなどを床から設置するのも良いかもしれません。

塗装ブースを買う

トイレタンクの上の棚の上に設置するために、以下の条件を満たす塗装ブースを探しました。

  • 折りたたんで邪魔にならないサイズ
  • 後ろに重心がある
  • 上向きに排気ダクトが伸びている

そこで以下の塗装ブースを買いました。

設置してみる

実際に設置してみると狙った通りでした。

折りたたんでいる状態では棚のサイズに収まり、組み立てた際にも重心が後ろ側にあるので、張り出した塗装エリア上にツールウォッシュや充電式エアブラシなどをある程度置いておいても大丈夫でした。

排気ダクトをつなぐ

我が家のトイレには窓が無いため、トイレの天井の換気口に塗装ブースの排気ダクトを固定する必要があります。
そこで、塗装ブースの排気ダクトと換気口をつなぐためのパーツをFusion360で設計し、3Dプリンターで出力しました。
それを設置した様子が以下です。

ただし換気口よりもパーツの直径を小さめにしたので、摩擦が足りなく固定がしにくかったので、テニス用のグリップテープを巻いてギチッとハメ込めるようにしました。

もし同じことを試したくて、トイレの換気口の直径が93mmだという方からTwitterでリプライをもらったら、上記のパーツのデータをThingiverseにアップロードするかもしれませんので、一言ください。

ノイズキャンセルイヤホンを着用する

塗装ブースは最大でファンを回すと結構な騒音を出します。
トイレのドアを閉めればリビングなどへの音は防音できるのですが、塗装している本人にはストレスです。
そこで、もともと持っていたAirPodsProを着けて作業してみたところ、まったく気にならなくなりました。

防毒マスクや手袋を着用する

これはトイレでの塗装に限らないのですが、塗装ブースで換気をしていても少量を吸気してしまう可能性は残るため、自分は以下の防毒マスクを着用して塗装しています。
匂いも気にならなくなりますし、一定期間の使用後にフィルターを見てみると黒くくすんでいるのが確認できるので、肺でそれを受け止めるのを防止できていると考えるとあった方が良いと思います。

また、塗料やサーフェイサーが手に触れると手が荒れたり洗うのが面倒だったりするので、ニトリル手袋を着用して作業しています。

ただし、うすめ液やツールウォッシュが手袋に触れる場合には、ニトリル手袋だと浸食されて肌まで染みたり穴が空いてしまうため、そういった物を扱う場合にはポリエチレン手袋を着用しています。

ポリエチ手袋 No.826 Mサイズ

ポリエチ手袋 No.826 Mサイズ

  • ショーワグローブ(Showaglove)
Amazon

使ってみた結果

とても便利です。

  • 排気はダクトから行われ、開けた窓と違って吹き替えしてくることもなく、外の温度が流れてくることもありません
  • ファンを最大まで回していても、他の部屋に響きませんし、作業者自身もノイズキャンセルによって気になりません
  • 塗装ブースに付いているLEDがとても明るいので、トイレ自体の明るさを気にしなくて良いです
  • トイレを使いたくなった時にも、トイレの蓋を開けられるだけの位置に塗装ブースがありますし、展開したままでも少し前屈みに座ればトイレを使用できます

注意すべき点

  • 立ちっぱなしで作業することになるので、脚が疲れる
    • 作業が一段落したり、エアブラシのバッテリーが切れたタイミングなどで、座って休憩するようにしています
  • ダクトを固定していないと、外れて前に重心がかかり、塗装ブースごと倒れてくる可能性があるので、使用中はしっかり固定する&しばらく使わない時にはダクトを短くしておく
  • トイレの蓋を開けたまま作業しているとパーツなどが落ちる可能性があるので、閉めた状態で作業する

まとめ

自分はわりと都心に住んでおり、言わば"うさぎ小屋"と例えられるような、作業部屋など無いワンルームに住んでいますが、今回のような工夫で自宅に塗装ブースを設置できました。
間取りなどによってはそのまま真似できない可能性もありますが、この記事が、同じように塗装ブースの設置に悩んでいる方のヒントになれば幸いです。

SwitchBotボットに単3電池ボックスをつないで電池交換を手軽にする

SwitchBotボットは、壁のスイッチなどをスマホスマートスピーカーからON/OFFできる便利な機器です。

しかし、使われている電池が「CR2」という小さくマイナーな物でコンビニなどでは手に入りにくいため、ストックしておかないといけない点や、バッテリーの減りの早さが困りごととしてあります。

「コンビニなどで買える電池をSwitchBotボットで使えたらいいのに」というのを解決するのがこの記事の趣旨です。

「CR2」は3V(ボルト)の電池です。単3電池のように1.5Vの電池を直列で繋げば同じ3Vになります。
そこで、以下のような単3電池用の電池ボックスを購入し、SwitchBotボットにつないでみました。

電池ボックスのつなぎ方

ケーブルが通る隙間を作る

電池ボックスを外につなぐためには、ケーブルが通る隙間が必要です。
そこで、SwitchBotボットのアームの反対側をニッパーなどで以下のように切り飛ばして隙間を作りましょう。

左のようにケーブルが通る隙間を作る

ケーブルを固定する

  • 黒いケーブル(マイナス)はバネの根本に挟ませるようにします
  • 赤いケーブル(プラス)は金属板とプラスチックの間にグイッと差し込むとけっこう固定できます

この段階で電池ボックスに電池を入れ、電池ボックスのスイッチをONにして、SwitchBotボットのLEDが光ることを確認しておくと良いでしょう。

黒はマイナス、赤はプラス

もし工作ができる人であれば、電池の形のパーツを作るとセットしやすくていいかもしれません。

ケーブルの位置を調整する

電池ボックスからの長さが黒・赤のケーブル両方で揃うように持ちつつ、最初に作った隙間に添わせて位置合わせします。

長さと隙間を考慮しつつ位置を調節する

SwitchBotボットのカバーを閉じる

カバーを閉じて以下のようになっていればOKです。

  • 黒・赤のケーブルの長さが揃っている
  • カバーがしっかりと閉じている

SwitchBotボットのカバーを閉じた様子

強力両面テープなりで固定して完成

電池ボックスのケーブルが出ている反対側の面に両面テープを貼ると、ケーブルが比較的ジャマにならない形でSwitchBotボットに固定しておけます。

この位置に両面テープを貼る

ただし、横向きに固定しようとしても剥がれてきてしまうので、できるだけ上下に貼り付けるか、どうしても横に固定したい場合はSwitchBotボットに付属していた3Mの両面テープを流用するなどしたほうが良いでしょう。

また、コマンドタブのSサイズもちょうど良い大きさです。

見た目が気になる場合は

黒い電池ボックスとそこから伸びたケーブルというのは生活の中では少し異質に見えます。
もしそれが気になる場合には、電池ボックスを囲むように&電池ボックスのフタに貼り付けるように厚紙やプラ版などで自作のカバーを作ると良いでしょう。

自分は3Dプリンターで出力したカバーを付けました。

まとめ

まだ長期間の運用を行っていないので電池の持ちについてはわかりませんが、今のところ、おかしな動作もしていませんし、押す力が弱くなったりもしていないので、とても満足しています。
便利すぎて我が家では現在5箇所も電池ボックス化しています。

大きさをあまり気にせず、SwitchBotボットの電池交換の面倒から少し解き放たれたいという方は、ぜひ電池ボックス化を試してみてください。

あと、電池も忘れずに。

一人暮らしのQoLを上げるオススメ構成(2021年2月版)

暮らしについて人と話している時に「それ自動化できるよ」「もっとQoL(生活の質)上げられる方法あるよ」ということを紹介する機会がたびたびあります。
そこで毎回Amazonの購入履歴などから探してくるのだと少し手間なので、この記事にまとめておきます。

つまりは、買ってよかったものまとめみたいなやつです。
一人暮らしに限った物だけではないのですが、自分が一人暮らしなので主にその視点でまとめています。

1日の流れにそって紹介していきます。

SwitchBotカーテンがカーテンを開ける

SwitchBot Curtainの見た目(Kickstarterのページより)
カーテンを自動で開閉してくれる「SwitchBotカーテン」という製品があります。
自分はこのSwitchBotカーテンのスケジュール機能を利用して、まずは静音モードで半分開き、しばらくしたら通常モードで全開にしています。

これにより、日光で少しずつ目覚めることができ、在宅ワーク中でも日光を浴びるクセが付きます。

利点

  • 目覚めの質: 日光で少しずつ起きれる

注意点

  • 数ヶ月に一度、SwitchBotカーテンを充電する手間が発生する
  • オプション製品のソーラーパネルは、よほど日光が強く当たる環境じゃないと充電が開始されない

Alexaが朝のニュースと音楽を流す

Echo Show 5(Amazonのページより)
Echo Show 5で、起きたい時間の30分前ぐらいに以下のような定形アクションが実行されるようにしています。

  • ニュースが流れる
  • 音楽が流れる

これにより、うるさいアラームでいきなり起こされるのではなく、30分ぐらいかけてゆっくりと覚醒状態に持っていけるので、以前より起きやすくなりました。

実のところ、ニュースの内容は頭には入っていません。
「耳に何か情報が流れてきてるな。そろそろ起きなきゃな」と頭に思わせるための導入のために流しているだけです。

利点

  • 目覚めの質: ニュースと音楽で少しずつ起きれる

注意点

  • 映像の流れるニュースだと、なぜか時折ロードが完了せず無音で固まってしまうことがあるので注意する(そういうニュースを選ばない)

Alexaが今日の天気予報を読み上げる

前述の通り、まだ覚醒していない頭に対してAlexaからニュースと音楽を流していましたが、 自分がほぼ覚醒しただろうという時間になったら、天気予報を読み上げさせています。

以前は、傘を持っていくべきかどうかのために降水確率の部分に意識を集中していましたが、 在宅ワーク中心になってからは一枚羽織るかどうかのために、気温に意識を集中するようになりました。

また「この読み上げが聞こえたら起きるべき時間が近づいている」というリマインドの役目も果たしています。
なお、冒頭の音声を聞き逃す可能性も考慮して2回連続で読み上げさせています。

利点

  • 目覚めの質: 起きるべき時間が音でわかる
  • 健康の管理: その日どんな服装でいるべきかが判断できる

スマート電球を点ける

Wi-Fiごしに操作してスケジューリングできる電球を使って、決められた時間に照明を点けるようにしています。
これにより、曇っていて日光が弱い日でも少し起きやすくなりますし、在宅ワークの仕事開始モードに移りやすくなります。

利点

  • 目覚めの質: 起きるべき時間が光でわかる。仕事モードに移行しやすくなる。

注意点

  • さすがに日光ほどの明るさは無い

BASE BREADを食べる

BASE BREAD オススメ2種(Amazonのページより)

食事というものは、気をつけていないと栄養バランスの悪い食事になってしまったり抜いてしまったりということがあります。
特に朝食はめんどくさがってしまいがちです。
そのために1日のうち1食をBASE BREADで固定&ルーチン化しました。

BASE BREADは完全栄養食と呼ばれる物で、1食(2袋)で1日に必要な栄養の3分の1が摂取できるというものです。
一般的なパンに比べると少しモサモサしているのですが、食にそこまでこだわらない人であれば普通に美味しく食べられるはずです。
とはいえ、自分は少し甘さがほしかったのでピーナッツバターやチョコを添えて食べています。
(なお、自分は少食なので朝昼をこの1食で済ませていますが、今後は昼食もBASE BREADにすることも検討しています。)

また、一般的なパンと違って常温で1ヶ月ほどもち、さらに4週間おきの継続コース(定期配達)が用意されているので、いちいち買い出しに行く必要がなく毎月届くのを待つだけで良いというのも嬉しい点です。

こちらの友達紹介URLから購入すると、500円安く継続コースの体験が始められます。
商品一覧 完全栄養食 BASE FOOD (ベースフード)

僕にも500ptが入りますが、誰がこのURLを利用したかなどはわからないので安心してください。
誰かしらが招待URLを利用したらしいという通知メールだけが届いてます。

あと個人的に味は「メープル」がオススメです。
最初からメープルだけを注文したい人は、BASE FOODのサイトで数量を選んでからクーポン入力欄で inviteMzkxMTQwNDU1MjI1My0tNTk0NTQ= を入力すれば、先程紹介した500円OFFが効くはずです。

利点

  • 健康の管理: 自分で考えずに必要な栄養素を摂取できる
  • 買い物の手間: 4週間おきに届く&1ヶ月もつので、買いに行かなくていい
  • 料理の手間: 袋から出して、そのまま or レンジで40秒温めるだけで良い
  • 金銭コスト: 1食400円しないので経済的

注意点

  • 人によってはお腹がゆるくなるらしい(自分は便通が良くなったなぁぐらいの感覚です)
  • 4週間分が一度に届くので、置き場所の考慮が必要

午後・夕方

Amazonフレッシュに食材を届けてもらう

Amazonフレッシュ(Amazonフレッシュのサービスについて より)

コロナ禍で在宅ワークが増え、荷物を受け取りやすくなって自炊する意欲が増したため、買い物に行くのではなくAmazonフレッシュを利用するようになりました。

Amazonプライムも契約している必要があるのですが、すでにAmazonプライムを契約していてAmazonフレッシュの対象地域に住んでいる人は一度検討してみると良いでしょう。

「20:00〜22:00」や「22:00〜24:00」という配達時間も指定できるので、日中は仕事で受け取れないという人も割と便利に使えるはずです。

amzn.to

https://amzn.to/3aID9Ue https://www.amazon.co.jp/alm/storefront?almBrandId=QW1hem9uIEZyZXNo&linkCode=sl2&tag=amazonmp-22&linkId=0da84023945abaaa24c8e096132aa979&language=ja_JP&ref_=as_li_ss_tlwww.amazon.co.jp

利点

  • 買い物の手間: 買い物に行かなくて良い
  • 食材の豊富さ: 近所のスーパーにない食材も豊富に取り揃えていて、スマホからでも探せる
  • 金銭コスト: 1月に数回利用するなら、Amazonフレッシュ会員への登録で送料が無料になるのでお得

注意点

  • 大きなレジ袋に入って届くので、その使い道が無い場合は持て余す

ホットクックに調理を任せる

料理における面倒なこととして「火にかけた食材を見ていなければならない」という点があります。 それを解決してくれるのが、シャープのヘルシオシリーズのひとつ「ホットクック」です。

ホットクックは「温度調整」と「かき混ぜ」をしてくれる電気圧力鍋なので、基本的に食材を放り込んだら後は完成を待つだけです。
通常の鍋のように火加減を気にしたり定期的に混ぜたりという作業がいらず、圧力鍋のように圧力のかかり具合を見ながら操作したりという作業も必要ありません。

自分は3,4食分をドカッと作りたかったのと、炊飯器を横に広げたぐらいの置き場所があったので1.6Lサイズ(中)を買いましたが、
一人暮らしで、より小分けに調理したい人は1.0Lサイズ(小)で良いかもしれません。

自分は以下のような料理が気に入っています。

  • 無水カレー(野菜がたくさん食べられる)
  • スペアリブの煮込み、鶏のさっぱり煮(やわらかい肉が食べられる)
  • ポタージュ(野菜の濃厚さが堪能できる)

ルゥは「カレーZEPPIN」が美味しいので、それをベースに「ボイル済み牛すじ」で牛すじカレーを作ったり「合挽き肉」でキーマカレーを作るのがオススメです。

利点

  • 調理の手間: 火を調節したり混ぜなくて良い
  • 片付けの手間: フッ素加工なので汚れがこびりつかない
  • 調理のバリエーション: 低温調理やスポンジケーキなどにも対応している

注意点

  • 家電そのものは良いが、アプリやサイトの作りが少し弱い

SwitchBotカーテンがカーテンを閉める

前述の「SwitchBotカーテンがカーテンを開ける」と同様に、閉めるのもスケジュール登録してあります。
在宅ワーク中でも「もうこんな(日が落ちる)時間かぁ」と意識できるのでメリハリがついたように思います。

寝る前

入浴の準備をできるだけ自動化する

自分は、シャワーよりも入浴のほうが疲れがより取れると感じるので、毎日お湯をためて入浴しています。
ですが、疲れている時は風呂に向かったり準備をするのが面倒なんですよね。

そこで自分は「風呂の栓が閉まっているかをスマホ上で確認」できるようにして、さらに「風呂自動ボタンをスマホから押す」のもできるようにしました。 これで、立ち上がるのは面倒だがスマホならいじる気力があるという時に、風呂の準備だけは座ったままできるようになりました。

方法は、以下の記事に書いてあるのでそちらをご覧ください。 moyashipan.hatenablog.com

利点

  • 入浴の準備の手間: 座ったまま風呂にお湯をためられる

注意点

  • 前日にちゃんと風呂の栓をしておく必要がある(それについては後述)

入浴後の流れをルーチン化する

自分は風呂から上がった後の行動を、以下のようにルーチン化しました。

  • 風呂から上がったら、風呂の栓を抜く
  • 風呂のお湯が抜けるのを待つ間に、歯磨きをする
  • 歯磨きが終わったら風呂のお湯が抜けているので、内側をシャワーですすぐ
  • すすいだ水がおおよそ抜けたら、(翌日のために)風呂に栓をする

このようなタイミングで歯磨きすることで、風呂の水が抜けるまでの待ち時間が無駄にならず、風呂上がりに何かを飲み食いしてしまう気持ちもおさえられます。

また、このタイミングで風呂の栓を閉めることで、翌日に風呂の栓を閉めるために浴室に向かう必要がなくなります。

それと、歯ブラシは音波振動歯ブラシがオススメです。
自分は中高生の頃から歯の矯正をきっかけにして、他のブラシよりも歯に無理な力がかからずに歯がツルツルになる音波振動歯ブラシをずっと使っています。

30秒ごとに短い一時停止をして教えてくれるので、どこかを磨きすぎたり磨き忘れたりということを避けやすく、歯磨きにかかる時間を毎回一定に揃えられます。

利点

  • 節制: 風呂上がりの歯磨きで、寝る前の飲食を避けやすい
  • 翌日の手間: 風呂上がりに風呂の栓をしておくことで翌日の手間が減る

注意点

  • 風呂の栓が閉まった状態が定常化するので、もっと乾いた状態でいてほしい人には不向き

眠る時間が近づくにつれて照明を暗くする

前述の「スマート電球を点ける」で書いたのと同様に、寝る時間に向けて段々と暗くなるようにスケジュール設定をしています。

  • 就寝予定の4時間前に明るさ75%
  • 3時間前に明るさ50%
  • 2時間前に明るさ25%
  • 1時間前に明るさ1%
  • 30分前に2つある電球のうち片方を消灯
  • 就寝予定時間にすべて消灯

といった感じです。

さらに、まれに「就寝予定時間を過ぎてもベッドサイドランプをつけて夜ふかししてしまう」場合があるので、就寝予定の1時間後にベッドサイドランプを消灯するスケジュールも組んであります。

自分が使っているベッドサイドランプはもう販売終了してしまったのですが、今から買い替えるならこのあたりを考えています。

利点

  • 節制: 日々の寝る時間をコントロールしやすい

まとめ

スマートデバイスや行動のルーチン化によって、できるだけ頑張らずに毎日を良い感じに過ごす実例を紹介しました。

他にもQoLを上げるための記事はいくつか書いていますので、そちらもご覧ください。

moyashipan.hatenablog.com

moyashipan.hatenablog.com

moyashipan.hatenablog.com

Alexa対応のセンサーを自作する

Alexa対応センサーは種類が少なすぎる

Alexaに対応したセンサーはいくつかの種類が販売されており、センサーの値の変化を実行条件にした定形アクションを組むことができます。

センサーの種類として、例えば、Echo Flexにそのまま接続できるような人感センサー。

他には、電池で駆動するドアセンサー。

似たような物として、スマホアプリと連動した漏水センサーや温度計などもありますが、現時点ではAlexaの定形アクション実行条件に対応していることが確認できなかったため、自分としては実質「人感センサーとドアセンサーしかAlexaの定形アクション実行条件に対応していない」という認識です。

もっと豊富な種類のセンサーを扱いたい

Alexa対応のセンサーが今後増えていく可能性はありますが、いつ出るともわかりませんし、自分の検知したい機能を有しているかもわかりません。

無いなら作りましょう。
たとえば自分は以前、測距センサーを使って猫がいるかどうかを判定し、IFTTTに対してイベントをトリガーする電子工作を行いました。 moyashipan.hatenablog.com

これをIFTTTを経由せず、Alexaにデバイス登録できるセンサーとして作ってみました。

完成した物

測距センサーで一定の距離内に遮蔽物がある/ないことを検知して、その結果をドアセンサーの閉/開としてAlexaに伝える仕組みを作りました。 https://twitter.com/Moyashipan/status/1319343848682713088?s=20

3Dプリンターでケースも作ってみました。

作り方

こちらを参考にしました。 qiita.com

必要なことを大きくまとめると以下です。

  • Alexa Smart Homeのカスタムスキルを登録する
  • Lambdaの関数コードを登録する
  • バイス側からChangeReportを送る

ただし、Lambdaのコードは以下のように変更してあります。

  • 今回はContactSensorとして登録する(いつ動きがあったか、ではなく今いるのかどうかで管理したい)
  • DiscoverAcceptGrant にだけ反応して、それ以外は ChangeReport イベントをデバイスから送ることにする

コードは記事の最後にまとめて記載しています。
上手くいけば、Alexa上に自分が設定したデバイスが追加されているはずです。
client_id, client_secret, refresh_token が取得できたら、デバイスの準備に移ります。

バイスの準備

今回は以下を使いました。

  • M5ATOM Matrix
  • 測距センサー

ATOM Matrixwww.switch-science.com

akizukidenshi.com

M5ATOM Matrixの背面にある「33ピン」「5V」「GND」に測距センサーを接続し、後述のコードの所定の箇所を以下の情報で上書きし、書き込みます。

  • WiFi用のSSID, パスワード
  • client_id, client_secret, refresh_token

上手くいけば、Alexa上の当デバイスの開閉の値が更新されるのが見れるはずです。
Alexaの画面上だけでなく、距離の度合いがLEDアレイに大きく表示されるので動作確認がしやすくて良いですね。

上手くいかない場合にはPostmanなどを利用して、どの通信が上手くいっていないかを確かめると良いでしょう。

ホットカーペットの準備

※注意! この記事を書いた時点では把握できていませんでしたが、電熱器具を遠隔操作することは推奨されていません。他の用途に使用してください。

k-tai.watch.impress.co.jp

今回はセンサーの値に応じてホットカーペットをON/OFFするというねらいなので、スマートプラグでON/OFFされるホットカーペットを準備します。

例えば以下のような製品をつないで、スマートプラグにホットカーペットという名前を付けて、Alexaにデバイス登録するだけです。
これだけでも(=センサーが無くても)声や時刻でON/OFFできるので便利ですね。

定形アクションの設定

センサーとホットカーペットの準備ができたので、最後に定形アクションの設定を行います。
以下のように2つの定形アクションを設定します。

これにより、猫がいる間だけホットカーペットが自動でONになる仕組みが実現できました。

さいごに

スマートホームに対するこだわりが増してくると、既存のセンサーだけでは満足できなくなってきます。
そんな時、自分でセンサーを繋いだデバイスを作れると便利です。
今回は測距センサーを用いましたが、それ以外のセンサーを繋げば、例えば

  • 明るくなったら/暗くなったら
  • 重くなったら/軽くなったら
  • うるさくなったら/静かになったら

といった場合にAlexaに通知・トリガーイベントを送信するデバイスも作れるでしょう。

慣れないうちはAWSの操作でまごつくこともありますが、スマートホームの自由度が増すのでぜひ試してみてください。

Lambda関数コード

exports.handler = function (request, context) {
    if (request.directive.header.namespace === 'Alexa.Discovery' && request.directive.header.name === 'Discover') {
        log("DEBUG:", "Alexa.Discovery:",  JSON.stringify(request));
        handleDiscovery(request, context, "");
    }
    else if (request.directive.header.name === 'AcceptGrant') {
        log("DEBUG:", "AcceptGrant:", JSON.stringify(request));    // AcceptGrantの内容をlogに出力
        var response = {
            "event": {
              "header": {
                "namespace": "Alexa.Authorization",
                "name": "AcceptGrant.Response",
                "messageId": request.directive.header.messageId,
                "payloadVersion": "3"
              },
              "payload": {}
           }
        };
        context.succeed(response);
    } 
    else {
      log("DEBUG:", "Other request:", JSON.stringify(request));
      log("DEBUG:", "Other context:", JSON.stringify(context));
    }

    function handleDiscovery(request, context) {
        var payload = {
            "endpoints":
            [
              {
                "endpointId": "sensor-001",
                "manufacturerName": "MOYASHIPAN Cat Carpet Sensor",
                "friendlyName": "ホットカーペット猫センサー",
                "description": "ホットカーペットに猫が乗っているかどうかを検出するセンサーです",
                "displayCategories": ["CONTACT_SENSOR"],
                "cookie": {
                  "key1": "このエンドポイントのキーと値のペアです",
                  "key2": "複数のエントリーがある場合があります",
                  "key3": "参照目的で使用します",
                  "key4": "現在のエンドポイントの状態を維持するためには使わないでください"
                },
                "capabilities": [
                  {
                    "type": "AlexaInterface",
                    "interface": "Alexa",
                    "version": "3"
                  },
                  {
                    "type": "AlexaInterface",
                    "interface": "Alexa.ContactSensor",
                    "version": "3",
                    "properties": {
                      "supported": [
                        {
                          "name": "detectionState"
                        }
                      ],
                      "proactivelyReported": true,
                      "retrievable": true
                    }
                  },
                  {
                    "type": "AlexaInterface",
                    "interface": "Alexa.EndpointHealth",
                    "version": "3",
                    "properties": {
                      "supported": [
                        {
                          "name": "connectivity"
                        }
                      ],
                      "proactivelyReported": true,
                      "retrievable": true
                    }
                  }
                ]
              }
            ]
        };
        var header = request.directive.header;
        header.name = "Discover.Response";
        log("DEBUG", "Discovery Response:", JSON.stringify({ header: header, payload: payload }));
        context.succeed({ event: { header: header, payload: payload } });
    }

    function log(message, message1, message2) {
        console.log(message + message1 + message2);
    }
};

M5ATOM Matrix用コード

Arduino IDEから書き込んでください

SwitchBot Hub Miniを天井のダクトレールに綺麗に設置する

天井にダクトレールがあると便利です。
もし無ければぜひ設置しましょう。

ダクトレール活用例: moyashipan.hatenablog.com

moyashipan.hatenablog.com

すでにダクトレールがある場合、そこにスマートリモコンを設置すると部屋全体にスマートリモコンからの赤外線信号が届きやすくなるので便利です。

この記事では、スマートリモコンのひとつ「SwitchBot Hub Mini」をダクトレールに設置する際に、よりスッキリと綺麗にする工夫を紹介します。

完成形

以下のように設置します。

L字のアダプタを使って、SwitchBot Hub Miniの背面を天井側に向かせているのがポイントです。
こうすることで、縦に生えている時よりも

  • ぶら下がってる感が減って、目立ちにくくなる
  • 背面(ネジ穴など)が目に入りにくくなり、スッキリ感が増す

という利点があります。

ダクトレール以外に用意する物

以下の商品を組み合わせて設置します。

  • ダクトレールにコンセントを挿すためのやつ
  • コンセントからL字にUSBを挿すためのやつ
    • 商品名に"for Walkman"という文字が入っていますが特にウォークマン専用の物ではないので気にしなくて大丈夫です
  • ケーブル無しでSwitchBot Hub MiniをUSBに接続するやつ
  • SwitchBot Hub Mini 本体

まとめ

既製品を組み合わせることでスマートリモコンを天井に割とスッキリと設置できました。

もともとスマートリモコンは、信号が届きやすくて電源のあるところに設置しようとすると、相手となる機器を見渡せる場所に置く必要が出てきてしまい、本体やケーブルが人間の目に見えがちです。 それを天井に逃し、ケーブルも見せないようにしたのが今回の方法です。

同じようなことを気にしていた方はこの方法を試してみてください。

余談: 他のスマートリモコンを設置する際の注意点

以前、我が家ではスマートリモコンとして温度・湿度が測れる「Nature Remo」を設置していました。

[asin:B07CWNLHJ8:detail]

しかし

  • 「赤外線が届く場所」と「温度と湿度を測りたい場所」は一致させにくい
    • SwichBotなら温湿度計が別で販売されているので別の箇所に設置できる
  • 「SwtichBotボット(物理ボタンを押してくれるやつ)」や「SwtichBotカーテン(カーテンを開閉してくれるやつ)」も利用したい

という理由から、SwitchBot Hub Miniを中心としたスマートホーム環境に移行しました。

もしSwitchBot Hub Mini以外のスマートリモコンを天井に設置しようとしている方は

  • スマートリモコンに温湿度計が搭載されていないか?もし搭載されている場合に天井で計測されて問題がないか?
  • SwitchBot Hub Mini専用のコネクタが使えるのかどうか?

などを気にしたほうが良いと思います。

「チラシお断り」のステッカーはマジで効く!(理由も解説)

端的に言うと、判例があるので、まともなポスティング業者はチラシお断りの意思表示があればチラシを投函しません。

https://haifu-standard.jp/column/posting-law/haifu-standard.jp

https://postingoo.com/blog/legal/postingoo.com

そうとわかれば意思表示しましょう

こういうステッカーを貼ってもいいです。

また、意思表示がされていればいいので、テプラで似たようなテキストを印字しても同じ効果を発揮してくれます。

効果は?

すごいです。
チラシを捨てる手間が無くなり、大事な手紙にすぐ気付けるようになるので、QoL爆上がりです。

地域差はあると思いますが、自分の場合はステッカーを貼ることでチラシは月に一度くらいになりました。
なぜゼロにならないかというと、判例を知らないマイナーな会社や近所の個人商店などが自前で投函してくる場合があるからです。

懸念点は?

考えられる懸念点としては以下のようなものが考えられます。

  • 管理会社によってはステッカーを貼ることを禁止している場合がある
  • マグネットシート式の物を買ったが、磁石の付かないポストだった
  • ポストのサイズや縦横の方向に合わないステッカーを買ってしまった

事前にチェックした上でお試しください。

さいごに

スティング業者には悪い気もしますが、もともとほぼコンバージョンしないことに付き合っていられるほど人生はヒマではありません。
それでは、みなさんもチラシお断りステッカーで良いNoチラシライフを!