Guten Tag liebes Forum,
Ich habe ein Problem mit meinem Raspberry Pi. Ich möchte mit einem
UMTS-Stick (Huawei E169) mittels eines Anrufs einen Ausgang des
Raspberry Pis schalten. Dieser Anruf soll mit einer Liste verglichen
werden und wenn die anrufende Nummer vorhanden ist, soll der Ausgang
geschaltet werden. Ist die Nummer nicht in der Textdatei, soll angezeigt
werden, dass der Nutzer nicht registriert ist.
Über minicom und den Befehl AT^CVOICE=? bekomme ich ein OK auf ttyUSB0.
Nun habe ich zwei fragen. Die erste: Wie kann ich abfragen ob der Anruf
auch wirklich ankommt mit AT Befehlen oder wie auch immer?
Zweite Frage: ich habe eine Programm geschrieben mit welchem ich mir in
der Console das ganze anzeigen lassen möchte. Es kommt kein Syntax
Fehler, aber dennoch löst ein Anruf nichts aus.
Hier das Programm:
#!/usr/bin/python2.7
import serial, re
#serielle Schnittstellen Einstellungen
command_channel = serial.Serial(
port='/dev/ttyUSB0',
baudrate=115200,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
#serielle Schnittstellen verbindung wird geoeffnet
command_channel.open()
#Aktivirung der Anrufer ID
command_channel.write("AT+CLIP=1" + "\r\n")
#serielle Schnittstellen verbindung wird geschlossen
command_channel.close()
#serielle Schnittstellen Einstellungen
ser = serial.Serial(
port='/dev/ttyUSB2',
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS
)
#serielle Schnittstellen verbindung wird geoeffnet
ser.open()
#Anrufer ID wird ausgelesen
pattern = re.compile('.*CLIP.*"\+([0-9]+)",.*')
while 1:
buffer = ser.read(ser.inWaiting()).strip()
buffer = buffer.replace("\n","")
match = pattern.match(buffer)
if match:
number = match.group(1)
#verifizirung der Anrufer ID
if number in open('userid.txt').read():
print "User found"
else:
print "User not found"
Ich komme einfach nicht mehr weiter und benötige diesen UMTS-Stick und
ein Okay oder Nicht Okay als aussage für mein Projekt.
Vielen Dank,
euer doggy
-> Ruf die Nummer auf dem USB Stick an, wenn da kein RING Im Terminalprogramm angezeigt wird, ist der VOICE/(CSD) GSM Teil im Stick weg-"optimiert". (Man spart sich Flash und Testaufwand zuungunsten der 1 Promille der Personen, die sowas benoetigen) -> Falls doch ein Ring zu sehen ist: "ATA" eingeben... Dann mal schreiben was passiert!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.