ESP32-プログラミング言語一覧

プログラミング入門

この記事では、ESP32で使えるプログラミング言語とその開発環境を紹介します。

マイコン向けに提供されたライブラリを使って効率よく自分の求めるプログラムを作成したい方向けになります。

ESP32とは?

ESP32

ESP32は、中国の上海に拠点を置くEspressif System社が2016年に開発した、低価格のIoTマイコンです。

①低消費電力、②無線機能(Wifi, bluetooth)を標準装備したことで、いっきに有名になりました。

ESP32の特徴

  1. 低消費電力
  2. 無線機能(Wifi, bluetooth)を標準装備
  3. リアルタイムOS対応
  4. 標準インタフェース搭載(I2C, SPI, PWN, UART等)

通常のマイコン機能も装備しているので、バラエティに富んだ電子工作が作れます。

何と言っても、Arduino IDEをはじめとした開発環境も整備されているため、色々な言語に対応しています。

この記事では、後ほど紹介しますESP32搭載マイコンに特化した情報をご紹介します。

プログラム実行形式

マイコンにプログラムを実行させる方法には大きく分けて3つの方法があります。

ここでは、それぞれの実行形式について紹介します。

後ほど紹介するプログラミング言語一覧でプログラミング言語を選択する上で参考になるかと思います。

単独実行型

単独実行型とは、一つのプログラミング言語仕様で全ての機能を実装できるタイプのことをさします。

代表的なプログラミング言語は、C言語になります。

全ての機能を実装できますが、比較的にコードを自分で書くことが多くなり、習得するまでかなりの時間を要します。

他言語埋め込み型

他言語組み込み型とは、作成したプログラムをコンパイル時に他のプログラミング言語に渡し、実行ファイルを作成するタイプをさします。

コンパイル時に実行ファイルを作成するプログラム言語はC言語であり、あるルールに基づいてコードを書けば概ね自動で実行プログラムを作ってくれます。

構造は複雑になりますが、C言語より細かなコードを書く必要がなくなるため、プログラマーの負荷を抑えてくれます。

対話型

対話型とは、事前にマイコン側にプログラムコードをインストールさせ、ユーザからのプログラム受信に基づいて実行されるタイプをさします。

単一命令ごとに動作を確認しながら、プログラムを作成していきたいユーザ向けの実行形式です。

ターゲットボードによって追加の手続きが必要な場合も

ターゲットボードによって追加の手続きが必要な場合も

ESP32という同じモジュールを持っていても、ボード上に実装されている回路が異なることがあります。

例えば、あなたが自作で作成したLEDランプ回路は、言語仕様にはないので、どのピンに接続されているか等の情報をプログラムに教えてあげる必要があります。

それと同じで、ESP32の中でも回路が違うボードが存在するので注意が必要です。

プログラミング言語一覧

Arduino言語

Sketchと呼ばれるArduino環境で動くプログラミング言語。
C言語によく似た文法になっているため、C言語の基礎ができている方であれば、簡単に始められます。
言語 Arduino言語
実行形式 単独実行型
サポート元 Arduino
リンク先 Arduinoの公式サイト

C言語

GNU C/C++コンパイラ, ESP-IDFを直接使う。
基本的な機能は、Arduinoライブラリでできますが、同期処理等の細かなチューニングを使用したい場合は、FreeRTOSの機能を使うことになる。
言語 C言語 / C++言語
実行形式 単独実行型
サポート元 Espressif
リンク先 ESP-IDFの公式サイト
関連記事
●【感想あり】UdemyでおすすめのC言語とC++言語講座 -スキルアップ篇【厳選!】

C#言語

.NET Micro Frameworkに基づいたマネージド・コード使用可能。
リファレンスボードは、ESP32DevKitCとなっています。
Visual StudioにnanoFrameworkプラグインをインストールすれば、開発環境として使用できます。
言語 C#言語
実行形式 単独実行型
サポート元 nano Framework Project
リンク先 nano Framework Projectの公式サイト
関連記事
●【感想あり】動画で学ぶ!UdemyでおすすめのC#講座 -スキルアップ篇

MicroPython

ESP32で動作するMicroPython処理系には、MicroPythonとLob版MicroPythonがあります。
言語使用はほぼ同じですが、用意されているライブラリに差異があります。
Jupyter notebookにも対応しているので、センサの挙動をトライ&エラーで確認できることが大きなメリットになります。
言語 MicroPython
実行形式 対話型
サポート元 Micro Python.org
リンク先 Micro Python.orgの公式サイト
関連記事
●仕事の効率が劇的に改善する!UdemyのおすすめPython講座【感想あり】

マイコン一覧

ESP32-DevKitC-32D

M5StickC

M5Stack Core2

ESP32 参考書

超特急Web接続!ESPマイコン・プログラム全集

関連記事

ESP32を使ったCAN通信

MCP2562を使った電子工作- 人気IoTマイコン【ESP32】

ESP32を使ったLEDテープの電子工作

LEDテープを使った電子工作-ESP32-

UdemyでおすすめのPython講座をチェック!

Udemy 最新キャンペーン情報(更新日:9/19)

9月21日まで割引価格で購入可能 : 2,080円〜

公式サイト⇒ 米国シリコンバレー発祥、世界最大級のオンライン学習プラットフォーム!【Udemy】

【感想あり】UdemyでおすすめのPython講座 -スキルアップ篇