Table des matières:

Tableau de bord Pi Health : 3 étapes
Tableau de bord Pi Health : 3 étapes

Vidéo: Tableau de bord Pi Health : 3 étapes

Vidéo: Tableau de bord Pi Health : 3 étapes
Vidéo: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Novembre
Anonim
Image
Image

Les Raspberry Pi sont utilisés pour piloter un grand nombre de projets. Les Pi ont d'abord été adoptés par les enseignants et les amateurs, mais maintenant la fabrication et les entreprises ont compris l'incroyable puissance de Pi. Bien qu'il soit petit, convivial et peu coûteux, votre Pi contient un nombre impressionnant de sous-systèmes complexes qui doivent fonctionner pour que votre projet continue de fonctionner. Cela rend la capacité de surveiller la santé de votre Pi importante dans de nombreuses applications, de la maintenance continue d'un projet à long terme au profilage des performances d'un nouveau prototype.

Nous allons créer notre propre tableau de bord basé sur un navigateur pour surveiller la santé et les performances d'un Raspberry Pi connecté au Web. Pour accomplir cette tâche, nous exécuterons un script Python simple qui collectera les informations système du Pi et les enverra à une plate-forme cloud spécialisée dans les tableaux de bord, les analyses et les visualisations.

Dans ce didacticiel pas à pas, vous allez:

  • apprenez à collecter des informations système à partir de votre Pi via un simple script Python
  • apprenez à utiliser l'état initial pour créer votre propre tableau de bord de santé/performance du système pour votre Pi

Étape 1: État initial

Personnalisez votre tableau de bord
Personnalisez votre tableau de bord

Nous voulons diffuser toutes nos données d'utilisation du système Pi vers un service cloud et faire en sorte que ce service transforme nos données en un tableau de bord. Nos données ont besoin d'une destination et utiliseront donc l'état initial comme destination.

S'inscrire au compte d'État initial

Accédez à https://iot.app.initialstate.com et créez un nouveau compte. Vous bénéficiez d'un essai gratuit de 14 jours et toute personne disposant d'une adresse e-mail edu peut s'inscrire à un plan étudiant gratuit.

Installer ISStreamer

Installez le module Python Initial State sur votre Raspberry Pi. Dans l'invite de commande, exécutez la commande suivante:

$ cd /home/pi/

$ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Faire de l'Automagie

Après l'étape 2, vous verrez quelque chose de similaire à la sortie suivante à l'écran:

pi@raspberrypi ~ $ \curl -sSL https://get.initialstate.com/python -o - | sudo bash

Mot de passe: Début de l'installation facile d'ISStreamer Python ! Cela peut prendre quelques minutes à installer, prenez un café:) Mais n'oubliez pas de revenir, j'aurai des questions plus tard ! Trouvé easy_install: setuptools 1.1.6 Pip trouvé: pip 1.5.6 de /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) version majeure de pip: 1 version mineure de pip: 5 ISStreamer trouvé, mise à jour… Exigence déjà à jour: ISStreamer dans /Library/Python/2.7/site-packages Nettoyage… Voulez-vous obtenir automatiquement un exemple de script ? [o/N] Où voulez-vous enregistrer l'exemple ? [par défaut:./is_example.py] Veuillez sélectionner l'application Initial State que vous utilisez: 1. app.initialstate.com 2. [NOUVEAU !] iot.app.initialstate.com Entrez le choix 1 ou 2: Entrez iot.app Nom d'utilisateur.initialstate.com: Entrez le mot de passe iot.app.initialstate.com:

Lorsqu'on vous demande si vous souhaitez obtenir automatiquement un exemple de script, mettez "y" pour oui et appuyez sur Entrée pour enregistrer votre script dans l'emplacement par défaut. Pour la question sur l'application que vous utilisez, sélectionnez 2 (sauf si vous vous êtes inscrit avant novembre 2018) et entrez votre nom d'utilisateur et votre mot de passe.

Exécuter l'exemple de script

Exécutez le script de test pour vous assurer que nous pouvons créer un flux de données sur votre compte Initial State. Écrivez la commande suivante:

$ python is_example.py

Exemple de données

Revenez à votre compte Initial State dans votre navigateur Web. Un nouveau compartiment de données appelé "Python Stream Example" aurait dû s'afficher à gauche dans votre étagère de journaux (vous devrez peut-être actualiser la page). Cliquez sur ce bucket pour afficher vos données.

Étape 2: Psutil

Nous utiliserons psutil pour accéder facilement à la majorité des informations système que nous utiliserons pour créer notre tableau de bord. Pour installer la bibliothèque psutil Python, accédez à un terminal sur votre Pi et tapez:

$ sudo pip installer psutil

Une fois l'installation terminée, nous devons simplement exécuter un script Python pour commencer la collecte de données. Mettons ce script dans son propre répertoire comme suit:

$ cd /home/pi/

