Signe de transit bricolage Home LED (2 / 2 étapes)

Étape 2 :

Code source

Comme d’habitude, je vais commencer avec le code source, qui se trouve sur github. Voici un miroir local, juste au cas où le code source d’un bijou Muni de prochaine patché est ici.

Comment faire pour exécuter

Il y a une petite documentation dans le fichier README, et exemples de ligne de commande sont dans le script de démarrage du démon pour ce spec. fondamentalement, que vous sélectionnez un arrêt sur nextmuni.com pour trouver votre ID d’arrêt et exécuter client/client.rb--stopId 12345. Alternativement, vous pouvez exécuter un tableau de bord de matin en spécifiant jusqu'à deux itinéraires et des arrêts en texte et ajouter une URL pour récupérer la météo fromweather.gov :

Notes de configuration PI

Au cours de la première manche, connectez la souris, le clavier et la carte Wi-Fi par le biais de l’USB-hub. Suivi le guide mise en route pour télécharger l’image initiale sur carte SD. Redémarrez-le, installer la distribution basée sur Raspbian Debian de défaut. Sélectionnez l’option « boot automatiquement l’environnement de bureau au démarrage » lorsque demandé. Alors que vous n’en avez pas besoin, c’est la meilleure façon de configurer une connexion Wi-Fi. Une fois sur le bureau, sélectionnez « configuration Wi-Fi » en vertu d’un des menus accédés via le bouton Démarrer et configurer la carte wi-fi que vous avez inséré pour se connecter au routeur. Assurez-vous que vous configurer également au démarrage d’une connexion wi-fi automatiquement au démarrage. Configurer le serveur SSH et assurez-vous qu’il démarre au démarrage. Configurer le nom d’hôte, ou écrivez à l’adresse IP. Redémarrer et essayer de SSH depuis une autre machine. Si cela fonctionne, déconnectez la souris, le clavier et HDMI : vous n’avez plus besoin. Assurez-vous que git est installé via sudo apt-get install git, télécharger les sources et suivez les instructions du README pour installer les runtimes de langue. Jouer avec les options de ligne de commande du script pour comprendre ce que vous voulez exécuter et configurer un démon en installant l’initscript. Une fois suffisamment confiance dans la résilience de l’installation, ce monter sur votre mur.

Résultats

Donc la solution aidé : J’ai arrêté de courir comme un écolier japonais et a commencé à contrôler ma procrastination matin, aussi. En prime, j’ai eu une estimation approximatives de combien il devrait coûter aux contribuables pour programmer ce signe, et, bien sûr, j’ai eu beaucoup de plaisir, aussi. Enfin, j’ai maintenant un élément geek dans mon salon... même si elle ressemble aux autres sous forme de flux du cours des actions, plutôt que des heures d’arrivée Muni.

Notes

Les autres sont moins sections « à chaud », racontant mon expérience avec les outils que j’ai utilisé pour le travail.

Ruby

Défaut de l’IP framboise Linux, comme un dérivé de Debian, contiennent support décent pour Ruby, dont 1,9. qui est un peu vieux déjà, cependant. Il faut Pi plusieurs secondes pour charger l’interprète et une douzaine de pierres précieuses, j’avais besoin pour ce signe, mais c’est OK, étant donné que le programme démarre seulement une fois lorsque le système est mis sous tension.

Signe de LED

