ESP-WROOM-02でWiFi通信パート1

〔パート2〕 〔FlashAir〕 〔マイコンのトップに戻る〕


ESP-WROOM-02は、UART通信でマイコンやPCと接続出来る技適済みで安価なWiFiモジュールです。
ESP-WROOM-02は、GPIO/SPI/I2C/UART/I2S/IrDA/PWM/ADC等のインターフェースが内蔵されて
います、ですのでこれらを生かすプログラムを開発し、ESP-WROOM-02に書込んでやれば
色々使えそうです。(ただぁ、開発した場合にどの程度までなら"技適"に触れないかがちょいとぉ不明)

ESP8266公式フォーラム」にアクセスすれば開発する為の”SDK”がダウンロード出来ます。
また、こちらの"azusa9"さんのブログを読めば、ArduinoIDEで簡単に開発出来る様です。

ESP-WROOM-02には最初から"ATコマンド"にて操作出来る様なファームウエアが書込まれています、
これで大体の事は出来ますが、GPIO等にはアクセスできない様です。
(プログラムを開発して書込めば、書込まれているファームウエアは消えます注意しましょう)

ここでは、下記の2パターンについての実験記事を書きます、開発には触れません。

実験1
マイコン(PIC)とPC間であたかもUART通信を行っているかの様に動作します。

実験1の概念図


実験2
PCやネットに繋がる携帯等のブラウザソフトからマイコン(PIC)に文字を送ります。

実験2の概念図


実験1・2の記事は次ページ・パート2で書きます、
このページではESP-WROOM-02の動作確認と必要なソフトのダウンロード編です。


以下に、ESP8266EXを搭載したWiFiモジュールの端子構成を記します。
このモジュールは、こちら(秋月電子)等で購入可能です。

ESP8266EX(ESP-WROOM-02)の端子配列一覧表
端子
番号
端子名称 端子の機能
3V3 3.0V〜3.6Vまでの+電源(VDD)
EN VDDに接続する事によりチップが動作します
IO14 GPIO14/CLK(SPI)/SCL(I2C)/IR_T(赤外線38KHz)/I2SI_WS
IO12 GPIO12/MISO(SPI)/PWM/I2SI_DATA
IO13 GPIO13/MOSI(SPI)/CTS(UART0)/PWM/I2SI_BCK
IO15 GPIO15/CS(SPI)/RTS(UART0)/PWM/I2SO_BCK
IO2 GPIO2/TXD(UART1)/SDA(I2C)/I2SO_WS UART1はこのTXDのみ
IO0 GPIO0
GND GND
10 IO4 GPIO4
11 RXD RXD(UART0)/GPIO3/I2SO_DATA ここにマイコン/PCは接続する
12 TXD TXD(UART0)/GPIO1         ここにマイコン/PCは接続する
13 GND GND
14 IO5 GPIO5/IR_R
15 RST リセット、通常はVDD、LOW(GND)でリセットが掛かる
16 TOUT 入力電源電圧をテスト(ADC?)する為に使用する事が出来る(不明)
17 IO16 GPIO16(スリープから目覚める場合にも使用する)
18 GND GND
背景に色が付いている端子は最低限接続します。

起動モード表  左表は、チップが起動する時のモードです。
 上表のオレンジ色背景の部分で行います。
 LowはGNDHighはVDDに接続します。

 チップに書込まれているプログラムで動作させる場合は、
 本体ブートモードです。

 開発したプログラムをチップに書き込む場合は、ファームウエアダウンロードモードです。

購入した物には、予め"ATコマンド"で動作させるファームウエアが書込まれています
本体ブートモードで起動可能です、何方のモードでも接続はTXD/RXDのUART通信で行います

ESP-WROOM02モジュールのピン構成図 左図は、ESP-WROOM-02をピッチ変換基板に
取付けたモジュールで、こちらで購入出来ます。
(2020/3現在こちらに切換っています。)

このモジュールは起動モードの選択が
ジャンパーピンで出来る様になっているので
意外と便利かもです。

GPIO15/2/0ピンは、自分でプログラムを開発する場合に出力ピンとする事も出来ます、
その場合直接3.3VやGNDと接続していると大きな電流が流れてしまう場合が有り、それを防止する為に
10kΩ抵抗をジャンパーの代わりに使う事も出来ます。

