ESP8266 (12e)의 전송 속도를 영구적으로 변경하는 방법은 무엇입니까?


11

중요 : 사용하지 마십시오 AT+IPR=9600! (업데이트 참조)

115,200 보드에서 통신하는 ESP8266 12E 모듈이 있습니다. Arduino Nano와 SoftwareSerial을 함께 사용하기 때문에 지저분 해집니다. 따라서 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후 차단 했습니다 !

AT+IPR=9600ESP8266 (-12E)에서 사용하지 마십시오 .

나는 지금까지 그것을 복구하지 못했습니다! 다시 플래시를 시도했지만 유효하지 않은 헤드 예외가 발생합니다.

새 모듈에서 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 

하드웨어 시리얼을 사용해 볼 수 있습니까? 또는 리셋 핀을 낮게 당긴 다음 USB를 통해 ESP와 직접 대화하십시오. 작동하는지 확인할 수 있습니다.
Paul

@Paul : nano에는 하드웨어 직렬 포트 세트가 하나만 있습니다. 그래서 내가 이것을 사용하면 더 이상 Arduino Serial Monitor로 데이터를 보낼 수 없어서 무슨 일이 일어나고 있는지 이해하기가 어려워집니다 ... 펌웨어 업그레이드를 위해 가야 할 것 같습니다.
mvermand

디버깅을 위해 소프트웨어 직렬 포트를 사용할 수 있습니까? 그래도 "usb-serial / ttl"케이블이 필요합니다.
Paul

1
stackoverflow.com/questions/34248581/… 질문에 대한 답변이 될 것입니다.
N.Sinha 2012

1
AT + IPR = 9600으로 전송 속도를 설정 하면 ESP01도 차단하는 것 같습니다 . 이 스레드에서 여러 가지 제안을 시도하여 복구했습니다. Marco Andre Silva가 제공 한 링크의 솔루션이 저에게 효과적이었습니다.
Steffe

답변:


10

칩에있는 AT 명령어 세트 인터프리터의 최신 버전에 따라 시도한 두 명령어가 유효하지 않을 수 있습니다. Espressif의 ESP8266 AT 명령어 세트 문서 에는 나와 있지 않습니다 . 현재 문서 (버전 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.

3

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명령을 보냈다 . 그러나 모듈을 재부팅 한 후에는 전송 속도에 관계없이 가비지 응답 만했습니다.

AT + IPR = 9600을 ESP8266 (12e) 모듈에 보내지 마십시오

아마 AT+UART_DEF명령 - JRobert에서 언급 한 바와 같이 - 작품,하지만 난 사용 된 AT+CIOBAUD=9600명령을하고 일했다. 영구적으로!

이것이 다른 사람들을 도울 수 있기를 바랍니다.


3

나는 같은 명령으로 내 Esp를 벽돌로 만들었습니다. 몇 시간 동안 검색 한 후 벽돌로 된 esp를 재설정하는 방법을 찾았습니다. https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware 전송 속도를 9600 대신 115200으로 설정해야했고 업로드 파일간에 esp의 전원을 끊어야했습니다. . 귀하와 귀하가 똑같이하고 Google을 통해 귀하의 게시물을 찾은 모든 사람에게 도움이되기를 바랍니다.


각 파일 사이에서 ESP의 전원을 껐다 켜는 것이 나에게도 중요한 일이었습니다. 다른 사이트는 모든 파일을 단일 esptool.py명령 으로 결합 했지만 나에게는 효과가 없었습니다. 개별 명령으로, 파일 당 하나씩, 각 명령간에 순환 한 후에야 AT 펌웨어를 마침내 복원 할 수있었습니다. 힌트 주셔서 감사합니다!
davidA

또한 esptool.pyESP32 IDF (v2.1-beta1)와 함께 제공 되는 것을 사용하려고 시도 했으며 하나의 명령 으로 성공적으로 작동하여 ESP8266의 모든 파일을 플래시합니다 (지원되는)-하나의 전원주기 + GPIO0 GND가 필요합니다.
davidA


0

전원 공급에 문제가있는 것 같습니다. 전원 공급 장치 등급은 무엇입니까? VCC와 접지 사이에 작은 커패시터를 추가하십시오. 또한 전송 속도 문제가 해결 된 펌웨어를 0.9로 업데이트하는 것이 좋습니다.

https://github.com/espressif/esp8266_at 에서 새 펌웨어를 찾을 수 있습니다


나는 이것이 전원 공급 장치 문제라고 생각하지 않습니다. 유능한 외부 전원 공급 장치가 있습니다. 나는 전에없이 시도한 다음 Arduino가 계속 다시 시작됩니다 ... 나는 포럼에서 전원 공급 장치 문제로 인한 것을 발견했습니다. 그래서 지금 나는 괜찮습니다. 실제로 문제는 SoftSerial이 115k 전송 속도에 대처할 수 없다는 것입니다.
mvermand

1
esp는 정말 까다 롭습니다 .cc와 접지 사이에 작은 커패시터를 추가하십시오. 나는 또한 외부 전원으로부터 광산에 전력을 공급했고 재시동을 경험하고 있었다.
NccWarp9
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.