Scrappy vetenskap Caddy (6 / 7 steg)
Steg 6: Programvara, Graphing och matte, Oh min!
Rutan drivs av Python kod tillgänglig som en git repo https://github.com/kmkingsbury/raspberrypi-data-ac...
Collectdata.py python är den viktigaste arbetshästen och har olika alternativ.
Config.ini definierar GPIO stiften används av de olika delarna, om du följer ledningarna i Fritzing Schematisk sedan de värden som anges i config.ini är korrekta.
Wifi.py är ett enkelt skript har jag inlett vid uppstart av PI att bara utskrifter ut wifi IP-adress så kan jag SSH i till Pi, ett exempel på detta är i bilderna.
För varje kör en datafil och en metadata filen skapas som standard detta går till /media/usb0 och kommer att skrivas till en USB-minnet ansluts till Pi (förutsatt att du setup usbmount). Datafilen har datetime och avläsningar från sensorn. Metadatafilen som innehåller de parametrar som används (hur många kanaler, hur ofta till prov, etc) samt statistik om data (max, min, medel, antal prover samlas in). Slutligen registrerar metadatafilen också händelserna från de översta knapparna. De översta knapparna samt 5-vägs navigeringsknapp göra specifika funktioner men du kan ändra dem för andra funktioner som du vill:
4 på toppen är används för att markera viktiga händelser under en data körning, jag använder dessa för saker som i början av en annan händelse, märkning statens omvandling (en vätska kokar nu), eller ens misstag som stöta en sensor, att ha det lossnar den yta det mäter, etc.
5-vägs Nav knappen på framsidan används för att manipulera data visas på LCD-skärmen. Som standard visar displayen värdena kommer från varje sensor, jag använder sedan:
- en upp push att växla displayen för att visa värdet för Maximum för en sensor
- ner för att visa värdet för Minimum för en sensor
- rätten att visa det genomsnittliga värdet för en sensor
- vänster för att Visa avvikelsen för det aktuella värdet från medelvärdet.
- Center push att återgå till vanlig standardvisningen.
Bilderna visar några exempel på detta.
Tomter är gjorda med verktyget GNUPlot.
Github repo innehåller provet-data-set mappen som innehåller två provningssatser för referens och som hjälper dig att komma igång med din egen.
- En temperatur från en 1000ml mätkolv som vatten värms upp till en koka och sedan får svalna.
- Avläsningar för 4 sensorer när ingenting är ansluten. När detta inträffar PIN-koden är "flytande", och produktionen är inte förutsägbar. Det är i en odefinierad stat, som varken är 0 eller 1. I elektronik kallas detta den tredje staten, en öppen krets eller flytande tråd.
Tomter för båda proven är i bilderna.