本記事は、学校の授業でちょっとだけM5Stackにさわったことがある程度の知識ゼロ人間が、AI(Gemini)を頼りにいきあたりばったりでM5Stackを動かすドキュメンタリーです。全4回のPartに分けてお届けします。
コードや解釈に技術的な至らない点があるかもしれませんが、「AIと対話してトラブルを突破したプロセス」が面白かったため、成長記録として共有します。もしお気づきの点があれば、優しくコメントで教えていただけますと幸いです!
なお、本文中の「🤖Gemini先生」のセリフは実際のやり取りを要約したもので、その後の地の文における解釈や感想は私自身の主観であることを明記しておきます。
IoTデバイスを作ろうとしたきっかけ
学校の授業でM5Stackを使ったシステムを作る課題が出されたので、Geminiとアイデアの壁打ちをしていました。
⏬️以下Geminiとのやり取り
🧐私:M5Stackってなにができるの?中学生にもわかりやすく教えて←※中学生ではない
🤖Gemini先生:M5Stackは、液晶ディスプレイ、ボタン、Wi-Fi/Bluetooth通信、バッテリーなどが手のひらサイズのケースにギュッと詰まった、「全部入り」の小型コンピューター(マイコン)です。
🤖Gemini先生:Webサービスとの連携(IoTデバイス)では、Wi-Fiに標準対応しているため、APIとの連携がとても得意です。通知ガジェットとして、物理ボタンを押すだけでDiscordに特定のメッセージを自動送信する専用デバイスを作ったり、LINEに通知を送ったりできます。
🧐私:Discordも繋げられるのか。だったらいつも家族に向けた帰宅報告をボタン一つで送れるIoTデバイスを作ってみよう
こうして、右ボタンで「今から帰るよー」、左ボタンで「もう少し遅くなる」、真ん中ボタンで「まだわからない」を送る、家族向け帰宅通知デバイスの制作が始まりました。
環境構築編:ESP32って何者?
🧐私:ESP32を使いたいんだけど
🤖Gemini先生:M5Stackの中身はESP32(Wi-Fi付きの小さなコンピュータ)そのものです。むき出しの基板をはんだ付けする必要がなく、USBケーブル1本でPCと繋いで開発を始められますよ
「難しそうな電子工作」を想像していた私にとって、ここが最初の安心ポイントでした。
つまずき①:ボード情報が検索してもでてこない
🧐私:M5Stackのボード情報が検索してもでてこない
🤖Gemini先生:(チェックリストを提示)まずはURLを確認してみましょう
🧐私:URLが間違ってた
自分の入力ミスだったのは地味にへこみましたが、Gemini先生が責めるでもなく淡々とチェックポイントを並べてくれたので、変に落ち込まずに次に進めました。
次回Part2では、VS Code + PlatformIOの環境構築と、学校のWi-Fi、そして今回一番の山場だったバージョン地獄「miniz.h事件」についてお届けします。