[ESP32]IoTマイコンを動かしてみる -下調べ編‐

これだけ渡された…

「買ったはいいんだけど時間がないから代わりに動かしてみて」と依頼があったので動かしてみる。

以前Arduino+XBeeでIoT的なものを作ろうとしてたけどパーツだけ買って挫折。

思い出した。XBeeのピッチ変換基板のはんだ付けをミスって、使えなくはないんだけど配線がわけわかんなくなってフェードアウトしたのだった。

さて、ESP32は挫折せずに使いこなせるか。まずは下調べ。


ESP32とは?

ラズパイ、Arduinoに続く新定番ESP

ってモジュールと一緒に渡された本に書いてありました。

ESP32ってのはSoCの名前で、フラッシュメモリとかオシレータとか組み込んでモジュール化したのがESP-WROOM-32というらしい。

そういえば前にArduinoで無線通信したいなーと調べているときにWROOMほにゃららって見かけた気がする。

Arduino単品だと無線は使えないのでこういったモジュールと組み合わせる必要がある、と。前に調べてヒットしたのはこれの前世代のESP-WROOM-02だったと思う。

IoTなものを作るのに最適なマイコン

IoT特化という感じでWiFi, Bluetooth使えます、消費電力少ないです、省スペースですってところが売りみたい。

しかも安いくせにCPUはデュアルコアで性能は(Arduinoよりも)高い。ラズパイはLinuxなので比較対象としては置いておくとして、無線機能が必須ならArduino買うよりもESP32の方が適しているかも。

用意するもの(ハードウェア)

  • ESP-DevKitC
  • パソコン(今回はWindows10)
  • ↑をつなぐmicroUSBケーブル
  • その他必要に応じてブレッドボードなど

ESP-WROOM-32にUSB-シリアル変換回路などを組み込んだのが開発用のESP-DevKitC。これのV4が渡されたモジュールの正体のようだ。こんなちっこいボードだけ渡されて書き込み用の基板とか用意しなきゃいけないのでは…と思ってごめん。USBでつなぐだけで即開発可能でした。

開発ボードも色々種類が出ているみたいですが、ボードひっくり返したら素直にESP-DevKitC-V4って書いてあったので助かった。データシートとかもらってないから一次ソースも当たれると安心。

↓のリンクが今出てるボードの種類とか詳しい。今後もたびたび参照するかも。

「とりあえず動かしてみる」のゴール

「動かしてみて」とは

素性が分かったところで続いては「動かしてみて」の真意を深掘り。プログラミングでいうところのHello,world的な、いわゆるLチカ(LEDを点灯させるプログラム)ができればとりあえず「動いている」。

が、IoTとか言うのであればLチカでは物足りない。

想定するシステム

話を聞いてみるに、とあるデバイスの故障個所を手動でプローブさして検査しているところを自動化できれば、ということを想定しているみたい。IoTとしてはベタな故障検知システム的な感じを想定。入力ピンはたくさんあるのでHigh/Lowを検知できればよいだろう。

IoTとか言うくらいなのでInternetと繋がっていて、通信はWiFiとか、せっかくなのでBluetoothも使う想定で。

省電力化とかどんなセンサー使うかとかは今回はスコープ外でよいかな。

らふすけっち

  1. WiFiでルータと接続
  2. ルータ経由でLAN内のPCと相互通信(ESP32からの情報通知&PCからの情報取得)
  3. Bluetoothでスマホと通信
  4. インターネットから情報取得
  5. クラウドサービスに情報通知
  6. センサから情報取得(内蔵センサ、手持ちのセンサ)
  7. LCDに状態表示

こんな感じか。

絵を描いてたら力つきたので詳細はまた次回。

まとめ

とりあえず何ができそうかという所と大雑把な方向性は見えてきた。

次回はシステムの詳細と開発環境についてまとめたい。

おやすみなさい。