Innehållsförteckning:

Pi Health Dashboard: 3 steg
Pi Health Dashboard: 3 steg

Video: Pi Health Dashboard: 3 steg

Video: Pi Health Dashboard: 3 steg
Video: 12 NEW Raspberry Pi Projects you must try!!! 2024, November
Anonim
Image
Image

Raspberry Pi används för att driva ett stort antal projekt. Pi antogs först av lärare och amatörer, men nu har tillverkning och företag tagit fasta på Pi: s fantastiska kraft. Trots att den är liten, användarvänlig och billig innehåller din Pi ett imponerande antal komplexa delsystem som måste fungera för att ditt projekt ska fungera. Detta gör att det är viktigt att kunna övervaka din Pi-hälsa i många applikationer från pågående underhåll av ett långsiktigt projekt till profilering av prestanda för en ny prototyp.

Vi ska bygga vår egen webbläsarbaserade instrumentpanel för att övervaka hälsan och prestandan hos en webbansluten Raspberry Pi. För att utföra denna uppgift kommer vi att köra ett enkelt Python -skript som samlar systeminformation från Pi och skickar den till en molnplattform som är specialiserad på instrumentpaneler, analyser och visualiseringar.

I denna steg-för-steg-handledning kommer du att:

  • lär dig hur du samlar systeminformation från din Pi via ett enkelt Python -skript
  • lär dig hur du använder Initial State för att bygga din egen systemhälsa/prestanda -instrumentpanel för din Pi

Steg 1: Ursprunglig status

Anpassa din instrumentpanel
Anpassa din instrumentpanel

Vi vill strömma alla våra Pi -systemanvändningsdata till en molntjänst och få den tjänsten att göra våra data till en instrumentpanel. Våra data behöver en destination så kommer att använda Initial State som den destinationen.

Registrera dig för det ursprungliga statskontot

Gå till https://iot.app.initialstate.com och skapa ett nytt konto. Du får en 14 dagars gratis provperiod och alla med en edu -e -postadress kan registrera sig för en gratis studentplan.

Installera ISStreamer

Installera Initial State Python -modulen på din Raspberry Pi. Kör följande kommando i kommandotolken:

$ cd/home/pi/

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

Gör lite Automagic

Efter steg 2 ser du något som liknar följande utmatning till skärmen:

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

Lösenord: Börjar ISStreamer Python Enkel installation! Det kan ta ett par minuter att installera, ta lite kaffe:) Men glöm inte att komma tillbaka, jag har frågor senare! Hittade easy_install: setuptools 1.1.6 Hittade pip: pip 1.5.6 från /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip major version: 1 pip minor version: 5 ISStreamer hittades, uppdateras … Kravet är redan uppdaterat: ISStreamer i /Library/Python/2.7/site-packages Rengöring … Vill du automatiskt få ett exempelskript? [y/N] Var vill du spara exemplet? [standard:./is_example.py] Vänligen välj vilken Initial State -app du använder: 1. app.initialstate.com 2. [NEW!] iot.app.initialstate.com Ange val 1 eller 2: Ange iot.app.initialstate.com användarnamn: Ange iot.app.initialstate.com lösenord:

På frågan om du automatiskt vill få ett exempelskript sätt "y" för ja och tryck på enter för att spara ditt skript på standardplatsen. För frågan om vilken app du använder, välj 2 (om du inte registrerade dig före november 2018) och ange ditt användarnamn och lösenord.

Kör exempelskriptet

Kör testskriptet för att se till att vi kan skapa en dataström till ditt Initial State -konto. Skriv följande kommando:

$ python är_exempel.py

Exempel på data

Gå tillbaka till ditt ursprungliga statskonto i din webbläsare. En ny datahink som heter "Python Stream Exempel" borde ha dykt upp till vänster i din logghylla (du kan behöva uppdatera sidan). Klicka på den här hinken för att se dina data.

Steg 2: Psutil

Vi kommer att använda psutil för att få enkel åtkomst till majoriteten av systeminformationen som vi kommer att använda för att bygga vår instrumentpanel. För att installera psutil Python -biblioteket, gå till en terminal på din Pi och skriv:

$ sudo pip installera psutil

När installationen är klar behöver vi helt enkelt köra ett Python -skript för att börja samla in data. Låt oss lägga detta skript i sin egen katalog enligt följande:

