遅ればせながらESP32 DevKitでホビー開始

これまで、ArduinoやESP8266、Raspberry Piで、いろいろ遊んできましたが、当面の目的にはESP32が最も適していそうなので、しばらくESP32に集中してみることにします。

やりたいこと

  • ESP32を搭載したDevKit(秋月電子購入品)をまずは入門として使う。
  • ESP32でセンサー(複数台)準備。通信はワイヤレス
  • ESP32でゲートウエイ(一台)センサーとの通信は、ワイヤレス
  • ワイヤレスとしては、WiFiとBLEの選択可
  • WIFIの場合、まずはSSIDとパスワードをコード内埋め込みから。
  • IP固定あるいはDHCP
  • 外部のAPを使う方法と、SoftAPでESP32自身をAPとしてつなぐ方法もトライ
  • サーバー側のUSBにPCをホストとしてつなぐ
  • ホストのPCでセンサー結果を表示、あるいは制御
  • Blynkを使ったリモート制御とブラウザを使ったリモート制御の選択可
  • ESP32への電源供給はそれぞれUSB端子から
  • センサーは、各種(GPIO、温度、湿度、気圧、GPS、光、音、動き・・・・)
  • 制御は各種(GPIO、LED、モーター、音・・・)
  • PC側のソフトは、VCあるいはVBあるいは、Python
  • ESP32のソフトはCを基本とする
  • ESP32の開発環境はArduino IDEとする
  • 気軽に持ち運べるツールとして実現する。必要に応じて基板を作成する
  • 極力センサー側では処理、計算等を行わず、極力、知的処理はサーバー側に置く

概念はこんな感じ。

IMG_20190609_223716

先々、いろんなセンサーやいろんな制御へ拡大できるようにしておくつもり。

また、セキュリティー面もおいおい考慮していく必要があります。

工場内等での通信環境が不安定な際に必要なMESHやマルチホップの対応は、ESP32では行わず、別のプラットフォームも調査していく予定です。

IOT概念

これまでのESP32トライ

これまでにも、ESP32の単体モジュールを買って、アダプター基板にはんだ付けしたり、3.3Vのシリアルアダプターをつないでプログラムを書き込んだり、Deep Sleepモードを試して単体でどこまで省エネ出来るか試したり、WiFi経由でのソフトウエア更新を試してみたり……と、遊んできましたが、正直、自分で周辺回路をはんだ付けするのが億劫になってきたのと、超低消費電力の用途以外であれば、DevKitを使ったほうが、断然便利そうなので、しばらくは、こちらを使って遊んでみようと思います。

EN端子やIO0端子に対する書き込み時の制御も、この基板だとArduinoと同様に自動でできるらしいので。

ということで、秋月電子の通販で、先ず、DevKitC を5個、注文しました。

早く届け〜!!

開発環境の選択

ハードウエアが到着する前に、開発環境を整備します。ESP32の開発環境としては、いくつか用意されています。このページに比較記事があります。

ESP-IDF

ESP32の公式開発フレームワークは、ESP-IDF (Espressif IoT Development Framework)のようです。C++で書いて、makeでコンパイルや書き込みを行う環境です。すべての機能にアクセスできますが、IDEでは無いので、とっつきにくいようです。ベースにESP-IDFを使いつつ、IDEとしては別にEclipseやVisual Studioを使う方法もあるようです。

Arduino Core for the ESP32

ESP32の開発環境としては最もメジャーなやり方のようです。ESP32のすべての機能を活かせるかどうかはよくわかりませんが、IoTの入門としてはこれが一番とっつきやすそうです。私は、Arduinoの開発でArduino IDEを使っていたので慣れていることもあり、これを使うことにします。Cで書いて、ArduinoのIDE上でコンパイルから書き込み、実行でき、またシリアルモニターも一体化しているので便利に使えるようです。

その他

スクリプト系ではPython、Lua、JavaScriptで開発ができるようです。また、ForthやBASICでも開発できるようですが、メジャーでは無いので私の選択候補からは外しておきます。

Arduino Core for ESP32の準備

このページを参照にして、環境を準備してみます。

Arduino IDEは、Arduinoのページからインストールすれば良し。私のPCのArduino IDEのバージョンは1.8.5で、最新では無いため、今、久しぶりに起動してみたら、新しいバージョンのダウンロードを促されました。Windows用の1.8.9をダウンロードして実行すると、今のバージョンをアンインストールする必要があるとのこと。念の為に、自分で作ったファイルがこのフォルダーには無いことを確認した上で、続行しました。最後まで終了したので大丈夫でしょう。

imageimage

再度、Arduino IDEを立ち上げたら、ちゃんと 1.8.9になり、かつ以前のスケッチが表示されたので大丈夫でしょう。

image

次に、Board Managerを使って ESP32の設定をします。「環境設定」の「追加のボードマネージャのURL」に、https://dl.espressif.com/dl/package_esp32_index.jsonと入力してOKし、ボードマネージャの検索窓にESP32と入力すると以下の画面になります。

1.02が最新(安定版として)のようなので、これをインストールすると、ちょっと時間を要したけれど無事終了しました。ツールのボード選択画面から、ESP32 Dev Moduleを選択して終了です。

image

ESP32のボード設定にいろいろオプションがありますが、ここから先は、基板が到着してからにします。

image

動作テストへ続く

シェアする

  • このエントリーをはてなブックマークに追加

フォローする