Changes between Version 3 and Version 4 of ESP-WROOM-02_AT


Ignore:
Timestamp:
Sep 15, 2016 5:37:02 PM (8 years ago)
Author:
kishida
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ESP-WROOM-02_AT

    v3 v4  
    2323内容は、公式ドキュメント`AT Instruction Set`のver 2.0.0に即しています。
    2424
    25  1. `AT+CWMODE=1` の送信
     25 1. `AT+CWMODE_CUR=1` の送信
    2626    * レスポンス:`OK`
    27 
    28  2. `AT+WLAP` の送信
     27    * この設定はフラッシュに書き込まれません。設定を保存したい場合は`AT+CWMODE_DEF`を使ってください。
     28
     29 2. `AT+CWLAP` の送信
    2930    * アクセス可能なアクセスポイントをリストアップします。
    3031    * レスポンス
     
    6061    * この設定はフラッシュに書き込まれません。設定を保存したい場合は`AT+CWDHCP_DEF`を使ってください。
    6162
    62  4. `AT+WJAP_CUR="ssid","password"`の送信
     63 4. `AT+CWJAP_CUR="ssid","password"`の送信
    6364    * 接続先アクセスポイントのSSIDとパスワードを設定し、接続します。
    6465    * コマンド : `AT+CWJAP_CUR=<ssid>, <pwd>[, <bssid>]`
     
    8283      * OK
    8384
     85 以上の流れを、例えばSSIDがmyAP、パスワードがmypasswordのアクセスポイントに対して接続する場合で示すと以下のようになります。
     86 {{{
     87ready
     88AT
     89
     90
     91OK
     92AT+CWMODE_CUR=1
     93
     94
     95OK
     96
     97AT+CWLAP
     98
     99+CWLAP:(3,"myAP",-37,"02:1a:11:f6:e2:68",11,26,0)
     100
     101OK
     102AT+CWDHCP_CUR=1,1
     103
     104
     105OK
     106AT+CWJAP_CUR="myAP","mypassword"
     107
     108WIFI CONNECTED
     109WIFI GOT IP
     110
     111OK
     112AT+CIPSTA_CUR?
     113
     114+CIPSTA_CUR:ip:"192.168.43.40"
     115+CIPSTA_CUR:gateway:"192.168.43.1"
     116+CIPSTA_CUR:netmask:"255.255.255.0"
     117
     118OK
     119}}}
     120最小限のコマンドは、
     121 1. AT+CWMODEでモードを変更する
     122 2. AT+CWJAPでアクセス先を指定する
     123の二段階です。
     124
     125=== ATコマンドでIP通信ができることを確認する ===
     126
     127せっかくなのでHTTPプロトコルにのっとってWEBページのデータを持ってこようと思います。今回はパソコンにpythonで簡易HTTPサーバーを立てて、そこにESP-WROOM-02でアクセスします。
     128パソコンに入っているPythonが2.7系であれば、`pyhton -m SimpleHTTPServer`を利用しHTTPサーバーを立てます。3系や他の言語の場合、それに従ってください。
     129
     130今回は、ポート8000、パソコンのローカルIPアドレスは192.168.0.9とします。また、シリアルモニタはArduinoIDE付属のものを利用しています。通信速度は115200bps、改行はCR+LF。
     131
     132
     133__もし自分の管理外のサーバーに対してアクセスをする際は最大限の注意を払ってください。以下の情報を利用することで発生したいかなる損害等に対しても責任を負いません。__
     134
     135 1. `AT+CWMODE_CUR=1` を送信し、クライアントモードを有効にします。
     136 2. `AT+CWJAP_DEF="ssid","pass"` を送信し、アクセスポイントにアクセスします。
     137 3. `AT+CIPSTART="TCP","192.168.0.9",8000` を送信し、192.168.0.9:8000にTCP接続します。
     138 4. `AT+CIPSEND=21` を送信し、送信するデータの準備に入ります。
     139 5. `GET / HTTP/1.1`を送信
     140 6. 空白のままEnterを押します。5.と合わせて送信データが合計18文字になるので、自動的に送信されます。
     141
     142 ここまでが正しく行われている場合、サーバー側に以下のデータが送られます。
     143 {{{
     144GET / HTTP/1.1<CR><LF>
     145<CR><LF>
     146}}}
     147 よって、サーバー側のアプリケーション(今回はpyhtonのSimpleHTTPServer)は所定の動作を行うはずです。今回は以下の様な応答がありました。
     148{{{
     149HTTP/1.0 200 OK
     150
     151Server: SimpleHTTP/0.6 Python/2.7.12
     152Date: Thu, 15 Sep 2016 08:16:14 GMT
     153Content-type: text/html; charset=mbcs
     154Content-Length: 3170
     155
     156<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"><html>
     157<title>Directory listing for /</title>
     158<body>
     159<h2>Directory listing for /</h2>
     160<hr>
     161<ul>
     162(中略)
     163</ul>
     164<hr>
     165</body>
     166</html>
     167CLOSED
     168}}}
     169 簡素な通信内容ですが、TCP/IP関連の動作が確認できます。
    84170
    85171