Étape 6: Projet logiciel
J’ai utilisé deux programmes, un processus de Node.js, parler à un processus enfant par l’intermédiaire de ses flux de données stdin .
C’est ainsi qu’ils peuvent chacun faire ce qu’ils font le mieux et fonctionnent comme des processus indépendants à leur propre rythme.
Voici ce que j’ai fait :
Mais il ne faut, car j’ai fourni un fichier tar-gzip qui contient l’arborescence des fichiers résultant.
Configuration du serveur-côté NodeJS :
mis « index.html » et « style.css » dans le ' ~ / node_rgb/public ' annuaire
Mettez le « rgbDriver.c » et « rgb_main.js » dans la ' ~ / node_rgb' annuaire
Compilation/construire le processus c « rgbDriver » :
Téléchargement et élargir l’équivalence
Pour télécharger node_rgb.tgz (ci-dessous) votre Pi à zéro dans votre répertoire de base (~ pi) vous pourriez faire un des 3 éléments suivants :
- Télécharger à partir du navigateur dans l’interface graphique de votre Pi-Zero
Déplacez le fichier vers ~pi/ - Dans une fenêtre de terminal connecté à votre Pi-zéro :
CD ~ pi
wgetMV FZBF9BDIL6VBHKF.tgz rgb_node.tgz
- Télécharger à partir d’un navigateur sur votre ordinateur de bureau.
Utiliser WinSCP pour le copier dans le ~ répertoire de pi sur la Pi-Zero
Après avoir effectué les #1 2 ou 3 ci-dessus...
L’exécutable qui en résulte (par dessus) 'rgbDriver' peut être utilisé indépendamment du processus d’interface de Node.js.
Pour vérifier que ce pilote et le matériel fonctionnent, se nourrissent des ensembles de trois valeurs (de 0 à 255), séparés par un espace, pour le conducteur. Comme ' echo 255 0 0 |. / rgbDriver' pour red ou ' echo 0 255 0 |. / rgbDriver' pour le vert. Notez que le ". /" raconte l’OS pour trouver notre programme « rgbDriver » dans le répertoire courant. Lorsque vous émettez un ^ c (Ctrl-c) pour arrêter le pilote la led peut ou ne peut pas rester sur. Alternativement, vous pourriez nourrir interactivement de ses valeurs. Essayez de taper ces lignes un après l’autre de la ligne de commande et regarder le LED.
Veillez à ce que vous n’avez pas 2 de ces processus qui s’exécutent en parallèle.
Pour lancer le logiciel complet suite d’applications, y compris le serveur de Node.js Utilisez cette commande :
Puis utilisez Ctrl-c lorsque vous souhaitez arrêter le serveur de Node.js.
Lancez-le avec
d’avoir à exécuter dans le dos au sol, mais alors vous devrez utiliser un "sudo kill -9 pid' commande pour l’arrêter. Si cette commande semble étranger à vous, puis examinez le résultat de ces commandes: « tuer man » & 'man sudo'.
Utilisez un navigateur, sur votre bureau, tablette ou téléphone, qui est relié à votre réseau local. Atteindre
http://raspberrypi:8080 / ou si cela ne fonctionne pas utilise l’adresse ip de l’appareil (obtenu dans le cmd 'ifconfig') quelque chose comme 192.168.1.15 ainsi que la spécification de port : 8080 ou si l’utilisation GUI de la Pi-Zero : localhost: 8080 fonctionnera.
Utiliser les curseurs RGB, sur la page qui s’affiche, et regarder la lampe RGB-LED à suivre.
Autres commandes utiles
Notez que si vous vous retrouvez avec plus d’un « rgbDriver » en cours d’exécution à un moment donné que vous êtes susceptible d’avoir un comportement imprévisible. Si vous essayer d’exécutez une deuxième copie de rgb_main.js il sera erreur.
Cette commande répertorie tous les processus connexes :
Cette commande va tuer tous les processus nodeJS, ainsi que des processus enfants 'rgbDriver' :
Stand seul fonctionnement
Pour avoir la Pi-zéro démarrage de l’application serveur de Node.js quand il démarre place... à l’aide de votre éditeur favori (p. ex. nano ~/.bash_profile), tapez les lignes suivantes & enregistrer dans ~/.bash_profile
Pour garder de nuisance erreur messages lorsque vous ouvrez une fenêtre de terminal utilisent codding conditionnelle comme le script dans le fichier « start_rgb »
Quand la Pi-Zero fonctionne embarquée, sans clavier, souris ou moniteur ; l’Interface utilisateur graphique aura un minimum de temps CPU, comme il n’y aura aucune intervention de l’utilisateur. Je ne désactivez pas la mise en marche automatique GUI, comme le Pi-zéro a plus de ressources qu’il faut, dans ce cas ; et j’aime être en mesure de connecter quelques câbles et l’utiliser, à tout moment dans l’avenir. Cependant, ce n’est pas nécessaire que vous pouvez utiliser un appareil terminal SSH (PuTTY par exemple) nécessaire pour faire tout entretien.
L’utiliser comme un moniteur d’événement
J’ai créé une page web pour surveiller les variations quotidiennes de l’indice Dow Jones. Sa source peut servir comme guide pour votre propre page qui utilise des données web et les lecteurs de votre indicateur de Pi-zéro en conséquence. Cette page obtient ses données (json) d’un service de web de Google. Il existe plusieurs formes de services web, donc vous aurez à la recherche de celui que vous souhaitez utiliser pour déterminer le code JavaScript pour y accéder.
Si vous souhaitez utiliser votre appareil, comme je l’étais, comme un changement d’indice Dow dédié, autonome, indicateur ajouter ces lignes à la fin du fichier ~/.bash_profile
Le voyant s’allume un gris clair, compte tenu de la valeur 0. Il devient plus vert avec des valeurs plus élevées. C’est vert plus brillants pur à environ 250. Plus élevés, mais les valeurs sont utilisées dans un premier temps, un éclair peu profond, jusqu'à un flash plus profond à environ 500. Pour une valeur négative (gouttes quotidiennes dans le Dow Jones), il fait semblable, mais en rouge.