Traqueur ISS vivant à l’aide de la Raspberry Pi avec un SenseHat (mise à jour) (1 / 2 étapes)

Etape 1: Le script

Vous pouvez trouver le script complet à: Bitbucket

Tout d’abord de toutes les bibliothèques nécessaires :

  • Bibliothèque de SenseHat . (J’ai remplacé la norme RTIMUlib installé par RTIMUlib2)
  • OS et sys commande l’analyse comme mettre fin à l’exécution du script
  • json pour récupérer les données de l’API appelle dans un dictionnaire Python
  • urllib2 pour accéder à l’URL sur le web
  • DateTime et temps pour des raisons évidentes
  • pygame pour l’interprétation des événements joystick
  • IssFlags un second script Python contenant toutes les définitions de sprite des drapeaux

La section principale contient les instructions pour extraire les événements (mouvements de la manette de jeu) de la file d’attente de pygame. Cette partie doit toujours être dans la boucle principale du script. Le joystick est une touche à 5 voies (haut, bas, gauche, droite, presse) qui produit 10 épreuves différentes (5 fois KEYUP, 5 fois KEYDOWN). Lorsque vous appuyez sur le joystick, on produit des 2 épreuves (KEYUP et KEYDOWN) avec le même code (haut, bas, gauche, droite). Tout d’abord, j’ai nettoyé la file d’attente après avoir lu un seul événement, mais quand j’ai ajouté la fonction trackISS() pour la boucle principale, d’une manière particulière, pygame géré ces deux événements avant d’effacer la file d’attente. Pour cette raison la fonction handle.event() commence avec un filtre sur le type d’événement. Le reste parle de lui-même.

trackISS() a été ajouté à la boucle principale pour rendre le script un peu plus vive : lorsque aucune clé n’est utilisés, l’emplacement de l’ISS est affiché. La fonction est rester simple : obtenir un record de json de l’API, enrichir les données reçues via un appel à une API deuxième et afficher les résultats.

Une description de l’API et quelques exemples sur la façon de les utiliser, se trouvent à: ISS API

La structure de données des documents json peut également être facilement récupérée en copiant l’url dans un navigateur. (Après tout une API est juste une « non-donc-bon-à la recherche-url »). A 'essayer – sauf' instruction gère l’accès à l’API-url. Ceci est fait pour empêcher que le script s’écraser lorsque l’url n’est pas accessible (causée par p. ex. perte de wifi, d’un pépin de votre fournisseur ou entretien effectué à l’API-server, etc..).

La première API retourne une grande quantité de données comme coordonnées solaires, vitesse, visibilité et terre. Pour enrichir ces données avec un code de pays et le fuseau horaire actuel, la latitude et la longitude retournée par l’API premier doivent être ajoutés à la deuxième URL par simple concaténation de chaînes.

La deuxième API retourne uniquement les données lorsque l’ISS est au-dessus de la terre. Altitude, l’API renvoie le fameux « 404 Page introuvable erreur ». Ainsi, après avoir vérifié la disponibilité de l’url, le script vérifie une erreur http ainsi. Lorsqu’il rencontre une erreur http, l’emplacement en mer est affiché. Si les données sont renvoyées, le code de pays est utilisé pour rechercher les données de l’indicateur.

La fonction showLevels() traite les données de tangage et de roulis. Il contient une boucle de contrôle de l’orientation de l’IPD et aux délais de la position de ralenti de la framboise. Chaque fois que le RPi est déplacé dans la durée d’inactivité maximale, le nombre de lignes et de colonnes est calculé et affiché. La taille de la matrice lcd (8 x 8) détermine la résolution du niveau (180 degr / 8). Puisqu’il n’y a aucun centre/milieu de la matrice, la ligne/colonne d’abord doit être déterminée chaque fois, selon le mouvement (nez ou queue, gauche ou droite). Il n’est aucun codage sophistiqué, juste manipulation chaque exigence/restreindre à la fois.

La fonction environmentals() appelle juste pour chaque capteur à la fois. Le codage de chaque capteur est pris tout droit sorti des SenseHat des exemples (le dossier fait partie de l’installation). Sachez que l’appel pour le magnétomètre désactive le gyroscope et l’accéléromètre. Vous aurez à les allumer chaque fois en utilisant le 'set_imu_config (bool, bool, bool)' déclaration.

Jusqu'à présent, pour ce que je pouvais sortir le SenseHat. J’espère que ça aide les gens avec les premières étapes à l’aide de la Commission. Je suis curieux de connaître les autres/nouvelles idées pour les apllications. Et bien sûr, n’hésitez pas à pousser plus de drapeaux dans le script IssFlag.py.

Articles Liés

Système de fréquentation à l’aide de lecteur Raspberry Pi et de tags NFC

Système de fréquentation à l’aide de lecteur Raspberry Pi et de tags NFC

avec mon nouveau jouet Raspberry pi j'ai fait plusieurs essais projets provenant deInstructables, adafruit etc.. Mais après un certain temps, il est devenu ennuyeux et j'ai commencé à la recherche de quelque chose de réellement utile pour moi. Mon te
Comment donner un accès à internet à Raspberry Pi avec l’aide de Samsung Wireless LAN Adapter

Comment donner un accès à internet à Raspberry Pi avec l’aide de Samsung Wireless LAN Adapter

