ESP8266(12e)의 전송 속도를 영구적으로 변경하는 방법은 무엇인가요?
중요: `AT+IPR=9600`을 사용하지 마세요! (업데이트 참조)
115,200 보드로 통신하는 ESP8266 12E 모듈이 있습니다. 이 모듈을 소프트웨어 시리얼이 있는 아두이노 나노와 함께 사용하면 상황이 지저분해집니다. 그래서 ESP 모듈의 전송 속도를 줄여야 한다는 것을 알았습니다.
그 방법에 대한 이 링크를 찾았습니다.
**궁금한 점이 있습니다.
-
영구적인 변경 사항인가요, 아니면 모듈에 전원이 공급된 후 매번 이 작업을 수행해야 하나요?
-
소프트 시리얼을 통해 아두이노에서 명령을 보내면 같은 결과를 얻을 수 있나요? 글쎄, 내가 시도한 이후로 나는 항상
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 모듈을 사용하여 AT+IPR=9600
을 ESP8266-12E 모듈로 전송 하고 브릭했습니다!
ESP8266(-12E)에서 AT+IPR=9600
을 사용하지 마세요!
지금까지 복구하지 못했습니다! 다시 플래시하려고했지만 유효하지 않은 헤드 예외가 발생합니다.
새 모듈에서 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
사용 중인 칩의 AT 명령어 세트 인터프리터 최신 버전에 따라 시도한 두 가지 명령어가 유효한 명령어가 아닐 수 있으며, 이는 Espressif의 ESP8266 AT 명령어 세트 문서에 나열되어 있지 않을 수 있습니다. 현재 문서(버전 1.5.3)에서 또는 을 검색하면 결과가 반환되지 않습니다.
이제 전송 속도 명령은 각각 현재 세션 또는 현재 및 향후 세션에 대한 전체 UART를 구성하는 &#AT+UART_CUR## 및 &#AT+UART_DEF##입니다. 이 명령에 대한 매뉴얼의 프로토타입은 다음과 같습니다:
제가 사용해본 결과 효과가 있음을 확인할 수 있었습니다.
소프트웨어 직렬을 사용하여 발견 한 것은 115200 보드를 장치에 명령을 보낼 수있을만큼 충분히 밀어 낼 수 있지만 (그것에 의존하는 응용 프로그램을 구축하지는 않지만) 최대 9600 보드까지만 안정적으로 읽을 수 있다는 것입니다. 소프트웨어 직렬을 통해 장치의 전송 속도를 115200에서 9600으로 변경할 수 있었지만, 가비지가 돌아올 것을 예상하고 무시하면 됩니다:
FTDI232 모듈을 115200 전송 속도로 연결했고 이제 ESP8266 모듈의 사양을 읽을 수 있습니다:
그 후
AT+IPR=9600
명령을 보냈는데 처음에는 트릭을 수행하는 것처럼 보였습니다. 하지만 모듈을 재부팅한 후 모든 전송 속도에서 가비지 응답만 받았습니다.ESP8266(12e) 모듈에 AT+IPR=9600을 보내지 마세요.
JRobert가 언급 한대로
AT + UART_DEF
명령이 작동 할 수도 있지만AT + CIOBAUD = 9600
명령을 사용했고 작동했습니다. 영구적으로!나는 이것이 다른 사람들에게 도움이되기를 바랍니다.
전원 공급 장치에 문제가 있는 것 같습니다. 전원 공급 장치 정격은 얼마입니까? 그리고 vcc와 접지 사이에 작은 커패시터를 추가해 보세요. 또한 전송 속도 문제가 해결 된 펌웨어를 0.9로 업데이트하는 것이 좋습니다.
새 펌웨어는 다음 링크에서 찾을 수 있습니다. https://github.com/espressif/esp8266_at