$ cd/home/pi/

$ mkdir pihealth $ cd pihealth

Väl i den nya katalogen skapar du ett skript genom att göra följande:

$ nano pihealth.py

Detta öppnar en textredigerare. Kopiera och klistra in koden från detta Github -arkiv i textredigeraren.

På rad 8 ser du avsnittet Användarinställningar:

# --------- Användarinställningar ---------

# Initial State settings BUCKET_NAME = ": dator: Pi3 Performance" BUCKET_KEY = "pi0708" ACCESS_KEY = "SÄTT DIN INITIAL STATE ACCESS_KEY HERE" # Ställ in tiden mellan kontrollerna MINUTES_BETWEEN_READS = 1 METRIC_UNITS = Falskt # --------- ------------------------

Du måste placera din åtkomstnyckel för initialstatus i ACCESS_KEY -variabeltilldelningen. För att hitta detta gå till din initialstatens hemsida, klicka på ditt användarnamn längst upp till höger, gå till mina inställningar och hitta en strömningsnyckel där. Om du inte gör det kommer dina data inte att strömmas till ditt initiala statskonto, vilket gör dig mycket ledsen och frustrerad.

Variabeln MINUTES_BETWEEN_READS är viktig att ställa in baserat på din applikation. Om du ska köra det här skriptet under dagar/veckor/månader vill du göra detta till ett större antal varje 2-5 minuter. Om du kör det här skriptet för att övervaka prestanda för en korttidsapplikation kanske du vill ha en uppdatering med några sekunders mellanrum.

När du har uppdaterat texten, spara och avsluta textredigeraren. Vi är redo att börja samla systemdata. För att köra python -filen skriver du in följande kommando:

$ python pihealth.py

Tips: Om du vill köra detta skript i bakgrunden och se till att det inte avslutas om din SSH -anslutning bryts eller terminalen stängs kan du använda följande kommando:

$ nohup python pihealth.py &

python.h -fel: Om du får ett fel som hänvisar till python.h när du försöker använda psutil i ett skript kan installationen av python -utvecklingsbiblioteken lösa felet:

$ sudo apt-get install gcc python-dev

$ sudo pip installera psutil

Steg 3: Anpassa din instrumentpanel

Anpassa din instrumentpanel
Anpassa din instrumentpanel
Anpassa din instrumentpanel
Anpassa din instrumentpanel

Gå till ditt Initial State -konto och klicka på den nya datahinken som heter Pi3 Performance. Detta är din instrumentpanel. Låt oss anpassa och organisera data på denna instrumentpanel till något användbart.

Det finns många plattor och dataströmmar i denna instrumentpanel. Låt oss göra brickorna mindre och få all information på en enda skärm. Klicka på knappen Redigera plattor i det övre vänstra hörnet och avmarkera "Passa alltid på plattor". Detta sätter vår instrumentpanellayout i manuellt läge. Ändra sedan storleken på varje kakel till 1/4 dess ursprungliga storlek genom att klicka och dra i hörnet på varje kakel i redigeringsläge. Du kan dra varje kakel till vilken position du vill på skärmen.

En av de många fina sakerna du kan göra med denna instrumentpanel är att skapa flera plattor och datavyer per dataström. Till exempel kan du skapa plattor för att se linjediagrammet för CPU -temperatur samt ett mätdiagram och det sista värdet. För att lägga till en ny kakel, klicka på Redigera plattor och sedan +Lägg till kakel. Den nya rutan för konfiguration av plattor dyker upp. Välj dataströmmen som ska köra denna Tile i rutan SignalKey, välj sedan Tile Type och skapa en titel för den här brickan.

I min instrumentpanel strömmade jag tre Pi: er till en enda instrumentpanel för att jämföra CPU -användning och temperaturer.

Mätardiagrammet är extremt användbart för dataströmmar som diskanvändning (%) och CPU -användning (%). När du väljer en mätgrafvy kan du ställa in min- och maxvärdet för mätaren i Tile Configuration. Det är viktigt att ställa in min/max till 0/100 för diskanvändning (%) och CPU -användning (%) mätare så att plattorna är vettiga.

Du kan lägga till en bakgrundsbild på din instrumentpanel för att ge dig mer sammanhang.

Här är de offentliga delarna av två instrumentpaneler som jag skapade:

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

Rekommenderad: