Indholdsfortegnelse:

Pi Health Dashboard: 3 trin
Pi Health Dashboard: 3 trin

Video: Pi Health Dashboard: 3 trin

Video: Pi Health Dashboard: 3 trin
Video: Making a Digital Dashboard! (w/ Google Calendar integration) 2024, November
Anonim
Image
Image

Raspberry Pi'er bruges til at drive et stort antal projekter. Pi blev først vedtaget af lærere og hobbyfolk, men nu har fremstilling og virksomheder fanget Pi's fantastiske kraft. På trods af at den er lille, brugervenlig og billig, indeholder din Pi et imponerende antal komplekse undersystemer, der skal fungere for at holde dit projekt kørende. Dette gør det muligt at overvåge din Pi's sundhed i mange applikationer fra løbende vedligeholdelse af et langsigtet projekt til profilering af ydeevnen for en ny prototype.

Vi skal bygge vores eget browserbaserede instrumentbræt for at overvåge sundhed og ydeevne for en web-forbundet Raspberry Pi. For at udføre denne opgave vil vi køre et simpelt Python -script, der vil indsamle systemoplysninger fra Pi og sende det til en skyplatform, der har specialiseret sig i dashboards, analyser og visualiseringer.

I denne trin-for-trin vejledning vil du:

  • lære at indsamle systemoplysninger fra din Pi via et simpelt Python -script
  • lær, hvordan du bruger Initial State til at opbygge dit eget system sundhed/ydeevne dashboard til din Pi

Trin 1: Oprindelig tilstand

Tilpas dit dashboard
Tilpas dit dashboard

Vi vil streame alle vores Pi -systemudnyttelsesdata til en cloud -tjeneste og få den service til at gøre vores data til et dashboard. Vores data har brug for en destination, så vi vil bruge Initial State som denne destination.

Tilmeld dig den oprindelige statskonto

Gå til https://iot.app.initialstate.com og opret en ny konto. Du får en 14 dages gratis prøveperiode, og alle med en edu -e -mail -adresse kan registrere sig til en gratis studenterplan.

Installer ISStreamer

Installer Initial State Python -modulet på din Raspberry Pi. Kør følgende kommando i kommandoprompten:

$ cd/home/pi/

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

Lav noget automagisk

Efter trin 2 vil du se noget, der ligner følgende output til skærmen:

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

Adgangskode: Begyndende ISStreamer Python Nem installation! Dette kan tage et par minutter at installere, få en kop kaffe:) Men glem ikke at komme tilbage, jeg har spørgsmål senere! Fundet easy_install: setuptools 1.1.6 Fundet pip: pip 1.5.6 fra /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip mindre version: 5 ISStreamer fundet, opdaterer … Krav allerede opdateret: ISStreamer i /Library/Python/2.7/site-packages Rydder op … Vil du automatisk få et eksempel script? [y/N] Hvor vil du gemme eksemplet? [standard:./is_example.py] Vælg, hvilken starttilstandsapp du bruger: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Indtast valg 1 eller 2: Indtast iot.app.initialstate.com brugernavn: Indtast iot.app.initialstate.com adgangskode:

Når du bliver spurgt, om du automatisk vil få et eksempelskript sat "y" til ja, og tryk på enter for at gemme dit script på standardplaceringen. For spørgsmålet om hvilken app du bruger, skal du vælge 2 (medmindre du har tilmeldt dig inden november 2018) og indtaste dit brugernavn og din adgangskode.

Kør eksempelskriptet

Kør testskriptet for at sikre, at vi kan oprette en datastrøm til din Initial State -konto. Skriv følgende kommando:

$ python er_eksempel.py

Eksempel på data

Gå tilbage til din Initial State -konto i din webbrowser. En ny dataskovl kaldet "Python Stream -eksempel" skulle have vist sig til venstre i din loghylde (du skal muligvis opdatere siden). Klik på denne spand for at se dine data.

Trin 2: Psutil

Vi vil bruge psutil til at få let adgang til størstedelen af de systemoplysninger, vi vil bruge til at bygge vores dashboard. For at installere psutil Python -biblioteket skal du gå til en terminal på din Pi og skrive:

$ sudo pip installer psutil

Når installationen er fuldført, skal vi simpelthen køre et Python -script for at begynde dataindsamlingen. Lad os sætte dette script i sit eget bibliotek som følger:

$ cd/home/pi/

$ mkdir pihealth $ cd pihealth

