編集履歴一覧に戻る
miuriteのアイコン画像

miurite が 2026年01月30日22時22分30秒 に編集

コメント無し

本文の変更

# 動機  厳しい寒さが続く今日この頃(執筆日時:2026年1月)、水槽の水温も下がり、メダカたちが底の方でじっとしている時間が増えました。 外出先にいても「ちゃんと生きてるかな」「今どこにいるんだろう」と気になってしまいます。 遠隔地から様子を確認したいが、カメラ映像をそのまま垂れ流すのはプライバシー的にちょっと..... そこで私はひらめきました。 **「メダカの動きだけをトラッキングして、バーチャルな姿で再現すればいいのでは?」** そうして誕生したのが、画面上で生きる世界初(?)のVtuberメダカ "たいようくん"です。 # 作ったもの 今回制作したのは、水槽内で暮らすメダカの様子をリアルタイムで可視化、配信する見守りシステムです。 M5stackやWEBページでバーチャル水槽が閲覧でき、たいようくんの活動量や水温が、アバターの動きとして直感的に分かるようになっています。 ## システム構成 ![システム構成図](https://camo.elchika.com/750eec3c89a9b3f30124d0bd6b2d6b6b8c98e3e2/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f33653461656537392d326534612d343533612d613133612d3534366637653863326639382f65363761623039342d326633342d343933342d393931332d386266616461663230356335/) 本システムでは、センシングデバイス(SPRESENSE)と表示デバイス(M5Stack)の役割を完全に分離しています。 ## 特徴 **1.JSONによる軽量かつ安全なデータ通信** SPRESENSEでセンシングしたデータを、M5StackでJSON形式に変換しインターネット上へ配信しています。映像を送らないため通信量が極めて少なく、本魚や飼い主のプライバシーも守られます。~~Vtuderの中身バレリスクゼロ~~ 個人の見守り用途だけでなく、不特定多数に対する愛魚の公開にも利用可能です。 ![キャプションを入力できます](https://camo.elchika.com/9d5efe4d443240ac232640dc296d071438255613/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f33653461656537392d326534612d343533612d613133612d3534366637653863326639382f63666637313462322d313664332d346536352d396237612d353735353535316163346130/) **2.愛のあるUI/UX** 映像を配信しない分、M5Stack上の「バーチャルたいようくん」の見た目や動きのかわいさにこだわりました。  また、たいようくんの健康を最優先し、夜間(22:00~05:00)は水槽を照らすLEDを消灯します。システムも「Sleep Mode」へ移行し、カメラ画像からの位置推定を停止します。(水温のセンシングは継続) さらに、Sleep Mode専用の画面を表示しM5Stackのディスプレイの輝度を落とすことで、さらなる省電力化を実現しました。 ![Sleep Modeの様子](https://camo.elchika.com/a27f1e1883a45e97d525648a9d438a5c36685d99/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f33653461656537392d326534612d343533612d613133612d3534366637653863326639382f64303663396631642d613165362d343534362d393933332d316565386466613837643736/) 人間とメダカどちらにも優しいシステムを目指しました。 **3.高い拡張性** 本システムでは、Spresense側で推論した位置・状態と、M5Stack側での見た目表現を完全に分離して設計しています。 そのため、今回はたいようくんの見た目に寄せたスプライトを使用していますが、ロジック部分には一切手を加えることなく、全く異なるキャラクターや抽象的な表現へ差し替えることも可能です。 メダカだけに限らず、ハムスターなどの他のペットにも応用可能な汎用性があります。 # 用意したもの ・Spresense(拡張ボード) ・Spresenseカメラモジュール ・M5stack Core2 for AWS ・温度センサ(DS18B20) ・撮影用水槽 ・メダカ # 制作過程

-

## NNC推論(位置推定)

+

## ハードウェアの配線 Spresense ⇔ M5Stack (UART通信) | Spresense (拡張ボード) | M5Stack Core2 | 役割 | | :--- | :--- | :--- | | D00 (UART2_TX) | R2 (GPIO13) | データ送信 (TX -> RX) | | D01 (UART2_RX) | T2 (GPIO14) | データ受信 (RX <- TX) | | GND | GND | グランド共通化 | Spresense ⇔ 水温センサ (DS18B20) | Spresense (拡張ボード) | DS18B20 | 役割 | | :--- | :--- | :--- | | 3.3V / 5V | VCC (赤) | 電源供給 | | D2 (任意GPIO) | DATA (黄/白) | 信号線 (要プルアップ) | | GND | GND (黒) | グランド | ## (位置推定)

## SPRESENSE-M5Stack間の通信 ## # 今後の展望 **・複数個体対応** うちで飼っているメダカは複数いるのなので **・行動パターン解析** 元気度や、気温と活動量の相関とか解析したい センサを増やして水の汚れとかもとりたい **・双方向通信** # 参考文献 [Arduinoで防水温度センサを使ってみた](https://knkomko.hatenablog.com/entry/2019/09/29/041827) [ArduinoIDE 2でESP32のファイルシステムにファイルを格納する方法](https://qiita.com/kumakumao/items/be51f174bfeb0e4a6a06) [SpreM5GPSense: SPRESENSEとM5Stackで作るGPSシステム](https://elchika.com/article/822e2b64-3f4a-4bbf-b4d6-03f1a059b858/)

+

[Object detection with centroids](https://docs.edgeimpulse.com/tutorials/end-to-end/object-detection-centroids) [Edge ImpulseでSpresense用の物体検出モデル作成(その2)](https://tomosoft.jp/design/?p=45697)