Stap 4: Python mededeling van de Arduino
Deze stap is een beetje moeilijker, want het vereist ons parseren van de gegevens op de Arduino-kant van de dingen. Om te helpen bespoedigen omhoog, heb ik vooruit gegaan en een eenvoudige lus die grijpt de huidige gegevens van de seriële buffer, en creëert een op null eindigende tekenreeks (string C), die het vervolgens teruggeeft aan de seriële aansluiting geschreven. Deze techniek kunt u schrijven van een werkelijke parser door aanwijzing van uw eigen pakket voorvoegsel en achtervoegsel, en het scannen van de seriële buffer voor degenen, maken van tekenreeksen dienovereenkomstig.
void setup() { Serial.begin(); } void loop() { if(Serial.available() > 0) { char data = Serial.read(); char str[2]; str[0] = data; str[1] = '\0'; Serial.print(str); } }
Nu kunnen we schrijven een eenvoudig script dat stuurt gegevens vanuit Python naar de Arduino en vervolgens afgedrukt uit wat het terug krijgt.
import serial, time arduino = serial.Serial('COM1', 115200, timeout=.1)time.sleep(1) #give the connection a second to settlearduino.write("Hello from Python!")while True: data = arduino.readline() if data: print data.rstrip('\n') #strip out the new lines for now # (better to do .read() in the long run for this reason
Het is gemakkelijk om te zien hoe deze methode kan worden uitgebreid als u wilt toestaan voor complexe communicatie tussen de twee apparaten. Ik zal een voorbeeld van deze mededeling in een toekomst die ' ible, waar ik wil een spel-pad apparaat kunnen werken op elke vorm van PC game!