Bärbar Raspberry Pi geigermätare med Display (6 / 12 steg)
Steg 6: Överföra geigermätare data till Raspberry Pi
Jag gillar att använda python för mitt skript. Installera python3
$ sudo apt-get update
$ sudo lämplig-få installera python3
Logga in på Raspberry Pi. Öppna ett terminalfönster på MacBook och kör kommandot:
$ ssh pi♣geiger-counter-ip-address♣
$ sudo nano geiger.py
Skapa denna python skript i /home/pi. Det skriver i princip data till en fil som kan användas av gnuplot.
#! / usr/bin/python3
# geiger.py hämtar data från mäktiga Ohm geigermätare och skriver till en fil på Raspberry Pi
# Redigera crontab
# $ sudo crontab -e
# och Lägg till följande rad i slutet - detta kan också göras i init.d
# sudo /usr/bin/python3 /home/pi/geiger.py 2 > & 1
#
# Framtid: gnuplot kräver en statisk fil (så svans -100 eller något att få rullande data)
Importera tid
importera datetime
importera sträng
importera signal
importera re
importera följetong
klass Geiger:
def __init__(self):
# filler - jag ville (eller kan lägga till fler i init
Self.host = "192.168.1.92"
def readLine (själv, port):
r = ""
samtidigt sant:
byte = port.read()
c = byte.decode("utf-8")
om c == '\n' eller c == '\r' eller c =='':
återvända r
annat:
r + = c
om __name__ == "__main__":
försök:
g = Geiger()
c = 0
# på varje användning starta om filen
f = öppna ("/home/pi/geiger.dat", "w")
Port = följetong. Serial ("/ dev/ttyAMA0", baudvärde = 9600, timeout = 1)
# Behöver kolumnrubriker
# f.write ("antal CPS CPM uSv/hr\r\n")
samtidigt sant:
r = g.readLine(port)
om r! = '':
ord = r.split(",")
l = len(words)
om l == 7:
# data skulle komma tillbaka i form
# CPS, n, CPM n, uSv/Tim Nilsson, hastighet
# för debug:
# f.write ("input =" + r + "\r\n")
f.write(Str(c) ord [1] ord [3] + ord [5] + + "\r\n")
f.flush()
c + = 1
Förutom KeyboardInterrupt:
f.Close()
skriva ut ("avslutande script genom ctrl-c")
Starta ett terminalfönster på PiTFT display,
Starta geiger.py skriptet körs, men vänta inte för den till slut (den "&" berättar kommandot för att starta utan att vänta på den till slut)
$ python3 geiger.py &
[1] 1010
Om du vill stoppa skript användning döda pid, eller i fallet ovan.
$ sudo döda 1010
Du kan köra följande kommando för att säkerställa att data skrivs till geiger.dat
$ cat geiger.dat