《動作確認》

動作確認の概念図
動作確認の概念図です。


配線図  左は動作確認用の実態配線図です。
 USB電源は使用せず、必ず外部電源3.3Vを使って下さい。

 FT234X使用の超小型USBシリアル変換モジュール
 使っています。
 これのUSBドライバインストール等の記事はこちら
 参考にして下さい。

 ピンの配列は、左から[5V][GND][TXD][RXD]の順。

 他のESP-WROOM-02モジュールを使う場合、
 ピンを[GPIO15=Low] [GPIO2=High] [GPIO0=High][EN=High] [RST=High] に配線を忘れずに
 しましょう。(上モジュールなら、ジャンパーピン設定を忘れずに)

上のモジュールはブレッドボードで扱うには少々厳しいですね、モジュール周りを配線した後に
モジュールを挿せば何とか配線出来るでしょう。
ブレッドボードで色々実験&開発するなら、こちら(秋月電子)の変換基板付きが配線しやすそうですね。

@配線完了したらUSBケーブルでPCに接続します。

Aターミナルソフトを115200bps(デフォルト)のボーレートで起動させましょう。
  ("ATコマンド"を発行させればボーレートの変更は可能です)
  ここでは、ArduinoIDEが簡単に操作できるのでArduinoIDEのシリアルモニタ画面で説明します。

Bメニュバーの「ツール」→「ポート」を順番にクリックして、USBシリアル変換モジュール用の
  インストールしたドライバCOMポートを選びます。

ArduinoIDE画面1

C次にシリアルモニタを起動させます。(上図の赤い所クリック)

ArduinoIDE画面2  D左画面の右下で設定します。
   [115200bps]にボーレートを設定、
   [CRおよびLF]を選択します。
   "自動スクロール"はチェックします。

 E"AT"を送って見ましょう
   "OK"が返ればモジュールは動作して
   います

 "AT"コマンドでの操作となります。
 "AT + xxxx [CR][LF]"
 とコマンドは必ず、[CR][LF]を付けます。

 コマンドが違っていると"ERROR"が返ります。

ArduinoIDE画面3
 Fこんどは、"AT+GMR"を入力して下さい。
   左の様にバージョンが表示されます。

 これで動作確認終了とします。


ESP-WROOM-02モジュールは、電源ON時とリセット時に"76.8kbps"の通信速度で
  起動メッセージが送られて来ますが、無視してもかまわないでしょう。
  この後に通常速度("115.2kbps")で"ready"文字が来ます。

《ダウンロードするソフトについて》

HW VSP3 - Virtual Serial Port」を次ページで使用するのでダウンロードして置きましょう。
これは、仮想COMポートソフトウエアで、WiFi通信を従来のRS232C通信と同様のCOMポート通信
してくれる物です。

@ここのサイトを表示させます。
  [DOWNLOAD & Links]の項が少し下右側に有るので、”HW VSP:Singleportx.x.x”をクリックして
  ダウンロードします。
  (ただぁ、"Windows"版しか見当たらない様な気がぁ......)

Aダウンロードしたファイルを実行させインストールします。
インストール画面
 左の画面が表示されたなら、
 左の様に"Client-Server installation"が選択されている事を
 確認し、インストールを続けて下さい。

《その他》

ここで利用したESP-WROOM-02モジュールは、こちらこちらのマイクロテクニカから購入した物ですが
このページの最後に英語ですが”データシート”や”ATコマンド集”に”ESP8266公式フォーラムサイト”
等のリンクが有るので参照すれば良いでしょう。
また、マイクロテクニカが作成したらしい日本語の”簡易マニュアル”がダウンロード出来るのですがぁ
このPDFファイルはパスワードが掛かっています、製品を購入した伝票にパスワードが書いて有る。
色々な操作方法が書いて有って解りやすいのですがぁ.......


起動時のモードピンはGPIOピンとは別に分けてほしかったなぁ、
しかもモードピンは1本で良くないかい?

SDカードの"FlashAirを買って見た"の記事はこちらを参照下さい。



リンク切れ見直し(*1) 2020/03/14


【きむ茶工房ガレージハウス】
Copyright (C) 2006-2020 Shigehiro Kimura All Rights Reserved.