wiki:ESP-WROOM-02_AT

Version 3 (modified by kishida, 5 years ago) ( diff )

--

ESP-WROOM-02をATモードで使う方法・および周辺情報の解説

スイッチサイエンスも販売している、日本で利用できるESP-WROOM-02モジュールは、 上海のESPRESSIF社が開発したESP8266EXというコントローラに32Mbit(=4MByte)のSPIフラッシュメモリが搭載されたものです。

ArduinoIDE以外の環境で開発する際は、ESPRESSIF社のドキュメントなどをよく参照する必要があります。 逆に言えば、ArduinoIDEでの開発は、あまり細かいところは気にせず使いはじめることができます。

以下の記事は、2016/09/04現在ものものです。最新版ではリンクやドキュメントが変更されている可能性があります。

資料


ATコマンドを使ってWiFIアクセスポイントにアクセスする

以下に、アクセスポイントに接続する再のATコマンドの利用例を示します。 また、実際に利用したコマンドの説明も軽く行います。 内容は、公式ドキュメントAT Instruction Setのver 2.0.0に即しています。

  1. AT+CWMODE=1 の送信
    • レスポンス:OK
  1. AT+WLAP の送信
    • アクセス可能なアクセスポイントをリストアップします。
    • レスポンス
      • +CWLAP:<ecn>, <ssid>, <rssi>, <mac>, <ch>, <freq offset>, <freq calibration>
      • OK
    • パラーメータの意味
      • <ecn> : 認証方式
        • 0 : OPEN
        • 1 : WEP
        • 2 : WPA_PSK
        • 3 : WPA2_PSK
        • 4 : WPA_WPA2_PSK
        • 5 : WPA2_Enterprise (ATコマンドからでは接続できません)
      • <ssid> : 文字列, アクセスポイントのSSID
      • <rssi> : 信号強度
      • <mac> : 文字列, アクセスポイントのMACアドレス
      • <freq offset> : アクセスポイントの周波数オフセット(いわゆるチャンネル)
      • <freq calibration> : 周波数オフセット用のキャリブレーション
  1. AT+CWDHCP_CUR=1,1の送信
    • モジュールのモードおよびDHCPによるIPアドレス振り当てを有効にします。
    • コマンド : AT+CWDHCP_CUR=<mode>, <en>
    • パラメーターの意味
      • <mode>
        • 0 : softAPモード
        • 1 : クライアント(satation)モード
        • 2 : 両方
      • <en>
        • 0 : DHCP無効
        • 1 : DHCP有効
    • レスポンス
      • OK
    • この設定はフラッシュに書き込まれません。設定を保存したい場合はAT+CWDHCP_DEFを使ってください。
  1. AT+WJAP_CUR="ssid","password"の送信
    • 接続先アクセスポイントのSSIDとパスワードを設定し、接続します。
    • コマンド : AT+CWJAP_CUR=<ssid>, <pwd>[, <bssid>]
    • パラメータの意味
      • <ssid> : 文字列, AP’s アクセスポイントのSSID
      • <pwd> : 文字列, 最大64byteのASCII
      • [<bssid>] : 文字列, アクセスポイントのSSID, 幾つかのAPが同じSSDIの場合
    • レスポンス
      • OK
    • レスポンスまでの間に以下のメッセージが流れます
      • WIFI CONNECTED
      • WIFI GOT IP
    • この設定はフラッシュに書き込まれません。設定を保存したい場合はAT+CWJAP_DEFFを使ってください。
  1. AT+CIPSTA_CUR?の送信
    • ESP-WROOM-O2に割り当てられたIPアドレスを確認します。
    • レスポンス(例)
      • +CIPSTA:ip:"192.168.11.27"
      • +CIPSTA:gateway:"192.168.11.1"
      • +CIPSTA:netmask:"255.255.255.0"
      • OK

ATモード用にFlashを書き直す

ArduinoIDEやLuaScprit用にESP-WROOM-02モージュールを設定すると、以降は基本的にその使い方をする他ありません。 ここでは、ESP-WROOM-02にATコマンド用のファームウエアを書き込む方法を解説します。 これにより、ATコマンド用ファームウェアのアップデートや、一旦Arduinoとして使ったモジュールのATコマンド用の変更ができます。

必要なもの

手順

  1. ESP8266 DOWNLOAD TOOLを開き、DonwloadPathConfigに書き込むbinファイルと書き込み先アドレスを指定してください。 ESP-WROOM-02には、(NON OS SDKのディレクトリ)\bin\at\readme.txtに記載されている設定の中の32Mbit-C1の項目を利用します。 ※32Mbit32Mbit-C1の違いについて:espressif BBS
  • \bin\boot_v1.6.bin
    • 0x00000
  • \bin\at\1024*1024\user1.2048.new.5.bin
    • 0x01000
  • \bin\esp_init_data_default.bin
    • 0x3fc000
  • \bin\blank.bin
    • 0xfe000
  • \bin\blank.bin
    • 0x3fe000
  • 左のチェックボックスをチェックし、パスとアドレスが緑になっていることを確認してください。
  1. SpiFlashConfigは、以下のように設定してください。
  • CrystalFreq : 26M
  • SPI SPEED : 40MHz
  • SPI MODE : QIO
  • FLASH SIZE : 32Mbit-C1
  1. STARTを押し、書き込みを開始します。 この時、ESP-WROOM-02は書き込みが開始されるまで何度もリセットがされます。 また、当モジュールは書き込みの際は書き込みモードで起動しなければなりません。 よって、IO0をLOWにしておくことで、自動的に書き込みモードで起動することができます。
  1. 下部のプログレスバーがいっぱいになり、FINISHと緑色の画像が表示されれば書き込みは終了です。
  1. ArduinoIDEなどシリアルモニタからATと送信しOKと返答があれば書き込みは正常に行われています。
    • 改行コードはCR*LF、レートは115200bpsにしてください。
Note: See TracWiki for help on using the wiki.