Я хочу общаться между Raspberry Pi и Arduino, используя Python.
До сих пор Arduino успешно отправляет последовательное сообщение Raspberry Pi, и сообщение читается с помощью функции ser.readline () в Python.
Но когда я хочу моргнуть светодиодом, подключенным к Raspberry Pi с заявлением IF, это не сработает
Функция blink () и все остальное работает, но код не попадет в оператор IF, который проверяет значение ser.readline () со строкой переменная
Это код моего Arduino:
String data="hello";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
Serial.println(data);//data that is being Sent
delay(5000);
}
И это код Python, который работает на моем Raspberry Pi:
import serial
import RPi.GPIO as GPIO
import time
LedPin = 11 # pin11
ser=serial.Serial("/dev/ttyUSB0",9600) #change ACM number as found from ls /dev/tty/ACM*
ser.baudrate=9600
def setup():
GPIO.setmode(GPIO.BOARD) # Set the board mode to numbers pins by physical location
GPIO.setup(LedPin, GPIO.OUT) # Set pin mode as output
GPIO.output(LedPin, GPIO.HIGH) # Set pin to high(+3.3V) to off the led
def blink():
print 'led on'
GPIO.output(LedPin, GPIO.LOW) # led on
time.sleep(1.0) # wait 1 sec
print 'led off'
GPIO.output(LedPin, GPIO.HIGH) # led off
time.sleep(1.0) # wait 1 sec
setup()
while True:
serialmessage = ser.readline()
print("serial message is " + serialmessage)
if serialmessage == "hello":
print("message recieved")
blink()
Вот что я вижу в терминале:
terminal_image
Я искал часы, пытаясь найти решение, но безуспешно.
Я также только начал программировать на Python.
Спасибо за ваше время.