| 85 | 以上の流れを、例えばSSIDがmyAP、パスワードがmypasswordのアクセスポイントに対して接続する場合で示すと以下のようになります。 |
| 86 | {{{ |
| 87 | ready |
| 88 | AT |
| 89 | |
| 90 | |
| 91 | OK |
| 92 | AT+CWMODE_CUR=1 |
| 93 | |
| 94 | |
| 95 | OK |
| 96 | |
| 97 | AT+CWLAP |
| 98 | |
| 99 | +CWLAP:(3,"myAP",-37,"02:1a:11:f6:e2:68",11,26,0) |
| 100 | |
| 101 | OK |
| 102 | AT+CWDHCP_CUR=1,1 |
| 103 | |
| 104 | |
| 105 | OK |
| 106 | AT+CWJAP_CUR="myAP","mypassword" |
| 107 | |
| 108 | WIFI CONNECTED |
| 109 | WIFI GOT IP |
| 110 | |
| 111 | OK |
| 112 | AT+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 | |
| 118 | OK |
| 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 | {{{ |
| 144 | GET / HTTP/1.1<CR><LF> |
| 145 | <CR><LF> |
| 146 | }}} |
| 147 | よって、サーバー側のアプリケーション(今回はpyhtonのSimpleHTTPServer)は所定の動作を行うはずです。今回は以下の様な応答がありました。 |
| 148 | {{{ |
| 149 | HTTP/1.0 200 OK |
| 150 | |
| 151 | Server: SimpleHTTP/0.6 Python/2.7.12 |
| 152 | Date: Thu, 15 Sep 2016 08:16:14 GMT |
| 153 | Content-type: text/html; charset=mbcs |
| 154 | Content-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> |
| 167 | CLOSED |
| 168 | }}} |
| 169 | 簡素な通信内容ですが、TCP/IP関連の動作が確認できます。 |