ESP32を使って絶対に気づく通知を作りたかった

この記事は 面白法人グループ Advent Calendar 2022 の3日目の記事です

こんにちは、カヤックボンドでエンジニアをやっている駒田です。
ボンドでは現在毎週木曜の終業後にもくもく会を開催していまして、その時間を利用して前から触ってみたかった電子工作を始めてみました。
オームの法則すら学校の授業でマジメに聞いていなかった私に果たしてできるのでしょうか。

通知に気づけない

さて、日頃コミュニケーションツールなどをつかっていて

  • 気づいてほしい通知に気づいてくれない。
  • 絶対気づきたかった通知に気づけない。

などなどで困ったことは無いでしょうか。
私はめっちゃ困っています。

日々、通知を見逃しては「返答遅れてスイマセン」を枕に返事を書いています。

リモートワークが一般的になってからは、チャットコミュニケーションに対して要求される即応性のレベルが上がった気もしていて、 通知に素早く、確実に気付ける策はなんかないもんかな、と常日頃考えていました。

何をすれば気付けるのか

どのような通知であれば素早く、確実に気づけるでしょうか。

一般的なチャットツールの通知機能は

  • バッジ通知
  • 音による通知
  • ポップアップ通知

大体このあたりが定番ですが、ちょっとした表示なんていうのは集中した作業を行っていると見えないものです。
音も作業中はミュートにしているとか、会話で聞こえなかったとか、あるあるですよね。

これらを踏まえると、視覚、あるいは聴覚で認識する通知では、気づけない可能性が高そうです。

他の五感のうち仕事中に一番気づけそうなものを考えてみると…。

  • 嗅覚
    鼻が詰まってると気づかなそう。
    通知が周りに拡散して、最悪スメハラになりそうです。ダメそう。
  • 味覚
    難易度が高そうですし、仕事中に菓子を食べたりコーヒーを飲んだりしてると気づかなそう。ダメそう。
  • 触覚
    チクっとした痛みや衝撃がきたりしたら気づけそうです。
    ビリビリペンとかの感じで電気を流せば良さそう。いけそう。

というわけで、今回は、遠隔操作で私に電気を流す装置を作ろうと思います。

用意したもの

ESP32 wroom2 devkit

Amazon | waves ESP32 DevKitC V4 ESP-WROOM-32 ESP-32 WiFi BLE 技適取得済 | Waves | パソコン・周辺機器 通販
※秋月電子通商さんで買ったので上記とは若干違うかもしれません。

流す電気を制御する為には、コレを使いました。
このESP32というのはマイコン(マイクロコントローラ、めっちゃ小さいPC)の1種で
PCとマイクロUSBケーブルで接続して、任意のプログラムを書き込んで動かすことができます。
Wifiも積んでるので、単体で通信もできてしまいます。
また、プログラムの開発、書き込みにはArduino IDEを使います。

www.arduino.cc

ビリビリペン(の中の装置)

このビリビリペンが丁度よさそうだったので
ビリビリさせる機構自体はコレを分解して使ってしまおうと思います。

試しにノックしてみたら、低周波治療器みたいな痛痒いビリビリが感じられました。
期待していたのはバチっとかチクっとかなので、少し方向性が違いましたが、とりあえずこれで。

他電子工作用の細かいパーツ類

  1. ジャンパーケーブル(オス-オス)
  2. 200Ω くらいの抵抗器
  3. LED
  4. ブレッドボード x 2

などを使いました。

画像を見て分かるように、実際は何を買ったらいいかよく分からず余計なものを一杯買ってしまいました。

これらを用いて、任意のURIが叩かれた時に、装置に触ってる人がビリっとするようにしてみます。

電気を流してくれるものをつくる

できたもの

作ったものは極めてシンプルでこんな感じになりました。

電子工作のハローワールドと言われてるらしいLEDを光らせるだけの装置(通称:Lチカ)にビリビリペンの装置を繋いだだけ。
※ビリビリペンの仕組みは以下サイトが一番詳しかったです。 www.electrothinks.com

プログラムはArduino core for the ESP32にサンプルとして登録されているSimpleWiFiServerをほぼそのまま使いました。
LAN内に限定されますが、これで遠隔で電気を流すことができます。

電気を流す

LEDは通電確認のため繋いでいる状態なので、これを一旦外しケーブルの接続部分を直接触ることでビリビリを自らに流してみます。
一応テスターを用いて電圧を確認済みなので大したことはないはず、とは思いつつも
ビリビリペンが謎のメーカー産のものですし、大分緊張感があります。

が、意を決して、いざ通電!

全然痛くない
っていうか何も感じない

その後も、LEDを付けて点灯を確認したり、抵抗をとっぱらってくる電圧を上げる
など試行錯誤してみましたが、ほぼ無痛。

という所で、今回は時間切れ。

こんなはずでは…

なぜ何も感じなかったのか、分解したパーツを見てみます。

ビリビリペンはボタン電池を3個を使っています。1個3Vで直列ということで、9Vになるんでしょうか。
対してESP32から流れる電圧は3V。
この違いによって、ビリビリしなくなっているような気がします。

対応策としては

  • 電圧を上げる
  • ビリビリペン装置を3Vに対応したものにする

などが考えられるので、今後ももくもく会で継続して開発を続け、
いつの日かしっかりした電流を自らに流せるようにしたいと思います。

最後に、今回一番大変だった作業であるビリビリペンの分解作業のハイライトの画像を貼って終わります。

まだまだ続くアドベントカレンダー、明日の記事もお楽しみに!

こんなバナナ剥くような分解作業になると思ってなかった。