Live tracker ISS con el Raspberry Pi de un SenseHat (actualizado) (1 / 2 paso)

Paso 1: La secuencia de comandos

Usted puede encontrar el script completo en: Bitbucket

Primero de todas las librerías necesitada:

  • Biblioteca de SenseHat . (Sustituido el estándar RTIMUlib instalado por RTIMUlib2)
  • os y sys comando analizar como poner fin a la ejecución del script
  • json para recuperar los datos de la API de llama en un diccionario de Python
  • urllib2 para acceder a la URL a través de la web
  • fecha y hora y el tiempo por razones obvias
  • pygame para la interpretación de los eventos de joystick
  • IssFlags un segundo script en Python que contiene todas las definiciones de sprite de las banderas

La sección principal contiene las instrucciones para recuperar los eventos (movimientos de la palanca de mando) de la cola de pygame. Esta parte debe ser siempre en el bucle principal del script. El joystick es un botón de 5 vías (arriba, abajo, izquierda, derecha, prensa) que produce 10 eventos diferentes (5 veces KEYUP, KEYDOWNde 5 veces). Al empujar la palanca de mando, uno produce 2 eventos (KEYUP y KEYDOWN) con la misma clave (arriba, abajo, izquierda, derecha). Primero limpié la cola después de leer un solo evento, pero cuando he añadido la función trackISS() en el bucle principal, de alguna manera peculiar, pygame maneja ambos eventos antes de eliminar la cola. Por razón la función de handle.event() comienza con un filtro de tipo de evento. El resto habla por sí mismo.

trackISS() fue agregado al bucle principal hacer que el script un poco más animado: cuando no se utilizan teclas, se muestra la localización de la ISS. La función se mantiene simple: obtener un registro json de la API, enriquecer los datos recibidos a través de una llamada a una API de segunda y mostrar los resultados.

Una descripción de la API y algunos ejemplos de cómo utilizarlos, puede encontrarse en: ISS API

La estructura de datos de los registros de json también puede ser fácilmente obtenida copiando la url en un navegador. (Después de una API es sólo un 'no-tan-bueno-buscando-url'). A 'probar – excepto' declaración controla el acceso a la url de la API. Esto se hace para evitar que el script falle cuando la url no es accesible (causada por p. ej. pérdida de wifi, un error o de su proveedor de mantenimiento en el servidor de la API, etc..).

La primera devuelve muchos datos como coordenadas solares, velocidad, visibilidad y coordenadas de la tierra. Para enriquecer esta información con un código de país y la zona horaria actual, la latitud y longitud devuelta por la API de primera deben ser añadida a la segunda URL por concatenación de cadena simple.

La segunda sólo devuelve datos cuando el ISS está por encima de la tierra. Mar la API devuelve el notorio '404 página no encontrada error'. Así que, después de comprobar la disponibilidad de la url, la secuencia de comandos comprueba un HTTPError así. Cuando se enfrentan a un HTTPError, se muestra la ubicación en el mar. Si se devuelven los datos, el código de país se utiliza para buscar los datos de la bandera.

La función showLevels() se ocupa de los datos de la echada y del rodillo. Contiene un bucle comprobando la orientación de la RPi y la posición de reposo de la frambuesa de la sincronización. Cada vez que el IPC se mueve en el tiempo máximo de inactividad, el número de filas y collumns se calcula y se muestra. El tamaño de la matriz de lcd (8 x 8) determina la resolución del nivel (degr 180 / 8). Ya que no existe ningún centro medio de la matriz, la fila o columna de entrada tiene que determinarse cada vez, según el movimiento (nariz o cola, de izquierda o derecha). No es sofisticado de codificación, sólo manejo cada requisito/limitar en un momento.

La función environmentals() solo llama para cada sensor a la vez. La codificación para cada sensor se toma directamente de los ejemplos de SenseHat (la carpeta es parte de la instalación). Tenga en cuenta que pidiendo el magnetómetro deshabilita el giroscopio y el acelerómetro. Tendrás que encender aquellos cada vez utilizando el 'set_imu_config (bool, bool bool)' declaración.

Hasta el momento por lo que pude conseguir de la SenseHat. Que ayuda a las personas con los primeros pasos con la Junta. Tengo curiosidad sobre otros/nuevas ideas para apllications. Y por supuesto hacer más banderas en el script de IssFlag.py.

Artículos Relacionados

Control de una pantalla de 7 segmentos de 4 dígitos con una Raspberry Pi

Control de una pantalla de 7 segmentos de 4 dígitos con una Raspberry Pi

http://www.raspberrypi.org/forums/viewtopic.php?f=...Aquí es una forma de control de dígitos de 7 segmentos 4 con un Raspberry Pi.Por favor vote como realmente quiero ganar un concurso en mi vida :-)No lo siento fotos :-(Paso 1: Los cables! Se trata
Hacer un barco autónomo con una Raspberry Pi (WiP)

Hacer un barco autónomo con una Raspberry Pi (WiP)

la ola de entusiasmo por el Raspberry Pi ha llevado a muchas personas se preguntan en las posibilidades, y maravillarse con la simplicidad. La tarjeta de crédito tamaño SBC es perfecto para casi cualquier cosa. Tal vez incluso para cruzar el océano A
Utilizar ssh para hablar con el Raspberry Pi.

