この記事では、ESP32で使えるプログラミング言語とその開発環境を紹介します。
マイコン向けに提供されたライブラリを使って効率よく自分の求めるプログラムを作成したい方向けになります。
もくじ
ESP32とは?
ESP32は、中国の上海に拠点を置くEspressif System社が2016年に開発した、低価格のIoTマイコンです。
①低消費電力、②無線機能(Wifi, bluetooth)を標準装備したことで、いっきに有名になりました。
ESP32の特徴
- 低消費電力
- 無線機能(Wifi, bluetooth)を標準装備
- リアルタイムOS対応
- 標準インタフェース搭載(I2C, SPI, PWN, UART等)
通常のマイコン機能も装備しているので、バラエティに富んだ電子工作が作れます。
何と言っても、Arduino IDEをはじめとした開発環境も整備されているため、色々な言語に対応しています。
この記事では、後ほど紹介しますESP32搭載マイコンに特化した情報をご紹介します。
プログラム実行形式
マイコンにプログラムを実行させる方法には大きく分けて3つの方法があります。
ここでは、それぞれの実行形式について紹介します。
後ほど紹介するプログラミング言語一覧でプログラミング言語を選択する上で参考になるかと思います。
単独実行型
単独実行型とは、一つのプログラミング言語仕様で全ての機能を実装できるタイプのことをさします。
代表的なプログラミング言語は、C言語になります。
全ての機能を実装できますが、比較的にコードを自分で書くことが多くなり、習得するまでかなりの時間を要します。
他言語埋め込み型
他言語組み込み型とは、作成したプログラムをコンパイル時に他のプログラミング言語に渡し、実行ファイルを作成するタイプをさします。
コンパイル時に実行ファイルを作成するプログラム言語はC言語であり、あるルールに基づいてコードを書けば概ね自動で実行プログラムを作ってくれます。
構造は複雑になりますが、C言語より細かなコードを書く必要がなくなるため、プログラマーの負荷を抑えてくれます。
対話型
対話型とは、事前にマイコン側にプログラムコードをインストールさせ、ユーザからのプログラム受信に基づいて実行されるタイプをさします。
単一命令ごとに動作を確認しながら、プログラムを作成していきたいユーザ向けの実行形式です。
ターゲットボードによって追加の手続きが必要な場合も
ESP32という同じモジュールを持っていても、ボード上に実装されている回路が異なることがあります。
例えば、あなたが自作で作成したLEDランプ回路は、言語仕様にはないので、どのピンに接続されているか等の情報をプログラムに教えてあげる必要があります。
それと同じで、ESP32の中でも回路が違うボードが存在するので注意が必要です。
プログラミング言語一覧
Arduino言語
C言語によく似た文法になっているため、C言語の基礎ができている方であれば、簡単に始められます。
言語 | Arduino言語 |
---|---|
実行形式 | 単独実行型 |
サポート元 | Arduino |
リンク先 | Arduinoの公式サイト |
C言語
基本的な機能は、Arduinoライブラリでできますが、同期処理等の細かなチューニングを使用したい場合は、FreeRTOSの機能を使うことになる。
言語 | C言語 / C++言語 |
---|---|
実行形式 | 単独実行型 |
サポート元 | Espressif |
リンク先 | ESP-IDFの公式サイト |
C#言語
リファレンスボードは、ESP32DevKitCとなっています。
Visual StudioにnanoFrameworkプラグインをインストールすれば、開発環境として使用できます。
言語 | C#言語 |
---|---|
実行形式 | 単独実行型 |
サポート元 | nano Framework Project |
リンク先 | nano Framework Projectの公式サイト |
MicroPython
言語使用はほぼ同じですが、用意されているライブラリに差異があります。
Jupyter notebookにも対応しているので、センサの挙動をトライ&エラーで確認できることが大きなメリットになります。
言語 | MicroPython |
---|---|
実行形式 | 対話型 |
サポート元 | Micro Python.org |
リンク先 | Micro Python.orgの公式サイト |
マイコン一覧
ESP32-DevKitC-32D
M5StickC
M5Stack Core2
ESP32 参考書
超特急Web接続!ESPマイコン・プログラム全集
関連記事
ESP32を使ったCAN通信
MCP2562を使った電子工作- 人気IoTマイコン【ESP32】
ESP32を使ったLEDテープの電子工作
UdemyでおすすめのPython講座をチェック!
11月21日まで最大割引価格で購入可能 : 1,800円〜