今回の経緯
RX72N Envision KitにはESP32-WROOM-32DがWifi通信用に搭載されていて、RX72NとはUARTで接続されています。
ESP32のWifi機能をATコマンドで制御するそうなのですが、e2studioでUARTで"AT"コマンドを送っても"OK"が返ってこずに、なぜか受信値も"AT"になってしまいました。
Kitに実装されたESP32に何が書き込まれているかまだ情報がなく、またESP32起動時のシリアルデータをUSB経由で読もうとしてもKitのSW3がIO0と連動するため、
- SW3=OFF → ESP32のTxD0,RxD0は接続先なし、起動時のデバッグ出力の確認不可
- SW3=ON → ESP32はBOOT書き換えモードに入り、起動時のデバッグ出力の確認不可
となります。
おそらく出荷時にATコマンド用のファームウェアが書かれているとは思うのですが、確認手段がないのとそもそもESP32のATコマンド確認やファームの書き換えをしたことがなかったため、手持ちのESP32-DevkitCで確認しました。
今回参考にさせて頂いたのは下記サイトおよびファイルです。
https://trac.switch-science.com/wiki/esp32_setup
ツールのダウンロード手順は上記サイトの通りで、最新のESP32-WROOM-32_AT_Bin_V2.0とESP32 DOWNLOAD TOOL V3.8.5をCドライブ直下に展開しました。
TOOLの設定はdownload.configに従って行いました。
一点詰まったのは右下のBAUDで、どうもうちのDevkitCでは1152000設定では通信エラーとなってしまいました。921600設定で書き込みが出来ましたので、最速設定ではDevkitCの通信経路的に厳しかったようです。
書き込み後にDevkitCのUSBポートの状態をシリアルモニタで確認すると、
となり正常に起動しているようでした。
ATコマンドの確認準備が出来ましたので、さっそくUSB-UART変換経由でATコマンドを投げてみます。接続は下記となります。
|USB-UART|ESP32|
|RXI|TXD(17pin)|
|TXD|RXD(16pin)|
|GND|GND|
スピードを"115200"に設定し"AT"という文字列を送信すると、無事"OK"という文字列が返ってきました。
上図の"AATT"はTeraTermでローカルエコーを有効にしていた時の戻り値です。
下の"waiting for download"はKitに繋ぎ変えてSW3のch2をOnした時の応答で、上記のようにシリアルモニタで確認したような起動時の状態確認はできないようです。
ESP32-WROOM-32Dへのファームの書き方とATコマンドの送信までは習得できましたので、Kit上のESP32への書き換えを行うか少し考えてみます。