ESP8266 (12e) のボーレートを恒久的に変更する方法は?

重要: AT+IPR=9600 は使用しないでください!(アップデートを参照)</h2&gt;

私は115,200ボーで通信するESP8266 12Eモジュールを持っています。私はこれをSoftwareSerial付きのArduino Nanoで使用しているので、物事が面倒になります。このため、ESPモジュールのボーレートを下げる必要があることがわかりました。

その方法についてはこのリンクを見つけた。

私は疑問に思っている

  • これは恒久的な変更なのでしょうか、それともモジュールに電源を入れた後、毎回行う必要があるのでしょうか?

  • ArduinoからSoftSerialでコマンドを送れば同じことができますか?AT+CIOBAUD=9600AT+IPR=9600`でいつもエラーが出るので、無理だと思います。

  • ESP8266の新しいファームウェア・バージョンでは、ボーレートはデフォルトで9,600になるとどこかで読みました。もしそうなら、この新しいファームウェアをフラッシュした方が良いのでしょうか?

モジュールのベンダーです:

Ai-Thinker Technology Co.,Ltd.

現在のファームウェアのバージョンは0.3.0だと思います。AT+GMR`を送ると、次のようになる:

sending AT+GMR

response: ?AT¥TJÕ¨H(Q�²•ÉÍ¥½¹é‚r¢‚r‚r‚BÕ��Â’‚ŠªŠ¢Ò¢ªÒªÂJm
 SDK versioo:0.3.0
 Ai�½½
 ‚Šj

ボーレートが高すぎるため、またゴミが出る。

モジュールに関するその他の情報:

sending AT+RST
response: ?AT+RST
OK
WRT
"%M
<99CT
 ets Jan  8 2013,rst catse:2, boot lode:(3,7)
load 0x40100000ntail 4
chksum 0x89
ld tail 4
chm3 tail 8 r 0 aM
 ón't use rtc mem dat`
sl��oÌÿ
Ai-Thinker Technology Co.,Ltd.

アップデート

(*) FTDI232モジュールを使って私のESP8266-12Eモジュールに AT+IPR=9600 を送りました!

**ESP8266(-12E)でAT+IPR=9600を使用しないでください。

今のところ復旧できていません!再フラッシュを試みましたが、Invalid head exceptions が発生しました。

新しいモジュールで AT+CIOBAUD=9600 コマンドを送ったらうまくいった。永久に!

私のモジュールのスペック

AT+GMR 
AT version:0.40.0.0(Aug  8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK 
質問へのコメント (7)

EspressifのESP8266 AT Instruction Setドキュメントに記載されていません。現在のドキュメント(バージョン1.5.3)で"CIOBAUD"または"IPR"のいずれかを検索しても、結果は得られません。

ボーレートコマンドは現在、"AT+UART_CUR"と"AT+UART_DEF"であり、それぞれ現在のセッションまたは現在と将来のセッションのためにUART全体を設定します。マニュアルのコマンドのプロトタイプは以下の通りです:

AT+UART_DEF=, , , , 
Example:
AT+UART_DEF=115200, 8, 1, 0, 3

私はこれらを使用し、それらが機能することを確認することができます。

ソフトウェア・シリアルを使ってわかったことは、115200ボーであればデバイスにコマンドを送るには十分ですが(私はそれに依存するアプリケーションは作りませんが)、確実に読み込めるのは9600ボーまでだということです。私はソフトウェア・シリアルで115200ボーから9600ボーにデバイスのボーレートを変更することができた:

// Set ESP8266 baud rate to 9600. You only need to do this once per device
set software serial baud to 115200;
send "AT+UART_DEF=9600,8,1,0,0";
set software serial baud to 9600;
// From now on, communicate with your device at 9600 baud.
解説 (0)
ソリューション

115200ボーでFTDI232モジュールを接続し、ESP8266モジュールのスペックを読むことができるようになった:

AT+GMR 
AT version:0.40.0.0(Aug  8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build:1.3.0.2 Sep 11 2015 11:48:04
OK 

その後、AT+IPR=9600コマンドを送った。 しかし、モジュールの再起動後は、どのボーレートでもゴミのようなレスポンスしか返ってこなくなった。

ESP8266(12e)モジュールにAT+IPR=9600を送らないでください

多分、JRobertが言っているようにAT+UART_DEFコマンドは機能するのだろうが、私はAT+CIOBAUD=9600コマンドを使った。永久に!

これが他の人の助けになることを願っています。

解説 (0)

私も同じコマンドでEspをレンガにしました。 何時間も検索した後、レンガ造りのESPをリセットする方法を見つけました。 https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmwareボーレートを9600ではなく115200に設定する必要があり、アップロードファイルの間でespを電源から切断する必要がありました。 それがあなたと同じことをしてGoogleであなたの投稿を見つけたすべての人に役立つことを願っています。

解説 (2)

このファームウェアの使用: https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware

そしてこのフラッシャー: http://yaab-arduino.blogspot.com.br/2015/12/flashing-esp8266-firmware-arduino.html。 esp 8266 12fを回復できました。

解説 (0)

電源に問題があるようですね。電源の定格はいくつですか?また、Vccとグランドの間に小さなコンデンサを追加してみてください。 また、ボーレートの問題が修正されたファームウェアを0.9にアップデートすることをお勧めします。

新しいファームウェアは https://github.com/espressif/esp8266_at

解説 (2)