●ESPマイコン( ESP-WROOM-02 )を 使ってみよう
お手頃で、安価な、マイコン ………
ESP8266EX( 32bit MCU )搭載の wifi通信が可能な
ESPマイコンモジュール( ESP-WROOM-02 )を、試してみることにしました。
【 Wi-Fiモジュール ESP-WROOM-02 】
■主な仕様
・電源電圧 :3.0~3.6V
・消費電流 :平均80mA
・対応WiFiプロトコル:802.11b/g/n(2.4GHz)
・サイズ :18mm×20mm×3mm
・端子ピッチ :1.5mm
・Wi-Fiモード :station/softAP/SoftAP+station
・セキュリティ :WPA/WPA2
・暗号化 :WEP/TKIP/AES
・内蔵フラッシュ :4メガバイト(32メガビット)
( ESP-WROOM-02 の WiFiモード )
・WIFI_STA : ステーションモード ( 無線LAN子機 )
・WIFI_AP : アクセスポイントモード ( 無線LAN親機 )
・WIFI_AP_STA : WIFI_STA + WIFI_APの混合モード
・WIFI_OFF : WiFi機能 オフ
●オープンソース の Arduino ………
Arduino ( アルデュイーノ ) のプログラムを書き込んで
AVRマイコン ( Arduino互換 ) としても使えるようです。
PICより、使いやすいとのことですので、とても興味があります。
プログラミング言語は、C言語系の 「 Arduino 言語 」です。
また、プログラムのことを、写生図や下絵を意味する
「 スケッチ 」 と呼ばれています。
・
・
・
・
・
●開発ボードです。
ESPマイコンモジュール( ESP-WROOM-02 )と
USBシリアルインターフェース搭載の小型ユニットです。
・統合開発環境( Arduino IDE )で、プログラム開発ができる。(無料)
・プログラム書き込み機能が装備されているので、専用ライタは不要である。
【 ESP-WROOM-02 開発ボード 】
パソコンとUSBケーブルで接続して、Arduino言語のプログラム構築に
伴う開発作業が行えますので、とても便利なユニットです。
●パソコンにUSB接続しました。
・USBケーブル
USB2.0 Aオス−マイクロBオス 0.3m A−microB
●ピンアサインです。……… クリックすれば、拡大します。
【 Wi-Fiモジュール ESP-WROOM-02 】 ………18 ピン
【 ESP-WROOM-02 開発ボード 】 ……… 20 ピン
→ 2ピン( 5V入力、CBUSO端子 )増設されている。
・
・ ■■■ Arduino 統合開発環境( Arduino IDE ) ■■■
・
・ パソコン ( Windows ) 環境下
・
●パソコン ( Windows 10 ) にセットアップです。
Arduino公式サイトからダウンロードです。
https://www.arduino.cc/en/Main/Software
■インストールできました。
Arduino 統合開発環境で、Arduino言語のプログラムを構築します。
【1】スケッチの作成
【2】スケッチの書き込み
・
・ ●PC( Windows )の環境で ………
・
・ 「 Arduino IDE 」の設定です。
・
●「 Arduino IDE 」を起動する。
デスクトップの「 Arduino IDE 」アイコンを、ダブルクリックする。
↓
●起動後の初期画面です。
●環境設定です。
【 ファイル 】→【 環境設定 】→【 設定 】
・スケッチブックの場所 : C:\07-Arduino *任意
・追加のボードマネージャのURL :
http://arduino.esp8266.com/stable/package_esp8266com_index.json
・直接編集できる設定ファイルです。
C:\Users\User\Documents\ArduinoData\preferences.txt
●ESP-WROOM-02用コアライブラリのインストールです。
【 ツール 】→【 ボード 】→【 ボードマネージャ 】で
「 esp8266 by ESP8266 Community 」を選択する
→ この設定で、良いのかしら (^^?
●ボードの最新バージョンがインストールされているのか?
【 ツール 】→【 ボード: "Generic ESP8266 Module" 】→【 ボードマネージャ 】
→ 最新バージョンがインストールされていますので … OKです。
●個別ライブラリを追加登録する方法
■該当分を、ダウンロード( zipファイル )して解凍します。
■ライブラリ本体(解凍後)のフォルダごとコピーして登録する。
*登録(コピー)先フォルダ … libraries
C:\07-Arduino\libraries
■Arduino IDE画面【 ライブラリをインクルード 】操作でも…
・「 zipファイル 」形式で登録できます。
●Arduino IDE の フォルダ構成
■ArduinoIDE本体( ArdunData )
C:\Users\User\OneDrive\ドキュメント\ArduinoData
■ボード&設定情報( preferences.txt )
C:\Users\User\OneDrive\ドキュメント\ArduinoData\preferences.txt
■スケッチブック( 07-Arduino )
C:\07-Arduino
■ライブラリ( libraries )
C:\07-Arduino\libraries
*クラウドストレージ( OneDrive )を使用しています。
・
・
・ ●ATコマンドで、動作確認します。
・
・
●応答確認です。
【 ツール 】→【 シリアルモニタ 】で、ATコマンドを入力する。
・コマンド : AT
・改行 : CRおよびLF
・速度 : 115200 bps
●ATコマンド( 応答確認 )の実行結果です。
→ 応答確認 OKです。
●ATコマンド( SDKの情報 )、( IP、アクセスポイント情報 )の確認です。
・SDKの情報 : AT+GMR
・IP、アクセスポイント情報 : AT+CIFSR
→ 動作確認 OKです。
・
・
・
・
・
●基板が丸出しでは、壊れそうなので ………
【 ESP-WROOM-02 開発ボード 】を、ケースの中に入れました。
→ お手軽に作りましたが、いいかも
・
・ ●Arduino IDEの操作を、確認したいので ………
・
・ 簡単なスケッチを作成しての試行です。
・
●プログラム作りの流れ
【1】スケッチの作成
・Arduino言語で作成したスケッチ(プログラムソース)を
コンパイルして実行形式のスケッチ(プログラム)を生成する。
*スケッチ(プログラムソース)は、パソコンに保存できるので
必要な時に読み込んで作業する。
【2】スケッチの書き込み
・実行形式スケッチをESPマイコン ( ESP-WROOM-02 ) に書き込む。
【3】スケッチの実行
・ESPマイコンに格納した実行形式スケッチを実行する。
(電源を切らない限り動き続けます。)
●スケッチの内容です。
void setup()
{
pinMode (16, OUTPUT);
}
void loop()
{
digitalWrite (16, HIGH);
delay(500);
digitalWrite (16, LOW);
delay(500);
}
●起動後の初期画面です。
●選択するボードですが ……… これで、良いのかしら (^^?
ツール > ボード > ESP8266 Boards(2.7.4) > Generic ESP8266 Module
・
・
・ 【1】スケッチの作成
・
・
@ 動作確認用のスケッチを画面入力しました。
・【 検証 】ボタンを押下する。
A 検証中の状態です。……… コンパイルしています。
B 検証の完了です。……… コンパイル(OK)です。
・
・
・ 【2】スケッチの書き込み
・
・
C 開発ボードを … パソコンにUSB接続します。
D 2種類の スイッチ ボタン操作で … 書き込み可能状態にする。
E 書き込む
【 マイコンボードに書き込む 】ボタンを押下する。
F 書き込みが完了しました。
●実行ログです。……… クリックすれば、拡大します。
→ 実行ログは長いので、最後の部分を表示しました。
(参考)ATコマンドが使えなくなりますが ………
ESP-WROOM-02は、1回でも、スケッチが書き込まれた状態になると
ATコマンドが使えなくなりますが、再度、ファームウェアを書き直すことで
再び、ATコマンドが使える状態に戻るそうです。
・
・
・ 【3】スケッチの実行
・
・
G 書き込みが完了後 … 自動的にスケッチが実行される ?
・自動実行されない場合は ………
【 RST 】 ボタンを押下して実行させます。
・消灯している状態です。
↓
・点灯している状態です。
→ LED点滅 ( ●点灯 ⇔ ○消灯 )していますので … OKです。
・
・
・
・
・
●本体の電源投入時に、格納スケッチが実行されますが ………
スケッチ(プログラム)開発作業途中では
何かと不安定な環境の状態を作りますので
リセットして、格納スケッチを実行させて方が良い感じです。
(リセット方法)
・【 RST 】スイッチ ボタンを押下します。
・
・
・
・
・
●感想
・WiFi( 2.4GHz )内蔵のESPマイコン( ESP-WROOM-02 )は ………
「 Arduino 言語 」で、プログラミングもできますので
活用の幅も広くなり、とても優れている市販品と思われます。
・PICとの連動による、新たな処理形式の可能性も考えられます。
また、これを機会に、IoT(モノのインターネット)系分野などに
触れるかもしれませんが、あくまでも、ホビー用途で使ってみます。
●スイッチボタン操作で 「 書き込み 」 可能状態にすると ………
LEDが点灯しているピンがあります。 ( IO0 IO12 IO15 IO16 )
*GPIOピン ( 9本 ) に、LED接続した状態で確認です。
→ 「 書き込み 」 が完了すれば、該当のLEDが消灯します。
・
・
・
・
・
●スイッチボタン ( ON ) が、不安定になりました。
【 書き込みモード 】 にする時に、スイッチボタンを押下しますが
極太い指の指圧パワーで、基板ごと、押し潰しての操作になります。
ピン留め部分が、接触不良を起こしているようですので
基板外に、スイッチボタンを付け加えることにしました。
●接続確認 ……… 動作OKです。
【 青 】PGM ボタン ……… Boot ( 起動 )
【 赤 】RST ボタン ……… EN ( リセット )
→ 接触不良もなくなり、安定していますが …… こんな方法でも、いいのかしら ?
■スケッチを【書き込み】可能な状態にする … ボタン操作です。
・
・
・
・
・
●プログラムから ……… アナログ出力してみました。
analogWrite ( Pin , Val )
・PWM値 ( 255 ) → 出力電圧 ( 0.4V )
・PWM値 ( 511 ) → 出力電圧 ( 1.0V )
・PWM値 ( 800 ) → 出力電圧 ( 1.6V )
・PWM値 ( 900 ) → 出力電圧 ( 1.9V )
・PWM値 ( 1000 ) → 出力電圧 ( 2.1V )
・PWM値 ( 1023 ) → 出力電圧 ( 2.1V )
・PWM値 ( 2047 ) → 出力電圧 ( 2.1V )
・
・
・
・
・