Donc le signe que j’ai utilisé fourni une API Perl, et il serait donc naturel d’écrire le programme client en Perl, trop... pas vraiment. Alors que j’ai beaucoup d’expérience de programmation en Perl, je préférerais de beaucoup préfèrent plutôt écrit dans un langage plus intéressant, tels que Python ou Ruby. C’est l’une des raisons pourquoi j’ai écrit un petit wrapper sur l’API Perl, pour que je puisse exec ce programme simple de n’importe quelle autre langue. Une autre raison pourquoi j’ai écrit cette API a été que le signe ne supporte pas les deux lignes de texte dans son moteur de rendu de texte intégré. L’API permet de fournir une ligne de texte et le signe sera rendre heureux et même ajouter des effets, mais je voulais plutôt que deux lignes dans une police plus petite. API n’est pas une fonction « rendu l’image », mais le signe permet de créer vos propres glyphes de la police et les insérer dans le texte. L’idée évidente d’impression 16 x un 96 « symbole » travaillé. Le wrapper fait exactement cela. Le signe peut également parcourir plusieurs images--tout comme le signe réel Muni. API, c’est très facile à programmer : cela produit automatiquement lorsque vous envoyez plusieurs messages. Intégration avec Pi s’est bien passé : il suffit d’utiliser $sign -> send (appareil = > "/ dev/ttyUSB0") ; dans votre programme. Il y avait plusieurs problèmes, cependant. Tout d’abord, chaque glyphe est automatiquement centrée, sauf si elle est supérieure à environ 80 pixels de large, auquel cas il est aligné à gauche. Parcourant différemment alignés messages semble mal, donc j’ai forcer toutes les images, que j’ai envoyer le signe comme 16 x 96, leur remplissage avec des pixels noirs. Deuxièmement, il est impossible d’éteindre le signe par programme. Pour alimenter l’éteindre, j’ai besoin de physiquement supprimer la connexion USB et éteindre car il commence à utiliser la batterie dans le cas contraire. Intention du fabricant signe était probablement que vous ne re-programmez le signe souvent, donc vous il programmerait une fois et puis le tourner sous et hors tension manuellement. Mais nous sommes programmeurs trop ; ne fonctionne pas autour des choses notre pain quotidien ? Affichage d’une image tout en noir, a fait le tour d’éteindre le signe « ». Troisièmement, j’actualise le signe chaque 30 secondes pour s’assurer de prédiction en temps voulu, mais il faut 1-2 secondes pour mettre à jour le signe. Je suppose que c’est parce que le signe contient sa propre programmation et CPU, ou parce que je n’essaie de jouer avec envoyer arguments d’une fonction. Bien que sa plomberie interne affecte probablement la vitesse de mise à jour, et j’ai vu des exemples de déchargement la synchronisation et le clignotement des feux à Raspberry Pi complètement avec des signes différents, plus bas niveau, ce serait trop de temps pour moi de vous embêtez pas avec. Aussi, je ne sais pas combien de temps dure le signe quand elle est re-programmée deux fois une minute. Jusqu’ici, je suis très heureux avec le signe de Bright LED que j’ai utilisé et son API.

Rendu des polices

Je m’attendais à passer le temps zéro sur le rendu des polices, mais il a fallu beaucoup, beaucoup plus de temps que je m’y attendais. Eh bien, j’avais l’intention d’écrire mon propre moteur de rendu de polices simple, mais plusieurs roches cachées m’attendaient sous le sable fin. Tout d’abord, je ne pouvais pas trouver une police « raster » c’est juste un ensemble d’images bitmap. J’ai fini le téléchargement de polices TTF « pixélisé » et rendant avec la bibliothèque FontConfig. Je ne voulais pas le signe d’avoir beaucoup de dépendances, alors j’ai pré-rendeded les glyphes sur mon Pi de manière prêt-à-utiliser avec ce script et a écrit une petite bibliothèque pour les actionner. Le plus amusant est que je pourrais ajouter facilement de nouveaux glyphes, tels que des indicateurs de la pluie. Nous prenons également beaucoup de rendu des polices pour acquis, comme l’alignement au centre, mot d’emballage, de crénage. J’ai mis en œuvre de certains d'entre eux d’une manière très simple (en Ruby!) mais je pense que quelques fonctionnalités plus me ferait ragequit en faveur d’une bibliothèque de rendu de polices réel au lieu de cela.

Pour accéder aux prévisions Muni

