Paso 5: Bibliotecas y librerías
Probaron el circuito utilizando un Arduino y la biblioteca se encuentra aquí.
Pero, porque necesitaba tiempo para conectar mi proyecto a internet y hacer un seguimiento de su estado entre reinicios, decidí utilizar un Raspberry Pi como el controlador en lugar de otro.
Comencé esta librería para el control de los motores de la prueba, pero luego decide volver a escribirlo para que sea más orientado a objetos y que algunas de las mismas capacidades como la librería de Arduino.
La biblioteca de Python AX-12A resultante para Raspberry Pi está en github.
Resulta que el tiempo entre envíos de comandos y obtener su respuesta es bastante crítico y sensible.
Cierta cantidad de tiempo pasó afinando valores de retardo para reducir al mínimo el número de comandos cayó, pero siento que todavía puede haber algunos problemas con este aspecto de la biblioteca. Todavía no estoy seguro qué causa algunos comandos para nunca llegar a los motores (podría tener algo que ver con la sincronización de la señal de dirección de Rx/Tx), pero por ahora yo puedo disminuir el número de comandos perdidos por una excepción de tiempo de espera en la biblioteca de Python serial y volver a enviar el comando.