2014-10-02 8 views
0

esp8266 및 cp2102가 작동하지 않습니다! 왜?esp8266 및 cp2102가 파이썬 직렬로 작동하지 않습니다.

import serial 

sp="/dev/ttyUSB0" 

port = serial.Serial(sp) 

while True: 
    port.write("AT+RST") 
    rcv = port.read(10) 
    print rcv 

"AT + RST"[Enter] 키를 누르고 그 뒤에 "READY"가 없습니다.

+0

하면 에러가 발생합니까 : 여기 pyserial를 사용하여 파이썬에서 단말기 기본으로 나를 위해 작동 무엇인가? –

+0

이전에 시리얼 콘솔로 테스트 했습니까? 광산에서 115200 보오를 실행 중입니다. 펌웨어 : 00150900 3.3 볼트 –

+0

yes 인 콘솔 (소프트웨어가 아닌 직렬 포트)에서 보내 봅니다. console은 esp8266없이 잘 동작하고 autoself는 – pirks

답변

0

직렬 포트를 열 때 전송 속도를 설정하지 않습니다. 기본값은 아마도 ESP8266에 적합하지 않을 것입니다.

+0

에 연결합니다. 코드를 수정하지만 작동하지 않습니다 :'code' port = serial.Serial ( port = sp, \ baudrate = 9600, \ # parity = serial.PARITY_NONE \ # 정지 비트 = serial.STOPBITS_ONE, \ # bytesize = serial.EIGHTBITS,이 시간 제한 \ = 5000 )는' – pirks

+0

code' ESP8266 당신이 있는지, 기본적으로 115200 개 보드를 사용하지 9600 – duskwuff

+0

? 115200과 호환되지 않습니다. http://www.seeedstudio.com/wiki/WiFi_Serial_Transceiver_Module을 참조하십시오. – pirks

1

명령 끝에 CRLF (\ r \ n) 문자가 포함되어 있는지 확인하십시오. 나는 이것을 알아 내기 전에 하루를 망쳐 놓았다. 나는 명령의 로컬 에코를 가지고 있지만 이후로 나는 \ r \ n을 보내지 않았으므로 더 이상 데이터를 얻지 못할 것이다.

import serial 
 
import time 
 

 
ser = serial.Serial('/dev/tty.usbserial-A8004xaO', 115200, timeout=2.5) 
 
while True: 
 
    cmd = raw_input("> "); 
 
    ser.write(cmd + "\r\n") 
 
    ret = ser.read(len(cmd)) # eat echo 
 
    time.sleep(0.2) 
 
    while (ser.inWaiting()): 
 
     ret = ser.readline().rstrip() 
 
     print ret