デジタル居場所表示v2.1
大学教員の居室にはたいてい居場所表示盤?(インジケーター?)のようなものがついていて、そもそも何と呼べばよいのか分からない、どこに売っているかわからないものが付いていて、それを使って自分がどこにいるのか訪問者に分かるようにしているのだけれど、私にあてがっていただいている部屋には毎回、その類のものがない。たぶん前任者がぶち壊したか、元々教員居室じゃなかったのだろう。
漁れば売っていたりするのだろうけど、一人だけそういうものを付けるのも趣味に合わないし、紙に適当に書いてマグネットで動かすのもなんとなく芸がない気がして、以前、arduinoで電子工作して手動で切り替えれるデジタル居場所表示デバイスを作っていた。
しかし、結局、この表示板を自分でポチポチやるのも面倒になってきて、再度、部屋を移動するタイミングでこのデジタル居場所表示v1.0はやめてしまった。
ところが、ちょっと前にYouTuberのイチケン氏の動画を見ていた時に、大学教員対象の「イチケン × リョーサンテクラボ」コラボキャンペーンというのをやっていて、応募してみたところマルツオンラインで使えるクーポンが当たった。マルツ以前から利用していたのだけど、期限がある中で2万円分となるとなかなか買うものがなく、どれを買うか迷っていたところ、M5StickC Plus2が破格の値段で出ているのを見かけて、もしかしたら遊べるかもと思って購入していた。購入後はなんとなくホワイトボードにパッケージのまま張り付けておくという、ただの飾りにして数か月がたっていたのだけど、ちょっと前に退屈しのぎにいじってみようと思い、せっかく小さいながらも液晶が付いているのだからと、新たにデジタル居場所表示デバイスを作ってみた。
M5の中身はESP32ベースのいわば、全部入りarduinoのようなもので、マルツのページ(https://www.marutsu.co.jp/pc/i/2777172/)によると
M5StickC Plusのバージョンアップ製品で、解像度135×240の1.14インチTFTディスプレイとWi-Fi機能を内蔵したESP32-PICO-V3-02を搭載しています。M5StickC Plus2は、メモリにPSRAM(2MB)が追加され、フラッシュも8MBになっています。また、バッテリー容量が200mAhに強化されています。コンパクトなボディに、赤外線送信機、RTC、マイク、赤色LED、6軸IMU、ボタン×3、ブザーなど豊富なハードウェアを搭載しています。開発環境には、UIFlow、MicroPython、Arduino、.NET nanoFrameworkなどを使用できます。
ということらしい。ボタンのハードウェア実装とチャタリング防止からやらなければならなかったv1.0よりもはるかに高度なハードウェアである。しかも、wifi経由で書き込みができるのがすばらしい。
そういうわけで、まずv2.0を作った。このシステムはGoogleのスプレッドシートに居場所の値を入れ込んで、これをM5StickC Plus2がGoogle Apps Script (GAS)を介して読むというもの。スイッチを使って書き込みをするというのもやってみたが、不安定なのでやめた。コードはGeminiが良いのを書いてくれて、少し試行錯誤したものの2、3時間で完成。

居場所の切り替えはiPhoneのオートメーションを位置情報をトリガにして、GASを叩いて切り替えるので全自動で切り替わる。M5は30秒に一回読みに行く。M5ボタンを押すと、slackのwebhookを介して私のiPhoneに通知が行くようになっており、呼び鈴の役目をする。
ただ、これはちょっと寂しいのと、あまり意味のない表示をずっとしておくのももったいないということで、お役立ち情報的に、3時間ごとの天気予報をopenweathermapのAPIから取って表示する機能を付けた。これがv2.1。正直、v1.0→v2.0よりも、v2.0→v2.1の方が大変だった。

天気予報と気温は天気の変わりやすい春先から梅雨にかけて便利だ。特に暑がりな私にとっては帰りが寒いこの時期は早めに覚悟しておきたいので、助かる(ちなみにこの写真を撮った2026/4/16は、昼間23度まで上がって夜は8度まで下がるらしく、厚着しておかないとまた闘病体験記を書くことになる)。M5ボタンは秘匿しておいても良かったのだけど、たまに会議等を忘れている時もあって案外呼び出された方が良いので下に説明を付記しておいた。
他のセンサー類を使ってないのがちょっともったいない気もするが、リソースの点からいうとM5StickC Plus2にはこれぐらいが限界か。特になんでもない天気のアイコンは結構苦労した。といっても、Geminiが作ってくれないのでChatGPTに作らせて組み込んだだけ。自分でほとんどコードを書いてないので作る楽しみはv1.0の方があった。AIで便利になったらなったで、自分で工夫したかったという、なんともエゴな欲求だけれど、そういうのが大事とも思う、なんとなく。
