Python에서 pyserial을 통해 Arduino로 일부 데이터를 보내려고합니다. Arduino가하고 싶은 것은 직렬 포트에서 가변 길이 문자열 데이터를 읽고 파이썬이 읽을 수 있도록 다시 쓰는 것입니다. 이후 내가 할 수 없었습니다, 아래의 코드는 파이썬 문자를 보내고있다. 여기Arduino와 Python 사이의 에코 프로그램
import serial
import sys
import pywapi
import time
def main():
ser = serial.Serial(3, 9600, timeout=1)
print "Conn established"
print "Sending: %s" % "z".__repr__()
print ser.write('z'.encode("ascii"))
time.sleep(2)
print "Received: %s" % ser.read(10).__repr__()
ser.close()
아두 이노 코드 것 : 여기 파이썬 코드는
void setup(){
analogReference(DEFAULT);
Serial.begin(9600);
}
void loop(){
if(Serial.available() > 0)
Serial.println("x");
while(Serial.available() > 0){
Serial.print(Serial.read(), BYTE);
}
}
출력 :
Conn established
Sending: 'z'
1
Received: ''
나는 데이터가 전송 될 때 작동하기 때문에 아두 이노에 대한 코드가 작동 알고 Arduino 터미널에서. 그러나 파이썬에서 어떤 것을 보내려고하면 실패합니다. 나는 하루 종일 고생하고있다. 어떤 도움이라도 대단히 감사하겠습니다.
"별난 결과"는 무엇을 의미합니까? 어쩌면 핸드 셰이 킹 문제 일 수도 있습니다. –
죄송합니다. 이상한 결과는 내가 여기 게시 한 것과 정확히 일치 함을 의미합니다. – JohnS
OS가 무엇입니까? Windows 또는 * nix? – Earlz