Aujourd'hui, je vais vous montrer comment donner un accès à internet à v1.1 Raspberry Pi 2 modèle B à l'aide de Samsung Wireless LAN Adapter.Comme vous le savez, les Smart TV Samsung sont accepter seulement Samsung Wireless LAN adaptateurs se connect
Serveur de musique Raspberry Pi avec filtre intégré et DSP

Serveur de musique Raspberry Pi avec filtre intégré et DSP

Salut ' iblers j'ai envie de partager ce projet avec vous : transformer votre pi framboise en un serveur de musique puissante qui peut lire des fichiers audio à haute résolution, séparer des signaux audio par fréquence (crossover) et haut-parleur et
Obtenir des prix Stock sur Raspberry Pi (avec Python)

Obtenir des prix Stock sur Raspberry Pi (avec Python)

Je travaille sur quelques nouveaux projets portant sur l'obtention de données boursières sur le web, qui vont être enregistrée et affiché via mon Raspberry Pi. Je voulais partager la configuration sur la façon de le faire à l'aide de Python.Ce court
Toutes les Station météo bricolage Raspberry Pi avec le logiciel

Toutes les Station météo bricolage Raspberry Pi avec le logiciel

Retour à la fin février, j'ai vu ce post sur le site de Raspberry Pi.http://www.raspberrypi.org/School-Weather-station-...Ils avaient créé le Raspberry Pi des Stations météorologiques pour les écoles. J'ai voulu totalement un ! Mais à cette époque (e
Configurer le Raspberry Pi avec écran PiTFT de AdaFruit

Configurer le Raspberry Pi avec écran PiTFT de AdaFruit

Configurer le Raspberry Pi avec affichage PiTFT de Adafruit.Cette instructable utilise un MacBook Pro et spécialisé câble USB au lieu d'un moniteur, le clavier et la souris pour mettre en place un Pi de framboise.Je suis très enthousiasmée par l'affi
Programmation Raspberry Pi avec CODESYS

Programmation Raspberry Pi avec CODESYS

SalutCette instructable est essentiellement un tutoriel pour obtenir vous aller en utilisant l'environnement CODESYS pour programmer un Pi de framboise.Cette instructable vise non pas tant pour les amateurs, mais plutôt de bourgeonnement contrôle/aut
Scanner de documents Raspberry Pi avec téléchargement automatique sur Dropbox.

Scanner de documents Raspberry Pi avec téléchargement automatique sur Dropbox.

Avez vous déjà eu inquiet quand vous n'avez pas été en mesure de trouver une loi ou post-it note que vous avez vraiment besoin ? Bien avec ce Scanner de documents Raspberry Pi maintenant vous ne devrez pas ! Toutes vos notes, les reçus et les documen
Labyrinthe du solveur Robot, à l’aide de l’Intelligence artificielle avec Arduino

Labyrinthe du solveur Robot, à l’aide de l’Intelligence artificielle avec Arduino

(Si vous aimez ce Instructable, n'oubliez pas de voter à ce sujet (ci-dessus : drapeau de coin à droite). Rex, le Robot est en concurrence sur la robotique et des concours de capteurs. Merci beaucoup! ;-)Cet Instructable a été développé lors de mon d
Bande de led comment configurer OSMC avec Hyperion sur Raspberry Pi avec WS2812b

Bande de led comment configurer OSMC avec Hyperion sur Raspberry Pi avec WS2812b

Parfois j'ai anglais très bien, parfois non...Premières choses première. Il s'agit de mon premier instructable et anglais n'est pas ma langue maternelle, alors s'il vous plaît, ne soyez pas trop dur sur moi. Ce sera pas sur la façon de construire le
Renforcer le centre de médias de Raspberry Pi avec Bluetooth A2DP (OSMC)

Renforcer le centre de médias de Raspberry Pi avec Bluetooth A2DP (OSMC)

Ayant la connectivité Bluetooth et activation Raspberry Pi de se comporter comme A2DP source n'est pas nouveau (voir un tutoriel général sur Instructables), mais le problème que j'ai eu jusqu'à présent faisait ce travail sur mon media center Pi qui c
Faire un Oscilloscope à l’aide de la SainSmart Mega2560 avec l’écran TFT LCD et 3.5 "écran tactile couleur

Faire un Oscilloscope à l’aide de la SainSmart Mega2560 avec l’écran TFT LCD et 3.5 "écran tactile couleur

Cette instructable vous montrera comment construire un portable à écran tactileOscilloscope pour moins de 40 U$ !L'oscilloscope est l'un des plus puissants électronique instruments quiest offert aux ingénieurs et expérimentateurs amateurs d'électroni
À l’aide de composants de NXT avec un Micro contrôleur

À l’aide de composants de NXT avec un Micro contrôleur

il s'agit d'un guide d'utilisation de moteurs et capteurs de LEGO NXT réglés avec une parallaxe Basic Stamp II ou BS2.  Cependant, plutôt que de simplement fournir schémas et exemples de code pour la BS2, je vais fournir une théorie sur le fonctionne
À l’aide de lot mise à jour logiciel

À l’aide de lot mise à jour logiciel

J'avais besoin de certains de mes logiciels que les gens utilisent pour mettre à jour. Pour renouveler les fichiers, corriger les bugs et télécharger le nouveau code. Il m'a fallu un certain temps, mais j'ai figuré dehors comment le faire et maintena