Bagaimana cara mengubah baudrate ESP8266 (12e) secara permanen?

PENTING: JANGAN GUNAKAN `AT+IPR=9600`! (lihat pembaruan)

Saya memiliki modul ESP8266 12E yang berkomunikasi pada 115.200 bauds. Karena saya menggunakannya dengan Arduino Nano dengan SoftwareSerial hal-hal menjadi berantakan. Jadi saya menemukan bahwa saya harus mengurangi baud rate modul ESP.

Saya menemukan tautan ini tentang cara melakukannya.

Saya bertanya-tanya

  • Apakah ini perubahan permanen atau apakah Anda perlu melakukan ini setiap kali setelah modul dinyalakan?

  • Dapatkah saya mencapai hal yang sama dengan mengirimkan perintah dari Arduino melalui SoftSerial? Yah, saya kira tidak karena saya sudah mencoba dan saya selalu mendapatkan kesalahan pada AT+CIOBAUD=9600 atau AT+IPR=9600.

  • Saya membaca di suatu tempat bahwa dalam versi firmware ESP8266 yang lebih baru, baud rate default ke 9.600. Adakah yang bisa mengkonfirmasi hal ini dan jika demikian, apakah lebih baik untuk mem-flash firmware yang lebih baru ini?

Vendor modul' vendor:

Ai-Thinker Technology Co.,Ltd.

Saya pikir versi firmware saat ini adalah 0.3.0. Jika saya mengirim AT+GMR yang saya dapatkan:

sending AT+GMR

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

Lagi-lagi beberapa sampah karena baud rate yang terlalu tinggi.

Info lain pada modul:

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.

UPDATE

(*) Saya menggunakan modul FTDI232 untuk mengirim AT+IPR=9600 ke modul ESP8266-12E saya dan saya menabraknya!

JANGAN GUNAKAN AT+IPR=9600 PADA ESP8266 (-12E).

Saya tidak berhasil memulihkannya sejauh ini! Saya mencoba mem-flash ulang tetapi saya mendapatkan pengecualian kepala tidak valid.

Pada modul baru saya mengirim perintah AT+CIOBAUD=9600 dan berhasil. Secara permanen!

Spesifikasi modul saya:

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 

Tergantung pada versi terbaru dari interpreter AT Instruction Set yang dimiliki chip Anda, dua instruksi yang Anda coba mungkin bukan instruksi yang valid; mereka tidak tercantum dalam dokumen Espressif ESP8266 AT Instruction Set. Pencarian untuk "CIOBAUD &" atau "IPR &" dalam dokumen saat ini (versi 1.5.3) tidak memberikan hasil.

Perintah baud rate sekarang adalah "AT+UART_CUR" dan "AT+UART_DEF" yang mengkonfigurasi seluruh UART untuk sesi saat ini atau sesi saat ini dan yang akan datang, masing-masing. Prototipe manual untuk perintah tersebut adalah:

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

Saya telah menggunakan ini dan bisa mengonfirmasi bahwa mereka berfungsi.

Apa yang saya temukan dengan menggunakan software serial adalah bahwa ia dapat mendorong 115200 baud dengan cukup baik untuk mengirim perintah ke perangkat (meskipun saya tidak akan membuat aplikasi yang bergantung padanya) tetapi hanya dapat membaca dengan andal hingga 9600 baud. Saya sudah bisa mengubah perangkat saya; baud rate dari 115200 baud ke 9600 melalui serial software; Anda hanya perlu mengharapkan sampah kembali dan mengabaikannya:

// 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.
Komentar (0)
Larutan

Saya menghubungkan modul FTDI232 pada 115200 baud dan bisa membaca spesifikasi modul ESP8266 sekarang:

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 

Setelah itu saya mengirim perintah AT+IPR=9600, yang pertama kali tampaknya berhasil. Tetapi setelah modul di-reboot, yang saya dapatkan hanyalah respons sampah, pada baudrate apa pun.

JANGAN KIRIM AT+IPR=9600 KE MODUL ESP8266 (12e) ANDA

Mungkin perintah AT+UART_DEF - seperti yang disebutkan oleh JRobert - berfungsi, tetapi saya menggunakan perintah AT+CIOBAUD=9600 dan berhasil. Secara permanen!

Saya harap ini dapat membantu orang lain.

Komentar (0)

Sepertinya Anda mengalami masalah catu daya. Berapa rating catu daya Anda? dan coba tambahkan kapasitor kecil antara vcc dan ground. Juga ide yang baik untuk memperbarui firmware ke 0.9 yang telah memperbaiki masalah baudrate.

Anda dapat menemukan firmware baru di https://github.com/espressif/esp8266_at

Komentar (2)