Utilizar ssh para hablar con el Raspberry Pi.

Esta breve guía explica cómo usar ssh para hablar con el Raspberry Pi.Se necesita:1 frambuesa Pi conectado al router(Monitor y teclado).Si usted está buscando una guía para acceder a su frambuesa Pi desde la mirada de internet aquí:Paso 1: Habilitar
Ciclo de un LED RGB por todo el espectro de color con un Raspberry Pi 2 y cero

Ciclo de un LED RGB por todo el espectro de color con un Raspberry Pi 2 y cero

Actualización de notas Jueves, 25 de febrero de 2016 : He mejorado el programa Scratch y rediseñado mi instructable.Hola chicos, con este proyecto que quise utilizar Scratch para un LED RGB por todo el espectro de color.Hay una carga de proyectos hac
Construir su primer IOT con una Raspberry Pi DHT11 sensor y Thingspeak.

Construir su primer IOT con una Raspberry Pi DHT11 sensor y Thingspeak.

IOT o Internet de las cosas es un tema candente! Según los expertos todo se conectará a internet y todos los dispositivos y sus datos pronto será sólo una dirección IP de nosotros. Así que ¿por dónde comenzar si desea explorar el mundo de Internet? Q
Controlando un motor paso a paso con el Raspberry Pi y Piface

Controlando un motor paso a paso con el Raspberry Pi y Piface

Actualizado Abril de 2015He hecho esto porque no he encontrado ningún proyecto con el PiFace.Tema del foro en www.raspberrypi.org:http://www.raspberrypi.org/phpBB3/viewtopic.php?f=37&t=54314&p=413902Aquí es un proyecto simple que sólo necesita un
Usando un disco duro externo USB con el Raspberry Pi

Usando un disco duro externo USB con el Raspberry Pi

Introducción experimental:En muchos casos SD capacidad no es suficiente. Por suerte el Raspberry Pi se puede conectar fácilmente a los discos duros externos USB. Siga los pasos de esta sección, y pronto tendrás mucho más espacio de almacenamiento con
Radio de Multiroom de AirPlay con el Raspberry Pi, sin hardware adicional necesario.

Radio de Multiroom de AirPlay con el Raspberry Pi, sin hardware adicional necesario.

Más formas de escuchar música de varios conjuntos de altavoces cuestan más que merece la pena. Creo que no tengo que decir mucho al respecto, probablemente quería hacer esto en el pasado pero sólo parecía estúpido gastar ese dinero en un sistema sepa
Hacer el teléfono/tablet/escritorio un control remoto con un Raspberry Pi

Hacer el teléfono/tablet/escritorio un control remoto con un Raspberry Pi

Tengo mi equipo de trabajo en red y audio/vídeo en un armario de cableado. Algunos equipos como los receptores de satélite tienen control remoto de RF. Pero la mayoría de los equipos tiene control remoto por infrarrojos. Este Instructable le mostrará
* Preliminar * SPI en el Pi: comunicar con un acelerómetro de 3 ejes SPI con un Raspberry Pi

* Preliminar * SPI en el Pi: comunicar con un acelerómetro de 3 ejes SPI con un Raspberry Pi

guía paso a paso sobre cómo configurar Raspbian y comunicarse con un dispositivo SPI usando bcm2835 SPI biblioteca (no poco golpeado!)Todavía es muy preliminar... Necesito añadir más imágenes de conexión física, y trabajar a través del código torpe.P
Utilizando un sensor de sonido con un Raspberry Pi para el control de su luces de Philips Hue

Utilizando un sensor de sonido con un Raspberry Pi para el control de su luces de Philips Hue

Caso de uso: la puerta de mi cocina es pesada, si está cerrada no puedo oír ningún sonido fuera de la cocina. Tenían que sonar mi teléfono para poder dejarlos, que era tipo de molesto si usted espera más de 10 personas en su fiesta en plazos diferent
Supervisar un mayor estado de UPS con un Raspberry Pi

Supervisar un mayor estado de UPS con un Raspberry Pi

aquí es un pequeño mod que hice para un VS575C de OPTI-UPS.El ups tiene un puerto serial y funciona bien con Windows, junto con una serie al adaptador USB y el Opti-UPS 'Centinela' software, el UPS puede indicar a Windows cuando ha pasado al modo de
Husky: cuadrúpedo Live Streaming Bot con frambuesa pi

Husky: cuadrúpedo Live Streaming Bot con frambuesa pi

El cuadrúpedo código nombre Husky es un cuatro patas cangrejo como el robot que utiliza la frambuesa pi 2, cerebro y centro de control principal. Además, incluí también un controlador de servo y el conductor del motor de control de servo y motor de H
Tracker GPS con Edison de Intel

Tracker GPS con Edison de Intel

Ir al siguiente proyecto con el Intel Edison transporte y Kit de seguridad he creado una aplicación muy básica a un coche con el GPS de Grove. Este proyecto me llevó un poquito más de trabajo debido a la complejidad del manejo de datos GPS y la neces