Når du er i den nye mappe, skal du oprette et script ved at gøre følgende:

$ nano pihealth.py

Dette åbner en teksteditor. Kopier og indsæt koden fra dette Github -lager i teksteditoren.

På linje 8 ser du sektionen Brugerindstillinger:

# --------- Brugerindstillinger ---------

# Indledende tilstandsindstillinger BUCKET_NAME = ": computer: Pi3-ydeevne" BUCKET_KEY = "pi0708" ACCESS_KEY = "SÆT DIT TILSTAND ACCESS_KEY HER" # Indstil tiden mellem kontrollerne MINUTES_BETWEEN_READS = 1 METRIC_UNITS = Falsk # --------- ------------------------

Du bliver nødt til at placere din adgangsnøgle i den oprindelige tilstand i variabeltildelingen ACCESS_KEY. For at finde dette skal du gå til din oprindelige tilstands hjemmeside, klikke på dit brugernavn øverst til højre, gå til mine indstillinger og finde en adgangsnøgle til streaming der. Hvis du ikke gør dette, vil dine data ikke blive streamet til din oprindelige statskonto, hvilket gør dig meget ked af det og frustreret.

MINUTES_BETWEEN_READS -variablen er vigtig at indstille baseret på din applikation. Hvis du vil køre dette script i løbet af dage/uger/måneder, vil du gerne gøre dette til et større antal som hvert 2-5 minut. Hvis du kører dette script til at overvåge ydeevnen for et kortsigtet program, vil du måske have en opdatering hvert par sekunder.

Når du har opdateret teksten, skal du gemme og afslutte teksteditoren. Vi er klar til at begynde at indsamle systemdata. For at køre python -filen skal du skrive følgende kommando:

$ python pihealth.py

Tip: Hvis du vil køre dette script i baggrunden og være sikker på, at det ikke afslutter, hvis din SSH -forbindelse er brudt, eller terminalen er lukket, kan du bruge følgende kommando:

$ nohup python pihealth.py &

python.h -fejl: Hvis du får en fejl under henvisning til python.h, når du prøver at bruge psutil i et script, kan installationen af python -udviklingsbibliotekerne løse fejlen:

$ sudo apt-get install gcc python-dev

$ sudo pip installer psutil

Trin 3: Tilpas dit dashboard

Tilpas dit dashboard
Tilpas dit dashboard
Tilpas dit dashboard
Tilpas dit dashboard

Gå til din Initial State -konto, og klik på den nye dataskovl kaldet Pi3 Performance. Dette er dit dashboard. Lad os tilpasse og organisere dataene på dette dashboard til noget nyttigt.

Der er mange fliser og datastrømme i dette dashboard. Lad os gøre fliserne mindre og få alle oplysninger på en enkelt skærm. Klik på knappen Rediger fliser i øverste venstre hjørne, og fravælg "Tilpas altid fliser". Dette sætter vores dashboardlayout i manuel tilstand. Derefter skal du ændre størrelsen på hver flise til 1/4 dens oprindelige størrelse ved at klikke og trække i hjørnet af hver flise, mens den er i redigeringstilstand. Du kan trække hver flise til den position, du kan lide på skærmen.

En af de mange fede ting, du kan gøre med dette dashboard, er at oprette flere fliser og datavisninger pr. Datastrøm. For eksempel kan du oprette fliser for at se linjediagrammet for CPU -temperatur samt en målediagram og den sidste værdi. For at tilføje en ny flise skal du klikke på Rediger fliser og derefter +Tilføj flise. Den nye flisekonfigurationsboks dukker op. Vælg datastrømmen, der skal drive denne flise i feltet SignalKey, og vælg derefter flisetypen, og opret en titel for denne flise.

I mit dashboard streamede jeg tre Pi'er til et enkelt instrumentbræt for at sammenligne CPU -brug og temperaturer.

Målegrafen er yderst nyttig til datastrømme som f.eks. Diskbrug (%) og CPU -brug (%). Når du vælger en målergrafvisning, kan du indstille min- og maxværdien for måleren i flisekonfigurationen. Det er vigtigt at indstille min/max til 0/100 for målinger af diskbrug (%) og CPU -brug (%), så fliserne giver mening.

Du kan tilføje et baggrundsbillede til dit dashboard for at give dig data mere kontekst.

Her er de offentlige andele af to dashboards, jeg har oprettet:

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

Anbefalede: