Arduino Uno
을 사용하여 AT 명령을 보내는 데 문제가 있습니다. 서버를 설치하기 위해 작은 프로그램 (아래 링크)을 작성했습니다. Wi-Fi 모듈 ESP8266
을 사용하여 노트북에서 Atmega로 데이터를 보내야합니다. 하나의 AT 명령 만이 하나의 컴파일로 실행되기 때문에 AT 코드의 모든 줄에 주석을 달거나 주석을 달아야하는 순간에 전체 프로그램이 한꺼번에 처리한다면 모든 것이 좋을 것입니다.오직 1 개의 AT 명령 전송 (ESP8266/Arduino Uno)
while 루프에서 어딘가에 멈추는 것처럼 보입니다 (심지어 모듈에서 파란색 다이오드가 깜박임을 멈추는 것을 볼 수 있습니다). 나는 코드에서 뭔가 잘못했다고 생각하며 어떤 도움을 주시면 감사하겠습니다.
버전 :
AT Version: 0.21.0.0
SDK Version: 0.9.5
연결 :
ESP
VCC -- 3,3 V (external source)
GND -- GND -- Arduino GND
RX -- TX (Arduino pin 3)
TX -- RX (Arduino pin 2)
CH_PD -- 3,3 V
RST -- 3,3 V
편집 :
012,351,641 여기#include <SoftwareSerial.h>
SoftwareSerial espmod(2, 3);
void commands(String cmd, int waittime);
void setup(void) {
Serial.begin(9600);
espmod.begin(9600);
while (!Serial) {;}
commands("AT+GMR\r\n", 1000);
commands("AT+RST\r\n", 500);
commands("AT+CWMODE=1\r\n", 500);
commands("AT+CWJAP=\"SSID\",\"PASS\"\r\n", 4000);
commands("AT+CIPMUX=1\r\n", 500);
commands("AT+CIPSERVER=1,333\r\n", 500);
commands("AT+CIFSR\r\n", 500);
}
void loop() { // run over and over
}
void commands(String cmd, int waittime) {
espmod.print(cmd);
delay(waittime);
while(espmod.available()) {
char val = espmod.read();
Serial.write(val);
}
}
화면입니다
저는 아직 며칠 동안 해결책을 찾지 못했습니다.하지만 오늘은 마침내 효과가있었습니다.하지만 전원 공급 장치를 재설정 한 후에도 여전히 동일합니다! 나는 모든 명령이 SerialMonitor에서 수행되는 것을 볼 수 있었으므로 코드와 관련된 모든 것이 있으며 esp 모듈에 문제가 있다고 생각한다. 늘어나는만큼 하나의 AT 명령어를 보내고 컴파일 할 때 한 번만 실행하면 현재 모듈에 제공되는 전류가 충분하지 않을 수 있습니까? 모듈이 메모리에서 벗어날 수 있습니까? SoftwareSerial 모니터를 볼 수있는 방법이 있습니까?
Arduino의 직렬 모니터를 통해 명령과 응답을 볼 수 없습니까? – cagdas
@cagdas 명령 및 응답을 볼 수 있지만 직렬 모니터의 Arduino 만 생성했습니다. 나는 AT 명령과 ESP에 문제가있다. 왜냐하면 내가 atmega328p-pu를 새로운 것으로 변경했기 때문에 심지어 AT 명령을 루프 기능에 넣었을지라도 다른 명령이 잘 작동하면 처음에는 행에 들어간다. [link] (http://images82.fotosik.pl/202/037fbda5657d0249.png). 모듈은 UART [link] (http://images81.fotosik.pl/203/94e8e0e6b2503709.png)를 통해서만 연결됩니다. – Spritey
전압 레벨을 확인하는 것이 좋습니다. esp는 3.3이고, megas는 5.0입니다. 일반적으로 불일치로 벗어날 수는 있지만, 보드 중 하나가 너무 민감하거나 강력한 머리카락이라면 작동하지 않을 정도로 충분할 수 있습니다. 귀하의 소프트웨어가 현행대로 작동했기 때문에 하드웨어가 의심 스럽습니다. 고급 레벨 시프터 또는 dioide/5kOhm 저항 대신 esp의 RX 와이어가 도움이 될 수 있습니다. – dandavis