da ihr mir letztes mal so gut geholfen habt, muss ich euch noch eine Frage stellen. Ich bin immer noch ein Neuling in dem ganzen Gebiet. Ich suche eine Möglichkeit einer PTT (Push to talk) Steuerung. Ich benötige ein simples ausführbares Script, das bei einem Audioausgang eine COM Schnittstelle (Beispielweise: /dev/ttyUSB0) durchschaltet und zwar solange bis das Audiosignal (Ausgang) wieder abfällt. Ich habe mal versucht etwas zu basteln, aber dieses gebastelte funktioniert nur sporadisch, also mal weniger als mehr.
Kann mir einer helfen?
Code: Alles auswählen
import alsaaudio
import audioop
import serial
import time
import sys
com = '/dev/ttyUSB0'
dbm = 0
delay = 0
level = 100
dbr = 0
dbx = 0
rs232 = serial.Serial(str(com), baudrate = 38400, timeout = 3.0)
audio = alsaaudio.PCM(alsaaudio.PCM_CAPTURE, alsaaudio.PCM_NONBLOCK)
audio.setformat(alsaaudio.PCM_FORMAT_S16_LE)
audio.setperiodsize(160)
audio.setchannels(1)
audio.setrate(8000)
while True:
try:
len, data = audio.read()
if audioop.avgpp(data, 1) > dbm:
dbx = dbx + 2
if dbx > delay:
dbx = dbx - 1
dbr = 0
rs232.setDTR(1)
rs232.setRTS(1)
time.sleep(.025)
else:
dbr = dbr + 2
if dbr >= level:
dbr = dbr - 1
dbx = 0
rs232.setDTR(0)
rs232.setRTS(0)
time.sleep(.010)
except Exception as e:
print(e)