Une autre raison pourquoi j’ai choisi Ruby était la bibliothèque Muni en Ruby, prêt à l’emploi pour obtenir des prédictions du système NextBus. Ou alors j’ai pensé : la bibliothèque manquait certaines fonctionnalités, telles que les routes de raffinage ou d’obtenir des prédictions pour toutes les voies d’un arrêt (c’est ce qu’affiche un panneau Muni). Il a également tiré dans la pile entière de Rail que pour afficher la chaîne heure bien formaté ! (comme, convertir intervalle en secondes à quelque chose de fantaisie comme « plus de 1 heure »). J’ai corrigé certaines de ces choses et livré la gemme avec la source d’origine pour votre commodité, parce qu’il était plus facile que la fourche il et en l’ajoutant dans un référentiel officiel.

Spécifiez routeConfig !

Apparemment, les moniteurs Muni officiels exploiter dans les mêmes termes : routeConfig est une des commandes API du service NextBus.

De toute façon, NextBus système a une API de nice, qui est apparemment libre de l’utiliser si l’utilisation est limitée ou est répartie entre les clients. Un Ponte de ce site nextmuni.com est consacré à SF Muni. La seule chose que je n’ai pas trouvé était les noms réels de la

Prévisions météo Retrieval

Oh, Eh bien, voici la partie la plus facile,"J’ai pensé quand j’ai fini avec tout le reste et a décidé de jeter dans les prévisions météorologiques. J’ai eu tort de façon très intéressante. Il s’avère que, la prévision Qu'api ne sont généralement pas gratuit. Les sites Internet que j’ai trouvé en haut de Google recherche d’images toutes inscriptions et votre touche personnelle pour tous les appels API, y compris. Beaucoup ont eu des versions gratuites limitées mais paiement requis pour les prévisions horaires--et je m’intéressais surtout dans des conditions à un endroit précis à une heure spécifique de la journée (temps de San Francisco n’est pas très stable). Non pas que je suis opposé aux services payants en soi, ou à l’analyse des pages web avec des expressions régulières, mais je n’ai qu’une grande partie de leur faire payer, je fais ? J’ai procédé à un service de weather.gov gouvernement libre, qui est en fait sorte de cool malgré la conception web du siècle dernier. Le service est limité aux États-Unis, mais San Francisco Muni prédictions ne sont pas non plus très utiles à l’extérieur du pays. Pour l’utiliser, vous devez fournir un lien vers tableau XML pour votre ville/région, qui ressemblerait à ceci : http://forecast.weather.gov/MapClick.php?lat=37.77493 & lon =-122.41942 & FcstType = digitalDWML. Je n’utiliser leur API, car c’est un savon à part entière, et personne n’as pas le temps.

Articles Liés

Maison Raspberry Pi cas libre acrylique pas cher bricolage Home Theater PC HTPC

Maison Raspberry Pi cas libre acrylique pas cher bricolage Home Theater PC HTPC

Maison Raspberry Pi acrylique cas très bon marché pour bricolage Home Theater PC HTPC par faire votre selt,Cette belle HTPC travailler tous les films HD 720 ou 1080, module Raspberry Pi environ 35 USD, caisse gratuite par DIY acrylique, alimentations
BRICOLAGE lampe à LED de convertir à la lampe de poche solaire énergie libre générateur maison

BRICOLAGE lampe à LED de convertir à la lampe de poche solaire énergie libre générateur maison

Convert bricolage lampe à LED lampe de poche solaire énergie libre générateur fait maisonMatériel :LED lampe 7 x 3 Watt LED et super light avec puissance d'alimentation 220 v AC à 25 v DCRetirer le bloc d'alimentation (adaptateur secteur)Convert LED
BRICOLAGE Home Made Gym

BRICOLAGE Home Made Gym

BRICOLAGE Home Made GymIl n'y a rien manlier ce travail dans votre garage. En fait, beaucoup d'hommes ont abandonné les adhésions de leur gym inutiles et utilisé cet argent pour acheter du matériel pour leurs propres salles de sport garage personnel.
Cas de Pi framboise maison projets bricolage Home cinéma ordinateur HTPC Aluminium CNC fraisage

Cas de Pi framboise maison projets bricolage Home cinéma ordinateur HTPC Aluminium CNC fraisage

