IoT のための電子工作入門

ホーム > ESP8266 > はじめての ESP-01 プログラミング

はじめての ESP-01 プログラミング

ここでは ESP8266 のバリエーションの中でも特に ESP-01 の使い方について説明します。

ESP-01 は AI-Thinker 社が開発した小型の Wifi モジュールです。

Espressif 社の Wifi モジュールである ESP8266 を装備していて、サイズは 14.3mm × 24.8mm です。

ESP-01 も NodeMCU と同様に Arduino IDE を用いて、プログラム可能です。

このページでは ESP-01 の最初のプロジェクトとして、LED を点滅させるだけの簡単な例を用いて説明します。

ESP-01 の利用方法

ESP-01 は次のように 8 本のピンがあります。動作電圧は 3.3V です。

プログラム時は GPIO0 を LOW にします。

通常動作時は CH_PD、RST、VCC、GPIO0 の 4 本を HIGH とします。

通常動作時には TX と RX はそれぞれ GPIO の 1 番、3番として使えます。

ESP-01 へのプログラムのアップロード

PC 上の Arduino IDE からプログラムを ESP-01 にアップロードする時は、 FT232RL FTDI USBーTTL シリアル変換アダプタを使うのが便利です。

アダプタの利用には FTDI の VCP (仮想 COM ポート) ドライバーまたは D2XX ダイレクトドライバーが必要です。通常は VCP ドライバーを使います。

最新の Linux では VCP ドライバーはカーネルに既に組み込まれています。アダプタを接続した時に /dev/ttyUSBx としてみえるのが VCP です。

尚、Linux でドライバーの確認をするには、アダプタを USB に接続した上で次のコマンドを実行します。

$dmesg | grep FTDI

"FTDI USB Serial Device converter detected " などと表示されるはずです。

ESP-01 の動作電圧は 3.3V なので、アダプタのジャンパー設定で 3.3V にしてください。

プログラムアップロード時のアダプターとの接続は次の通り。

Arduino IDE でのボード設定及びその他の設定は次の設定で成功しました。

ボードの設定で ESP8266 が表示されない場合は、「Arduino IDE を用いて ESP8266 (NodeMCU) で開発を行う環境設定」を参考に、ボードマネージャの設定を行ってください。

実際の接続の様子は次のようになります。

実行例 LED の点滅

それではここで、簡単な動作例として LED を点滅させるプログラムを記述します。

ここでは GPIO1 (TX) をデジタル出力にピンモードを設定し、1 秒間隔で HIGH と LOW を繰り替えしています。

void setup() {
  pinMode(1, OUTPUT);
}

void loop() {
  digitalWrite(1, HIGH);
  delay(1000);
  digitalWrite(1, LOW);
  delay(1000);
}

GPIO1 からは次の通り。

ブレッドボードに接続して、3.3V の別途電圧源に接続して動作確認しました。

点滅の消灯時時の写真になってしまいましたが、LED は点滅しています。

尚、私のテスト時はアップロード時のボーレート設定で 9600 bps としたとき、アップロードに失敗したらしく、点滅しないことがありました。 その時は点灯のまま。特にエラーメッセージも表示されませんでしたが、Arduino IDE のアップロードのインジケータが 100% となりませんでした。 同様の問題が発生した時はボーレート設定を変えて試す等するとよいかもしれません。

以上で ESP-01 のプログラム方法と簡単な動作例を紹介しました。

ホーム > ESP8266 > はじめての ESP-01 プログラミング