$ mkdir pihealth $ cd pihealth

Une fois dans le nouveau répertoire, créez un script en procédant comme suit:

$ nano pihealth.py

Cela ouvrira un éditeur de texte. Copiez et collez le code de ce référentiel Github dans l'éditeur de texte.

Sur la ligne 8, vous verrez la section Paramètres utilisateur:

# --------- Paramètres utilisateur ---------

# Paramètres d'état initial BUCKET_NAME = ":computer: Pi3 Performance" BUCKET_KEY = "pi0708" ACCESS_KEY = "METTEZ VOTRE INITIAL STATE ACCESS_KEY ICI" # Définissez le délai entre les vérifications MINUTES_BETWEEN_READS = 1 METRIC_UNITS = False # --------- ------------------------

Vous devrez placer votre clé d'accès à l'état initial dans l'affectation de variable ACCESS_KEY. Pour le trouver, accédez à la page d'accueil de votre État initial, cliquez sur votre nom d'utilisateur en haut à droite, accédez à mes paramètres et recherchez-y une clé d'accès au streaming. Si vous ne le faites pas, vos données ne seront pas transmises à votre compte Initial State, ce qui vous rend très triste et frustré.

La variable MINUTES_BETWEEN_READS est importante à définir en fonction de votre application. Si vous allez exécuter ce script au cours des jours/semaines/mois, vous voudrez en faire un plus grand nombre comme toutes les 2 à 5 minutes. Si vous exécutez ce script pour surveiller les performances d'une application à court terme, vous souhaiterez peut-être une mise à jour toutes les quelques secondes.

Une fois que vous avez mis à jour le texte, enregistrez et quittez l'éditeur de texte. Nous sommes prêts à commencer à collecter les données système. Pour exécuter le fichier python, saisissez la commande suivante:

$ python pihealth.py

Astuce: Si vous souhaitez exécuter ce script en arrière-plan et vous assurer qu'il ne se ferme pas si votre connexion SSH est interrompue ou si le terminal est fermé, vous pouvez utiliser la commande suivante:

$ nohup python pihealth.py &

Erreur python.h: si vous obtenez une erreur faisant référence à python.h chaque fois que vous essayez d'utiliser psutil dans un script, l'installation des bibliothèques de développement python peut résoudre l'erreur:

$ sudo apt-get install gcc python-dev

$ sudo pip installer psutil

Étape 3: Personnalisez votre tableau de bord

Personnalisez votre tableau de bord
Personnalisez votre tableau de bord
Personnalisez votre tableau de bord
Personnalisez votre tableau de bord

Accédez à votre compte Initial State et cliquez sur le nouveau compartiment de données appelé Pi3 Performance. Ceci est votre tableau de bord. Personnalisons et organisons les données de ce tableau de bord en quelque chose d'utile.

Il y a beaucoup de Tiles et de flux de données dans ce tableau de bord. Réduisons les vignettes plus petites et obtenons toutes les informations sur un seul écran. Cliquez sur le bouton Modifier les tuiles dans le coin supérieur gauche et désélectionnez "Toujours adapter les tuiles". Cela met la disposition de notre tableau de bord en mode manuel. Ensuite, redimensionnez chaque tuile à 1/4 de sa taille d'origine en cliquant et en faisant glisser le coin de chaque tuile en mode édition. Vous pouvez faire glisser chaque vignette vers la position de votre choix sur l'écran.

L'une des nombreuses choses astucieuses que vous pouvez faire avec ce tableau de bord est de créer plusieurs vignettes et vues de données par flux de données. Par exemple, vous pouvez créer des vignettes pour voir le graphique linéaire pour la température du processeur ainsi qu'un graphique de jauge et la dernière valeur. Pour ajouter une nouvelle tuile, cliquez sur Modifier les tuiles puis sur +Ajouter une tuile. La nouvelle boîte de configuration Tiles apparaîtra. Sélectionnez le flux de données qui conduira cette tuile dans la zone SignalKey, puis choisissez le type de tuile et créez un titre pour cette tuile.

Dans mon tableau de bord, j'ai diffusé trois Pi dans un seul tableau de bord pour comparer l'utilisation du processeur et les températures.

Le graphique de jauge est extrêmement utile pour les flux de données tels que l'utilisation du disque (%) et l'utilisation du processeur (%). Lorsque vous sélectionnez une vue graphique de jauge, vous pouvez définir les valeurs min et max de la jauge dans la configuration des mosaïques. Il est important de définir le min/max sur 0/100 pour les jauges d'utilisation du disque (%) et d'utilisation du processeur (%) afin que les vignettes aient un sens.

Vous pouvez ajouter une image d'arrière-plan à votre tableau de bord pour donner plus de contexte aux données.

Voici les partages publics de deux tableaux de bord que j'ai créés:

  1. https://go.init.st/6g3spq4
  2. https://go.init.st/ynkuqxv

Conseillé: