ESP8266 (12e) baud hızını kalıcı olarak nasıl değiştirebilirim?


11

ÖNEMLİ: KULLANMAYIN AT+IPR=9600! (güncellemeye bakın)

115.200 baud'da iletişim kuran bir ESP8266 12E modülüm var. SoftwareSerial ile Arduino Nano ile kullandığımdan beri işler karışıyor. Bu yüzden ESP modülünün baud hızını azaltmam gerektiğini buldum.

Nasıl yapılacağına dair bu bağlantıyı buldum .

merak ediyorum

  • Bu kalıcı bir değişiklik mi yoksa modüle her güç verildikten sonra bunu yapmanız mı gerekiyor?

  • Arduino'dan SoftSerial üzerinden komut göndererek de bunu başarabilir miyim? Sanýrým denediđimden beri deđil ve her zaman bir hata alırým AT+CIOBAUD=9600ya da AT+IPR=9600.

  • ESP8266'nın daha yeni bellenim sürümlerinde, baud hızının varsayılan olarak 9,600 olduğunu okudum. Herkes bunu onaylayabilir ve eğer öyleyse, bu daha yeni firmware flaş daha iyi mi?

Modül satıcısı:

Ai-Thinker Technology Co.,Ltd.

Yazılımın mevcut sürümünün 0.3.0 olduğunu düşünüyorum. Ben gönderirseniz AT+GMRben alıyorum:

sending AT+GMR

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

Yine çok yüksek baud oranı nedeniyle biraz çöp.

Modül hakkında diğer bilgiler:

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.

GÜNCELLEME

(*) ESP8266-12E modülüme göndermek AT+IPR=9600için bir FTDI232 modülü kullandım ve onu kullandım !

AT+IPR=9600ESP8266 (-12E) KULLANMAYIN .

Şimdiye kadar kurtarmayı başaramadım! Tekrar yanıp sönmeyi denedim ama Geçersiz kafa istisnaları alıyorum.

Yeni bir modülde AT+CIOBAUD=9600komutu gönderdim ve işe yaradı. Kalıcı!

Modül özellikleri:

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 

Donanım serisini deneyebilir misiniz? Veya sıfırlama pimini aşağı doğru çekin ve ardından doğrudan USB üzerinden ESP ile konuşun. Bunların çalışıp çalışmadığını kontrol edebilir.
Paul

@Paul: nano'nun yalnızca bir donanım seri bağlantı noktası seti vardır. Bunları kullanırsam, Arduino Seri Monitörüne artık veri gönderemiyorum, ne olduğunu anlamak zorlaşıyor ... Sanırım yazılım güncellemesi için gitmem gerekecek.
mvermand

Peki hata ayıklama için yazılım serialport kullanabilirsiniz? Gerçi bir "usb-seri / ttl" kablosuna ihtiyacınız olacak.
Paul

1
stackoverflow.com/questions/34248581/… Bu, sorunuza cevap verecektir.
N.Sinha

1
Baud hızını AT + IPR = 9600 ile ayarlamanın aynı zamanda bir ESP01'i de kapladığı görülüyor . Kurtarmak için bu iş parçacığında birkaç öneri denedim. Marco Andre Silva'nın sağladığı bağlantıdaki çözüm benim için çalıştı.
Steffe

Yanıtlar:


10

AT Yönerge Seti yorumlayıcısının çipinizin son sürümüne bağlı olarak, denediğiniz iki talimat geçerli olmayabilir; Espressif'in ESP8266 AT Komut Seti belgesinde listelenmezler . Geçerli belgedeki (sürüm 1.5.3) "CIOBAUD" veya "IPR" aramaları sonuç vermez.

Baud rate komutları artık "AT + UART_CUR" ve "AT + UART_DEF" dir. Kılavuzun komut için prototipi:

AT+UART_DEF=<baudrate>, <databits>, <stopbits>, <parity>, <flow control>
Example:
AT+UART_DEF=115200, 8, 1, 0, 3

Bunları kullandım ve çalıştıklarını doğrulayabilirim.

Yazılım seri kullanarak bulduğum şey, cihaza komutlar göndermek için 115200 baud yeterince iyi itebilirsiniz (ben buna bağlı bir uygulama oluşturmak olmaz ama) ama sadece 9600 baud kadar güvenilir bir şekilde okuyabilir. Yazılım seri üzerinden aygıtlarımın baud hızlarını 115200 baud'dan 9600'e değiştirebildim; çöpün geri gelmesini ve görmezden gelmesini beklemeniz yeterlidir:

// 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.

3

115200 baud'a bir FTDI232 modülü bağladım ve şimdi ESP8266 modülünün özelliklerini okuyabiliyordum:

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 

Bundan sonra, AT+IPR=9600ilk olarak hile yapmış gibi görünen komutu gönderdim . Ancak modülün yeniden başlatılmasından sonra, tüm aldığım şey herhangi bir baud hızında çöp tepkisi oldu.

ESP8266 (12e) MODÜLÜNE + IPR = 9600'DE GÖNDERMEYİN

Belki AT+UART_DEFkomut - JRobert'in belirttiği gibi - çalışır, ama AT+CIOBAUD=9600komutu kullandım ve işe yaradı. Kalıcı!

Umarım bu başkalarına yardımcı olabilir.


3

Esp'imi de aynı komutla yaptım. Saatlerce arama yaptıktan sonra tuğlalı esp'i sıfırlamanın bir yolunu buldum. https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware Baudrate'i 9600 yerine 115200 olarak ayarlamak zorunda kaldım ve yükleme dosyaları arasında esp'yi güçten çıkarmak zorunda kaldım . Umarım bu size ve aynısını yapan ve yayınınızı Google üzerinden bulan herkese yardımcı olur.


ESP'yi her dosya arasında çevirmek benim için en önemli şeydi - diğer siteler tüm dosyaları tek bir esptool.pykomutta birleştirdi , ancak bu benim için işe yaramadı. Sadece bireysel komutlara, her dosyaya bir tane ve her biri arasında geçiş yaptıktan sonra, sonunda AT ürün yazılımını geri yükleyebildim. İpucu için teşekkürler!
davidA

Ayrıca, esptool.pyESP32 IDF (v2.1-beta1) ile birlikte gelen ve ESP8266'mdaki ( aynı zamanda da destekler) tüm dosyaları flaş etmek için tek bir komutla başarıyla çalıştığını kullanmayı denedim - bu yüzden sadece bir güç döngüsü + GPIO0- GND gerekli.
davidA


0

Güç kaynağı sorunu yaşıyormuşsunuz gibi görünüyor. Güç kaynağı puanınız nedir? ve vcc ile toprak arasına küçük bir kondansatör eklemeyi deneyin. Baudrate sorunu düzeltilmiş olan firmware'i 0.9'a güncellemek de iyi bir fikirdir.

Yeni ürün yazılımını https://github.com/espressif/esp8266_at adresinde bulabilirsiniz.


Bunun bir güç kaynağı sorunu olduğunu düşünmüyorum. Daha fazla kapasiteye sahip harici bir güç kaynağım var. Daha önce denedim ve sonra Arduino yeniden başladı ... Güç kaynağı sorunları nedeniyle bir forumda buldum. Şimdi orada iyiyim. Gerçekten sorun, SoftSerial'ın 115 bin baudrat ile baş edememesi.
mvermand

1
esp gerçekten seçici, vcc ve toprak arasında küçük bir kapasitör ekleyin. Ben de harici güç kaynağından benimkini çalıştırıyorum ve yeniden başlatma yaşıyordum.
NccWarp9
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.