Frage

Ich versuche, eine einfache Python 2.6 -Anwendung unter OSX 10.6.6 zu erstellen, mit der SMS auf meinem Zoom 7,2m (3G) USB -Modem gesendet und empfangen werden kann.

Wenn Sie zunächst das USB -Modem einstecken, scheinen keine TTY- oder CU -Sitzungen erstellt zu werden. Ich muss die Modem -Software ausführen, um die folgenden Sitzungen zu initiieren.

cu.LJADeviceInterface2621 cu.LJADiagConnector2620 cu.LJAMobileConnector2622 tty.LJADeviceInterface2621 tty.LJADiagConnector2620 tty.LJAMobileConnector2622

Nach viel "Spaß" scheint es die einzige Sitzung zu sein, die ich lesen und schreiben kann, ist "cu.ljadeviceInterface2621". Beim Versuch, eine Verbindung zur TTY -Instanz davon herzustellen, bekomme ich einen Fehler -

serial.serialutil.seriaLexception: konnte nicht port /dev/tty.ljadeviceInterface2621 öffnen: [Errno 16] Ressource beschäftigt: '/dev/tty.ljadeViceInterface262' '

Das ist aber in Ordnung - ich habe zumindest etwas zum Arbeiten, das Cu -Äquivalent.

Mein Skript ist wie folgt;

            ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)

            print "Setting DTR..."
            ser.setDTR(True)

            sleep(3)
            print "Turning off DTR..."
            ser.setDTR(False)
            searching = True

            ser.setDTR(True)
            while searching:
                    print "Write instruction..."
                    txt=raw_input()
                    if txt.find("ZZ")>-1:
                            txt=txt.replace("ZZ",chr(13))
                    ser.write(txt)

            ser.close()

Jetzt habe ich auch ein anderes Skript, das die Nachrichten auf "cu.ljadeviceInterface2621" überwacht. Dieses Skript ist wie folgt;

            ser = serial.Serial("/dev/cu.LJADeviceInterface2621", 9600, timeout=1)

            print "Attempting search."
            while True:
                    line = ser.readline()
                    print ">", line

Mit diesen Skripten, die beide im Schreibcode ausgeführt werden, geben ich die folgenden Zeilen ein.

(Hinweis: Die ZZ -Eingabe wird für Strg -Z über das obige Schreibskript ersetzt - CHR (13))

AT+CMGF = 1zz [Drücken Sie Eingabetaste, um Schreiben zu begehen

OK

AT+cmgw = "+447725123123" r n [Drücken Sie die Eingabetaste, um Schreiben zu begehen

ERROR

Ich sollte den Text der Nachricht schreiben, gefolgt von Strg-Z (CHR (13), aber ich bekomme einen sofortigen Fehler.

Das USB -Modem verfügt über eine gültige SIM mit Kredit, es hat ein Signal, ich kann einen Text von der Zoom -Modemsoftware senden (dies funktioniert jedoch nur im PDU -Modus - aber das Modem unterstützt den Textmodus gemäß AT+CMGF = Befehl) und Empfangen Sie Nachrichten.

Irgendwelche Ideen?

Ich freue mich, bei Bedarf weitere Informationen zu geben, danke stu

War es hilfreich?

Lösung

Denken Sie auch daran, dass es viele Projekte gibt, die die Aufgabe für Sie erledigen (Pysms ist einer von ihnen)

Andere Tipps

Nun, ich benutze dieses Modem nie, aber ich nehme an, es verwendet Standard -GSM bei Befehlen, und AT+CMGW ist falsch.

Sie sollten senden: AT+cmgs = "+111111111" r n sms text strl-z

Und das sollte funktionieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top