2017年07月13日 | 公開。 |
ESP-WROOM-02は、秋月電子でわずか550円で買える(2017/7月現在)Wi-Fiモジュールです。マイコンにUART経由で接続し、Wi-Fi通信用モデムとしても利用する事もできますが、ESP-WROOM-02に内蔵している32ビットマイコンに直接プログラムする事により、Wi-Fi通信機能を持ったArduino互換マイコンとして使う事もできます。
この記事では、ESP-WROOM-02にLEDを付け、Lチカ(LEDの点滅)やWi-Fiの通信機能の簡単なテストを行います。
ESP-WROOM-02とは、Espressif Systemsという中国企業が製造するWi-Fiモジュールで、これを使うとWi-fi通信を行う電子工作(いわゆるIoT的な物)が簡単にできます。写真1に、ピッチ変換基板に載ったESP-WROOM-02の写真を示します。
ESP-WROOM-02は、この写真に示すように、18mm×20mmの基板で、18ピンの端子が出ています。銀色のシールドで囲まれているため内部は見えなくなっていますが、この基板にはいくつかの部品が実装されています。それらの部品の中でも中心になる部品がESP8266というICです。
図1にESP-WROOM-02のブロック図を示します。この図から分かるように、ESP-WROOM-02は、ESP8266にWi-Fiアンテナ、クロック発振器、フラッシュメモリを接続した構成になっています。
注:図1のフラッシュメモリの容量は、4MBと2MBが併記してありますが、国内で売っている技適マークの付いたESP-WROOM-02には、4MBのフラッシュメモリが載っています。海外で売られている技適マークのないESP-WROOM-02には、2MBのフラッシュメモリが載っている場合があるので、要注意です。もっとも、技適マークのない無線機器を国内で使うのは違法ですから、必然的に4MBのフラッシュメモリが載ったESP-WROOM-02を使う事になります。
ESP-8266には、Wi-Fi通信用の回路の他、32ビットのCPU、80kBのRAM、GPIO、SPI、UARTなどのインターフェースが搭載されています。(図2のブロック図参照) ただし、アンテナや 、プログラムを書き込むためのフラッシュメモリなどが搭載されていないため、単体では内蔵CPUも動作しませんし、Wi-Fi通信もできません。より便利に使える様に、ESP-8266にフラッシュメモリ、クロック発振器、Wi-Fiアンテナを組み合わせてモジュールにし、単体で動作できる様にしたものが、ESP-WROOM-02なのです。
また、ESP-8266単体では、日本の技適をはじめとする、各国の無線機器の認証を受けていませんが、ESP-WROOM-02だと各種認証を受けているのも大きなメリットです。ESP-8266のIC単体を買ってきて、自作の回路に組み込んだのでは、その回路を使うには、自力で、日本の場合だと総務省の認証を受ける必要が法律上生じますが、時間的、金銭的、技術的な負担を考えると、個人では認証を受けるのは無理です。あらかじめ技適の認証を受けているESP-WROOM-02を買ってきて、それを自作の回路に組み込めば、趣味の電子工作でも、法的な問題なく無線機器を作る事ができます。
写真2に、ESP-WROOM-02に付いている技適マークを示します。
ESP-WROOM-02を組み込んで、Wi-Fi通信を行う電子回路を作る場合、(1)ESP-WROOM-02以外に制御用のマイコンを用意し、ESP-WROOM-02を、そのマイコンがWi-Fi通信をするためのモデムとして使用する方法と、(2)ESP-WROOM-02に内蔵しているマイコンを、Wi-Fiの制御、およびその他の周辺機器(センサ、モーターなど)の制御の両方に使う方法とがあります。この章では、これら2つの使用形態について説明します。
Arduinoなどのマイコンで制御する電子回路に、Wi-Fi通信の機能を追加するために、ESP-WROOM-02をモデムとして接続する形態について説明します。この場合、機器の接続は図3の様になります。
ESP-WROOM-02には、出荷された段階で、内蔵フラッシュメモリに、UARTから受け取ったATコマンドに従ってWi-Fiで通信を行うファームウェア(プログラム)が書き込まれています。マイコンはESP-WROOM-02に対して、UART経由でATコマンドを発行し、Wi-Fi通信を行います。
なお、ESP-WROOM-02をモデムとして利用する形態については、この記事では、これ以上詳しく取り上げません。
ESP-WROOM-02内蔵のマイコンを使って、Wi-Fiの制御と、その他の周辺機器の制御の両方に使用する形態について説明します。この場合、機器の接続は図4の様になります。
図4を図3と比べると、外部のマイコンがなくなった分、部品が減って、接続が簡単になった事が分かります。
図4の様な接続でESP-WROOM-02を利用する場合、ファームウェアを書き替えて、Wi-Fiの制御とその他の周辺機器の制御の両方をできる様にする必要があります。
ファームウェアを開発するには、Espressif Systemsが配布しているSDK(Software Development Kit; ソフトウェアの開発に必要なファイル群)を利用するのが基本なのですが、SDKを直接使って開発するには、使い慣れていない開発環境を使わなければならず、電子工作愛好者が取り組むには敷居が高いのです。
ところがESP8266 CommunityがESP8266用のArduinoコア(Arduino環境でプログラム開発をできる様にするためのファイル群)を開発してからは、Arduino IDEでESP-WROOM-02用のファームウェアを開発できるようになり、敷居が一気に下がりました。
ESP8266用のArduinoコアを使う事により、ESP-WROOM-02がWi-Fi機能を持ったArduino互換機として使えるのですが、ESP-WROOM-02が秋月電子で1個550円で買える(2017年7月現在)ことを考えると、かなりコストパフォーマンスが高いといえます。
次のページでは、ESP8266用のArduinoコアをArduino IDEにインストールする方法について説明します。