INHOUDSOPGAWE:

Pi Health Dashboard: 3 stappe
Pi Health Dashboard: 3 stappe

Video: Pi Health Dashboard: 3 stappe

Video: Pi Health Dashboard: 3 stappe
Video: Создаём бесплатную онлайн систему сбора данных в Excel! 2024, November
Anonim
Image
Image

Raspberry Pi's word gebruik om 'n groot aantal projekte te bestuur. Pi's is eers deur onderwysers en stokperdjies aangeneem, maar nou het die vervaardiging en besighede die ongelooflike krag van Pi ingeneem. Alhoewel dit klein, gebruikersvriendelik en goedkoop is, bevat u Pi 'n indrukwekkende aantal komplekse subsisteme wat moet werk om u projek aan die gang te hou. Dit maak dit in baie toepassings belangrik om die gesondheid van u Pi te monitor, van deurlopende instandhouding van 'n langtermynprojek tot profilering van die prestasie van 'n nuwe prototipe.

Ons gaan ons eie blaaiergebaseerde paneelbord bou om die gesondheid en prestasie van 'n met die internet gekoppelde Raspberry Pi te monitor. Om hierdie taak uit te voer, sal ons 'n eenvoudige Python -script uitvoer wat stelselinligting van die Pi versamel en dit na 'n wolkplatform stuur wat spesialiseer in dashboards, analise en visualisasies.

In hierdie stap-vir-stap handleiding sal u:

  • leer hoe u stelselinligting van u Pi kan versamel via 'n eenvoudige Python -script
  • leer hoe u Initial State kan gebruik om u eie dashboard vir stelselgesondheid/prestasie vir u Pi te bou

Stap 1: Aanvanklike toestand

Pas u kontroleskerm aan
Pas u kontroleskerm aan

Ons wil al ons Pi -stelselgebruiksdata na 'n wolkdiens stroom en die diens van ons data in 'n paneelbord laat verander. Ons data benodig 'n bestemming, dus sal die aanvanklike staat as die bestemming gebruik word.

Registreer vir die aanvanklike staatrekening

Gaan na https://iot.app.initialstate.com en skep 'n nuwe rekening. U kry 'n gratis proeftydperk van 14 dae en almal met 'n edu -e -posadres kan registreer vir 'n gratis studenteplan.

Installeer die ISStreamer

Installeer die Initial State Python -module op u Raspberry Pi. Voer die volgende opdrag in die opdragprompt uit:

$ cd/home/pi/

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

Maak 'n bietjie automagic

Na stap 2 sien u iets soortgelyk aan die volgende uitset op die skerm:

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

Wagwoord: Begin met die eenvoudige installering van ISStreamer Python! Dit kan 'n paar minute neem om te installeer, koffie te drink:) Maar vergeet nie om terug te kom nie, ek het later vrae! Easy_install: setuptools 1.1.6 Gevind pip: pip 1.5.6 van /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip hoofweergawe: 1 pip minor weergawe: 5 ISStreamer gevind, word opgedateer … Vereis reeds op datum: ISStreamer in /Library/Python/2.7/site-packages Opruim … Wil u outomaties 'n voorbeeldskrif kry? [j/n] Waar wil u die voorbeeld stoor? [standaard:./is_example.py] Kies asseblief watter aanvanklike staatsprogram u gebruik: 1. app.initialstate.com 2. [NUUT!] iot.app.initialstate.com Voer keuse 1 of 2 in: voer iot.app in.initialstate.com gebruikersnaam: Voer wagwoord iot.app.initialstate.com in:

As u gevra word of u 'n voorbeeldskrip outomaties wil kry, sit "y" vir ja, en druk op enter om u script op die standaardlokasie te stoor. Vir die vraag oor watter program u gebruik, kies 2 (tensy u voor November 2018 aangemeld het) en voer u gebruikersnaam en wagwoord in.

Begin die voorbeeldskrip

Begin die toetsskrif om seker te maak dat ons 'n datastroom na u aanvanklike staatrekening kan skep. Skryf die volgende opdrag:

$ python is_voorbeeld.py

Voorbeeld data

Gaan terug na u aanvanklike staatrekening in u webblaaier. 'N Nuwe data -emmer met die naam "Python Stream -voorbeeld" moes links in u logblad verskyn (u moet die bladsy moontlik herlaai). Klik op hierdie emmer om u data te sien.

Stap 2: Psutil

Ons sal psutil gebruik om maklike toegang tot die meerderheid stelselinligting te kry wat ons sal gebruik om ons paneelbord te bou. Om die psutil Python -biblioteek te installeer, gaan na 'n terminale op u Pi en tik:

$ sudo pip installeer psutil

Nadat die installasie voltooi is, moet ons eenvoudig 'n Python -script uitvoer om met die insameling van data te begin. Kom ons plaas hierdie skrif soos volg in sy eie gids:

$ cd/home/pi/

$ mkdir pihealth $ cd pihealth

Sodra u in die nuwe gids is, skep u 'n script deur die volgende te doen:

$ nano pihealth.py

Dit sal 'n teksredakteur oopmaak. Kopieer en plak die kode uit hierdie Github -bewaarplek in die teksredigeerder.

Op reël 8 sien u die afdeling Gebruikersinstellings:

# --------- Gebruikersinstellings ---------

# Aanvanklike staatinstellings BUCKET_NAME = ": rekenaar: Pi3-prestasie" BUCKET_KEY = "pi0708" ACCESS_KEY = "PLAAT U EERSTE STAAT ACCESS_KEY HIER" # Stel die tyd in tussen tjeks MINUTES_BETWEEN_READS = 1 METRIC_UNITS = Onwaar # --------- ------------------------

U moet u toegangsleutel vir die aanvanklike staat in die ACCESS_KEY -veranderlike toewysing plaas. Om dit te vind, gaan na u tuisblad van die oorspronklike staat, klik op u gebruikersnaam regs bo, gaan na my instellings en vind daar 'n toegangsleutel vir streaming. As u dit nie doen nie, word u data nie na u aanvanklike staatrekening gestroom nie, wat u baie hartseer en gefrustreerd maak.

Die veranderlike MINUTES_BETWEEN_READS is belangrik om op te stel op grond van u toepassing. As u hierdie script in die loop van dae/weke/maande gaan uitvoer, wil u dit elke 2-5 minute 'n groter getal maak. As u hierdie script gebruik om die prestasie van 'n korttermynprogram te monitor, wil u moontlik elke paar sekondes 'n opdatering hê.

Sodra u die teks opgedateer het, stoor en verlaat die teksredakteur. Ons is gereed om stelseldata te versamel. Om die python -lêer uit te voer, tik die volgende opdrag:

$ python pihealth.py

Wenk: as u hierdie script op die agtergrond wil laat loop en seker wil wees dat dit nie verlaat as u SSH -verbinding verbreek is of die terminale gesluit is nie, kan u die volgende opdrag gebruik:

$ nohup python pihealth.py &

python.h -fout: as u 'n fout kry met verwysing na python.h wanneer u probeer om psutil in 'n script te gebruik, kan die installering van die python -ontwikkelingsbiblioteke die fout oplos:

$ sudo apt-get install gcc python-dev

$ sudo pip installeer psutil

Stap 3: Pas u kontroleskerm aan

Pas u kontroleskerm aan
Pas u kontroleskerm aan
Pas u kontroleskerm aan
Pas u kontroleskerm aan

Gaan na u aanvanklike staatrekening en klik op die nuwe data -emmer genaamd Pi3 Performance. Dit is u paneelbord. Kom ons pas die data op hierdie paneelbord aan en organiseer dit in iets nuttigs.

Daar is baie teëls en datastrome in hierdie paneelbord. Kom ons maak die teëls kleiner en kry al die inligting op 'n enkele skerm. Klik op die knoppie Wysig teëls in die linker boonste hoek en ontkies "Altyd pas teëls". Dit plaas ons paneelborduitleg in die handmatige modus. Verander dan die grootte van elke teël tot 1/4 van die oorspronklike grootte deur in die bewerkingsmodus in die hoek van elke teël te klik en te sleep. U kan elke teël sleep na die posisie wat u op die skerm wil hê.

Een van die vele handige dinge wat u met hierdie dashboard kan doen, is om verskeie teëls en datavysings per datastroom te skep. U kan byvoorbeeld teëls skep om die lyngrafiek vir CPU -temperatuur te sien, sowel as 'n grafiek en die laaste waarde. Om 'n nuwe teël by te voeg, klik op Wysig teëls en dan +Voeg teël by. Die nuwe konfigurasie -venster vir teëls verskyn. Kies die datastroom wat hierdie teël sal dryf in die boks SignalKey, kies dan die tipe teël en skep 'n titel vir hierdie teël.

In my dashboard het ek drie Pi's na 'n enkele dashboard gestroom om die CPU -gebruik en temperature te vergelyk.

Die metergrafiek is uiters handig vir datastrome soos skyfgebruik (%) en CPU -gebruik (%). As u 'n metergrafiekaansig kies, kan u die min- en maksimumwaarde vir die meter in die teëlkonfigurasie instel. Dit is belangrik om die min/max op 0/100 vir skyfgebruik (%) en CPU -gebruik (%) meters te stel sodat die teëls sin maak.

U kan 'n agtergrondprent by u dashboard voeg om data meer konteks te gee.

Hier is die openbare aandele van twee dashboards wat ek geskep het:

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

Aanbeveel: