Paso 3: Ardiuno para comunicación de Python
Comunicación entre el Ardunio y Python es algo más fácil que al revés. En primer lugar, queremos un poco de código que iniciará la conexión en serie de Ardunio y pasar un mensaje a lo largo. Esto lo podemos hacer con la función de Serial.write() de Arduino, así:
void setup() { Serial.begin(115200); // use the same baud-rate as the python side } void loop() { Serial.println("Hello world from Ardunio!"); // write a string delay(1000); }
Este código escribirá una línea de "Hola mundo desde Ardunio!" a la conexión en serie una vez cada segundo. Ahora construiremos un script en Python capaz de recibir estos mensajes y haciendo con ellos como quisiéramos. En primer lugar, debemos iniciar la conexión como lo hicimos en la página anterior, y después crearemos un bucle que agarra la información actual de la corriente e imprime en la consola.
import serial arduino = serial.Serial('COM1', 115200, timeout=.1)while True: data = arduino.readline()[:-2] #the last bit gets rid of the new-line chars if data: print data
Tenga en cuenta que en este caso, bloquea el readline(), por lo que esperará hasta que una nueva línea se pasa íntegramente por el buffer serial. Muy a menudo, readline() se coge una línea en blanco, así que me tiré en un if declaración para verificar que los datos contenidos realmente nada. Si querías más precisa sin bloqueo apropiación de datos, usted podría utilice read() y Serial.write() (de bytes) o Serial.print() (para caracteres de ASCII) en el lado de Arduino, pero tendría que analizar personaje por personaje.