Paso 7: A Closer Look en servo.py
El código de python para el control de los servos es bastante directo, siempre y cuando usted entienda Python. Personalmente, yo no soy muy fan de esta lengua, pero que está al lado del punto. Se puede leer junto con esta copia del archivo servo.py en GitHub.
Al igual que en el código Java, tienes que poner tu PubNub personal publicar y suscribirse claves aquí, así como el nombre de su canal de comunicación.
El Pi lo siguiente en el arranque:
- Restablecer el circuito de controlador de matriz AVR.
- Inicializar PubNub con sus llaves
- Suscribiros al canal de PubNub "leap2pi"
- Bucle, comprobación de un interruptor de modo de salida (más sobre esto en un minuto)
Por debajo de la campana, la biblioteca de PubNub encarga de todo el trabajo duro. Éste suscribirse llamada se encarga de todo, sólo tenemos que especificar algunas devoluciones de llamada - estas son las funciones que se llaman cuando un evento ocurre.
#Subscribe a subchannel, ajuste en función de devolución de llamada _callback y fucntion sistema error a _error pubnub.subscribe (canales = canal, callback = _callback, error = _error, conectar = _connect, vuelva a conectar = _reconnect, desconecte = _disconnect)
Las devoluciones de llamada con respecto a la conexión deberían ser obvios (conectar, reconectar, etc.), pero lo que más funciona es la devolución del bien llamado "callback". Esta función realmente hace algo con el mensaje que recibimos de los canales suscritos. Como se mencionó anteriormente, la caja tiene un par de modos de salida seleccionado por un interruptor conectado a unas líneas del IO.
- ESPEJO - los bots serán espejo de sus movimientos; por lo tanto, la mano izquierda controla inversamente el bot derecho
- DISCAPACITADOS - los servos será insensibles
- Clon - los robots copia sus movimientos; por lo tanto la mano izquierda controla directamente el bot izquierdo
La lógica de estas modalidades así como las declaraciones manejo de I2C se manejan en la función _callback.
El otro elemento de nota en este archivo es el uso de pin GPIO 4 como salida. Esta clavado es la puerta de un MOSFET que conecta un conjunto de LEDs azules a tierra. Este pin está habilitado en una conexión a PubNub, por lo que los diodos actúan como un indicador de conexión. Este es un aspecto muy importante de configuraciones sin cabeza - tiene que haber alguna indicación para saber que estamos conectados a internet!