Cas de Pi framboise maison projets bricolage Home cinéma ordinateur HTPC Aluminium CNC fraisageMonocarte micro-ordinateurs comme le Raspberry Pi 2 sont le rendant moins cher et plus facile que jamais pour en savoir sur les ordinateurs.Autrement dit,
BRICOLAGE Home Made 6W LED ampoule

BRICOLAGE Home Made 6W LED ampoule

mon objectif avec ce projet était de créer une faible coût ampoule économie d'énergie LED pour les quartiers pauvres. Ampoules économiques sont chers ici au Pakistan. Ampoules chinois de note de frais de 5 à 7 Watts environ 6 à 8 $ US qui ne sont pas
Maison Raspberry Pi bon marché affaire bricolage Home Theater PC HTPC sous 1$

Maison Raspberry Pi bon marché affaire bricolage Home Theater PC HTPC sous 1$

Framboise maison Pi cas pas cher bricolage de la zone de couverture ADSL Modem cassé, très bon marché pourHome Theater PC HTPC bricolage (environ 1$)-Raspberry Pi 2 Module environ 35 USD acheter sur EBay, adaptateur secteur,Adaptateur HDMI pour souri
25 $ bricolage bande LED élèvent la lumière

25 $ bricolage bande LED élèvent la lumière

J'ai voulu une lumière brillante pour vous aider à commencer mes semis au printemps. Il y a deux variations à ce projet, un avec un dissipateur de chaleur et l'autre sans. Les photos sont pour la version de dissipateur de chaleur, puisque c'est ce qu
Vision de nuit maison jumelles infrarouge portée caméra CCTV bricolage Finder Led Module

Vision de nuit maison jumelles infrarouge portée caméra CCTV bricolage Finder Led Module

Night vision goggles ont été inventés pour utilisation par les militaires. La technologie qui permet la vision nocturne est appelée un tube intensificateur d'image infrarouge. Les tubes de transfert photons en électrons en passant une accusation par
Comment faire un bricolage Home Theater

Comment faire un bricolage Home Theater

dans la dernière décennie, cinémas maison sont devenus plus populaires dans les foyers dans tout le pays, au lieu d'être simplement un produit de luxe que seuls les riches ou célèbres pouvaient se permettre. La technologie continue de s'améliorer, re
Signe de rétro-éclairé LED

Signe de rétro-éclairé LED

jamais besoin d'un moyen créatif de demander une fille au bal ou une autre sorte de danse ? Eh bien, voici un projet simple qui est visuellement superbe, créatif, flashy et vaut mieux que de demander avec une affiche normale et chocolats. Si vous ête
Blink blink couvre-livres Light Up bricolage avec LEDs

Blink blink couvre-livres Light Up bricolage avec LEDs

Salut tout le monde !Nous avons voulu partager comment faire vos couvertures de livre s'allument avec LEDs et créatifs circuits (également connu sous le nom de soft-circuits). Nous a débuté avec une citation préférée et utilisé des LEDs et soft-circu
Bracelet de bricolage Home Depot

Bracelet de bricolage Home Depot

Salut ! Je suis Stephanie, le blogueur à Henry s'est passé . J'ai un peu d'une dépendance bricolage et aime à errer dans les Home Depot pour l'inspiration facile (et cher). Voici un projet simple qui crie « industriel chic! »:)La dernière fois, j'ai
BRICOLAGE Maglite LED mettre à niveau les 5 000 lumen conversion

BRICOLAGE Maglite LED mettre à niveau les 5 000 lumen conversion

Ce tutoriel sera sur comment convertir une Maglite de D 2 standard dans une lumière de 5 000 lumen LED.Il faudra très peu d'outils. Une visseuse ou perceuse avec une pointe abrasive sur elle est utile, mais à la rigueur, un tournevis à tête plate fer
Bricolage rgb led boîte aux lettres

Bricolage rgb led boîte aux lettres

Salut, ceci est mon deuxième instructableJe mets à jour ma boîte aux lettres avec certains rgb led et ici, je tiens à expliquer comment le faireIl y a tout le matériel et l'outil utilisé à l'étape suivantela dernière étape contient la boîte aux lettr