107 lines
2.6 KiB
Python
107 lines
2.6 KiB
Python
import sys
|
|
import time
|
|
import serial
|
|
ser = serial.Serial(
|
|
port='/dev/XPort',
|
|
baudrate = 9600,
|
|
parity=serial.PARITY_NONE,
|
|
stopbits=serial.STOPBITS_ONE,
|
|
bytesize=serial.EIGHTBITS,
|
|
timeout=1
|
|
)
|
|
|
|
def getrs232line(a):
|
|
ser.flushInput()
|
|
myrs = ser.readline()
|
|
lx = [x.strip() for x in myrs.split(',')]
|
|
if lx[0] == '':
|
|
myrs = ser.readline()
|
|
lx = [x.strip() for x in myrs.split(',')]
|
|
while len(lx) != 10:
|
|
myrs = ser.readline()
|
|
lx = [x.strip() for x in myrs.split(',')]
|
|
return lx[a]
|
|
|
|
def getrs232info():
|
|
ser.flushInput()
|
|
myrs = ser.readline()
|
|
lx = [x.strip() for x in myrs.split(',')]
|
|
if lx[0] == '':
|
|
myrs = ser.readline()
|
|
lx = [x.strip() for x in myrs.split(',')]
|
|
while len(lx) != 10:
|
|
myrs = ser.readline()
|
|
lx = [x.strip() for x in myrs.split(',')]
|
|
return lx
|
|
|
|
#for eacharg in sys.argv:
|
|
# sys.stderr.write(sys.argv[1])
|
|
# Gibt Rs232 String aus
|
|
if sys.argv[1] == "info":
|
|
print(getrs232info())
|
|
#setzt Uhrzeit aus der CControl
|
|
elif sys.argv[1] == "setuhr":
|
|
ser.write(time.strftime("u%H%M"))
|
|
#Ausgabe der aktuellen Laufzeit
|
|
elif sys.argv[1] == "time":
|
|
s = getrs232line(9)[:-1]
|
|
print(s)
|
|
#Ausgabe der aktiven Kanals oder null
|
|
elif sys.argv[1] == "kanal":
|
|
s = getrs232line(0)
|
|
print(s)
|
|
#Ausgabe Uhrzeit (rudimntaer)
|
|
elif sys.argv[1] == "uhr":
|
|
s = getrs232line(8)
|
|
print(s)
|
|
#Ausgabe Drucksensor (funktion?)
|
|
elif sys.argv[1] == "druck":
|
|
s = getrs232line(7)
|
|
print(s)
|
|
#Ausgabe Temperatur am sensor
|
|
elif sys.argv[1] == "temp":
|
|
s = getrs232line(6)
|
|
t = (float(s)-50)/2
|
|
print(t)
|
|
#Ausgabe Motor und Ventile
|
|
elif sys.argv[1] == "motor":
|
|
s = getrs232line(1)
|
|
print(s)
|
|
elif sys.argv[1] == "ventil1":
|
|
s = getrs232line(2)
|
|
print(s)
|
|
elif sys.argv[1] == "ventil2":
|
|
s = getrs232line(3)
|
|
print(s)
|
|
elif sys.argv[1] == "ventil3":
|
|
s = getrs232line(4)
|
|
print(s)
|
|
elif sys.argv[1] == "ventil4":
|
|
s = getrs232line(5)
|
|
print(s)
|
|
#Kanal aus oder an
|
|
elif sys.argv[1] == "aus":
|
|
b = getrs232line(0)
|
|
if b != "0":
|
|
ser.write(b)
|
|
print("0")
|
|
elif sys.argv[1] == "on1":
|
|
b = getrs232line(0)
|
|
if b != "1":
|
|
ser.write("1")
|
|
print("1")
|
|
elif sys.argv[1] == "on2":
|
|
b = getrs232line(0)
|
|
if b != "2":
|
|
ser.write("2")
|
|
print("2")
|
|
elif sys.argv[1] == "on3":
|
|
b = getrs232line(0)
|
|
if b != "3":
|
|
ser.write("3")
|
|
print("3")
|
|
elif sys.argv[1] == "on4":
|
|
b = getrs232line(0)
|
|
if b != "4":
|
|
ser.write("4")
|
|
print("4") |