ESP8266の"ATモード"でWiFiに接続してみます。 残念ながらNodeMCU DevKitは技適が通っていないため使用出来ません。 で、技適マーク付きのWi-Fiモジュール ESP-WROOM-02 DIP化キットを引っ張り出してきました。
AE-ESP-WROOM-02は、NodeMCU DevKitと異なり、そのままでは動作しないので、以下のパーツを使って配線する必要があります。
赤ワクで囲んだ箇所は、低損失三端子レギュレータ 3.3V1A TA48033Sで、コンデンサを含む構成となっています。ここでは、FT-232RQ USBシリアル変換モジュールから5V電源を取得するため必須ですが、別途3.3V電源があれば必要ありません。 以上を配線していきます。まずは、電源周り。
USBシリアル変換モジュールから引き込んだ5V電源は、レギュレータを経由してブレッドボードの電源全てが3.3Vとなっています。 残りのパーツを使って信号線を配線。
2つのタクトスイッチは、RESETとFLASHとして取り付けています。 用途によっては必須という訳ではありません。 配線は以上で完了。 購入直後のWROOM-02であれば、このままATモードでアクセス可能ですが、"ESP-WROOM-02でLチカ"や"ESP-WROOM-02でLCD表示"でArduinoとして使用していた過去もあるので、そのままではATモードでの起動が出来ません。 って事で、初期化するべくfirmwareを書き込みます。 必要となるのは、
- Flash Download Tools
- ESP8266_NONOS_SDK-X.X.X
BIN | Address | Description |
---|---|---|
blank.bin | 0x1FB000 | RF_CALパラメーター領域を初期化します。 |
esp_init_data_default.bin | 0x1FC000 | デフォルトのRFパラメータ値を保存し、少なくとも1回はフラッシュにダウンロードする必要があります。 RF_CALパラメーター領域が初期化されている場合、このビンもダウンロードする必要があります。 |
blank.bin | 0xFE000 | Flashユーザーパラメータ領域を初期化します。 |
blank.bin | 0x1FE000 | フラッシュシステムパラメータエリアを初期化します。 |
boot.bin | 0x00000 | /bin/atにあります。 |
user1.2048.new.5.bin | 0x01000 | /bin/at/1024+1024にあります。 |
BIN | Address | Description |
---|---|---|
blank.bin | 0x3FB000 | RF_CALパラメーター領域を初期化します。 |
esp_init_data_default.bin | 0x3FC000 | デフォルトのRFパラメータ値を保存し、少なくとも1回はフラッシュにダウンロードする必要があります。 RF_CALパラメーター領域が初期化されている場合、このビンもダウンロードする必要があります。 |
blank.bin | 0xFE000 | Flashユーザーパラメータ領域を初期化します。 |
blank.bin | 0x3FE000 | フラッシュシステムパラメータエリアを初期化します。 |
boot.bin | 0x00000 | /bin/atにあります。 |
user1.2048.new.5.bin | 0x01000 | /bin/at/1024+1024にあります。 |
SDK ver: 2.2.1(6ab97e9) compiled @ Jun 7 2018 13:59:14 phy ver: 1136_0, pp ver: 10.2 ∪jъ g 1砌"&瘍 5# &
V2.2.1がインストールされているのは確認出来ましたが、以降が文字化けして読めませんね。。 シリアルポートのスピードを、"115200"に変更して再起動。 すると、さらに文字化けした画面が表示されますが、よーく文字を見てみると"ready"のワードが見つかると思います。 "AT+GMR"とタイプしてエンター。
AT+GMR AT version:1.6.2.0(Apr 13 2018 11:10:59) SDK version:2.2.1(6ab97e9) compile time:Jun 7 2018 19:34:29 Bin version(Wroom 02):1.6.2 OK
バージョン情報が表示されます。 ATコマンドについて、もう少し理解を深めたいところですが長くなるので割愛。 以下のコマンドを使ってWiFiの設定を行います。 Wi-Fiモードの設定
コマンド | テストコマンド: AT+CWMODE=? |
クエリコマンド: AT+CWMODE? ESP8266の現在のWi-Fiモードを照会 |
設定コマンド: AT+CWMODE=<mode> ESP8266の現在のWi-Fiモードを設定 |
---|---|---|---|
応答 | +CWMODE=<mode> OK | +CWMODE=<mode> OK | OK |
パラメータ | <mode>: ‣ 1: Station mode ‣ 2: SoftAP mode ‣ 3: SoftAP+Station mode |
||
注意 | 設定の変更は、フラッシュのシステムパラメータエリアに保存されます。 | ||
例 | AT+CWMODE=3 |
コマンド | クエリコマンド: AT+CWJAP? ESP8266が接続されているAPを照会 |
設定コマンド: AT+CWMODE=<ssid>, <pwd>, [<bssid>] [,<pci_en>] ESP8266の現在のWi-Fiモードを設定 |
---|---|---|
応答 | +CWJAP:<ssid>,<bssid>,<channel>,<rssi> OK |
OK or +CWJAP:<error code> FAIL |
パラメータ | <ssid>:ターゲットAPのSSIDを示すパラメータ |
|
注意 | 設定の変更は、フラッシュのシステムパラメータエリアに保存されます。 | |
例 | AT+CWJAP="abc","0123456789" たとえば、ターゲットAPのSSIDが"ab\,c"であり、パスワードが"0123456789"\"の場合、コマンドは次のようになります。 AT+CWJAP="ab\\\,c","0123456789\"\\" 複数のAPのSSIDが「abc」と同じ場合、ターゲットAPはBSSIDで見つけることができます。 AT+CWJAP="abc","0123456789","ca:d7:19:d8:a6:44" |
コマンド | AT+CIFSR |
---|---|
応答 | +CIFSR:APIP,<SoftAP IP address> +CIFSR:APMAC,<SoftAP MAC address> +CIFSR:STAIP,<Station IP address> +CIFSR:STAMAC,<Station MAC address> OK |
パラメータ | <IP address>: ESP8266 SoftAPのIPアドレス; ESP8266ステーションのIPアドレス。 <MAC address>: ESP8266 SoftAPのMACアドレス; ESP8266ステーションのMACアドレス。 |
注意 | ESP8266ステーションがAPに接続されている場合のみ、ステーションIPを照会できます。 |
実際に設定して見ます。 まずは、Station modeに設定。
AT+CWMODE=1 OK
アクセスポイントへの接続設定。
AT+CWJAP="SSID","PASSWORD" WIFI CONNECTED WIFI GOT IP OK
最後に接続を確認。
AT+CIFSR +CIFSR:STAIP,"XXX.XXX.XXX.XXX" +CIFSR:STAMAC,"XX:XX:XX:XX:XX:XX" OK
IPアドレスが確認できれば、一旦の終了となります。 本当なら、MicroPythonでWiFiアクセスしたいところですが、技適を通過したデバイスでもFirmwareを書き換えるとNGな可能性もあるとの事でATモードでのアクセスに留めておきます。 最後に、UARTのボーレートを変更方法。
設定コマンド | |
---|---|
コマンド | AT+UART=<baudrate>,<databits>,<stopbits>,<parity>,<flow control> |
戻り値 | OK |
パラメータ |
|
注釈 |
|
例 | AT+UART=115200, 8, 1, 0, 3
|
現時点のUARTの設定をクエリコマンドで確認。
AT+UART? +UART:015273,8,1,0,1 OK
ボーレートを9600bps、フロー制御を無効に変更してみます。
AT+UART_DEF=9600,8,1,0,0 OK
通信速度は遅くなりますが、こちらの方が戻り値が安定します。
0 件のコメント:
コメントを投稿