重要: AT+IPR=9600
は使用しないでください!(アップデートを参照)</h2>;
私は115,200ボーで通信するESP8266 12Eモジュールを持っています。私はこれをSoftwareSerial付きのArduino Nanoで使用しているので、物事が面倒になります。このため、ESPモジュールのボーレートを下げる必要があることがわかりました。
その方法についてはこのリンクを見つけた。
私は疑問に思っている。
これは恒久的な変更なのでしょうか、それともモジュールに電源を入れた後、毎回行う必要があるのでしょうか?
ArduinoからSoftSerialでコマンドを送れば同じことができますか?AT+CIOBAUD=9600や
AT+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
EspressifのESP8266 AT Instruction Setドキュメントに記載されていません。現在のドキュメント(バージョン1.5.3)で"CIOBAUD"または"IPR"のいずれかを検索しても、結果は得られません。
ボーレートコマンドは現在、"AT+UART_CUR"と"AT+UART_DEF"であり、それぞれ現在のセッションまたは現在と将来のセッションのためにUART全体を設定します。マニュアルのコマンドのプロトタイプは以下の通りです:
AT+UART_DEF=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
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.
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
コマンドを使った。永久に!
これが他の人の助けになることを願っています。
私も同じコマンドでEspをレンガにしました。 何時間も検索した後、レンガ造りのESPをリセットする方法を見つけました。 https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmwareボーレートを9600ではなく115200に設定する必要があり、アップロードファイルの間でespを電源から切断する必要がありました。 それがあなたと同じことをしてGoogleであなたの投稿を見つけたすべての人に役立つことを願っています。
このファームウェアの使用: 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を回復できました。
電源に問題があるようですね。電源の定格はいくつですか?また、Vccとグランドの間に小さなコンデンサを追加してみてください。 また、ボーレートの問題が修正されたファームウェアを0.9にアップデートすることをお勧めします。
新しいファームウェアは https://github.com/espressif/esp8266_at