Paso 12: [TCP]: permite crear un cliente!
El cliente (Raspberry Pi en nuestro caso), que recibe los datos desde el servidor (nuestro P.C. en nuestro caso) obtendrá datos que enviar a la Pi (comandos serie que se realizará en el Arduino) y recibir datos hacia atrás (Sensor de lecturas y comentarios directamente en el Arduino. El esquema adjuntado muestra la relación entre los tres.
El artículo de la Wiki de Python TcpCommunication demuestra que es tan sencillo de hacer esa comunicación con unas pocas líneas de código usando el módulo de enchufe incorporado. Tenemos un programa en el PC y otro en el Pi.
Vamos a trabajar con interrupciones. Aprende que más en las explicaciones paso sobre ellos. Leer allí sobre tampones demasiado.
Ahora, podemos leer los datos que tenemos usando data=s.recv(BUFFER_SIZE) pero será el número de caracteres que hemos definido con vaciar las picaduras. ¿Podemos utilizar interrupciones? ¿Otra pregunta: el buffer aparecerá vacío o esperará el servidor enviar más datos en el cual caso el servidor/cliente producirá una excepción de tiempo de espera?
Permite hacer frente a eso uno por uno. Antes de hacerlo, he mirado este artículo de Wikipedia que utilicen los puertos TCP y UDP. Después de un vistazo rápido he decidido que este proyecto se comunicará en Puerto 12298 porque no es utilizada por el sistema operativo y servicios locales.