Raspberry Pi styrs rumstemperatur övervakning med Gnuplot bild utgång och e-post alert förmåga (4 / 7 steg)
Steg 4: Mjukvara Setup - Gnuplot
Gnuplot kan rita direkt från en formaterad textfil och vi bara så råkar ha en från parsning steg före.
När vi anger att gnuplot där i filen data ligger kan vi Rita önskade värden. Jag kommer att använda tiden på X-axeln och våra temperatur på Y-axeln.
Plottning tid från min erfarenhet är det svåraste som du har att få tidsformat i gnuplot som matchar formatet för textfilen.
Efter alla grafritande alternativ är komplett och till din förkärlek, Gnuplot kan skapa en bild av denna graf. Detta är den bild som vi använder på vår hemsida senare. Jag valde för att gå med en .png bild och eftersom jag vill byta ut den gamla bilden på webbsidan, varje bild har samma namn så här kodraden inte behöver ändra.
Inställning av bilden är länkad till HTML-sidan optimering. Jag först lekte med standardstorlekar sedan experimenterade för att göra bilden passa min skärm. För detta projekt, jag inte lagra gamla bilder så den fysiska storlek på filen i lagring inte är en viktig faktor på dyrbara Raspberry pi lagring.
Här är ett kodstycke skapa och lagra daily.png graf bilden.
g = Gnuplot.Gnuplot(debug=debug)
g ("cd" "+ banan +" "")
g ("set xdata tid")
g ("Ange timefmt"%d %b %Y % H: % m %S"")
g ('set format x "% H:%M\\n%d%b" ")
g ("Ange titel"Dagliga nuvarande temperatur Display"")
g ('set key off')
g ('set rutnät') g ("Ange xlabel"Time\\nDate"")
g ('set område [15.0:35.0]")
g ("Ange ylabel" temperatur "")
g ('set datafile saknas "NaN" ")
g ("Ange terminal png storlek 800,400')
g ("set output"daily.png"")
g ("tomt"daily.dat"använder 1:($3) med linjer")
Obs: Den linje som läser g ('set datafile saknas "NaN" "), syftet med denna linje är att rita ett tomt utrymme i handlingen. Variabeln "NaN" skrivs till filen om python skript upptäcker något konstigt för en viss behandling eller en seriell överföring.
Som ni kan se från de tre diagrammen ovan, ger daily.png dig en aktuell tidsvisning av data i 24_hour.png har samma information visas på en 24 timmars skala. 48_hour.png diagrammet visar du de senaste 48 timmarna värt av data från sensorn.