Question

Je suis en train de faire un simple python 2.6 application sur Mac OS X 10.6.6 qui peut envoyer et recevoir des SMS sur mon Zoom 7,2m (3g) Modem USB.

En branchant d'abord dans le modem USB, aucune session ATS ou CU semblent être créés. Je dois exécuter le logiciel de modem pour initier les sessions suivantes:

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

Après beaucoup de « fun », il semble que la seule session, je peux lire et écrire est « cu.LJADeviceInterface2621 ». En essayant de se connecter à l'instance de TTY, je reçois une erreur -

serial.serialutil.SerialException: n'a pas pu ouvrir le port /dev/tty.LJADeviceInterface2621: [Errno 16] Ressource occupée: '/dev/tty.LJADeviceInterface2621'

Cest bien que - je au moins avoir quelque chose à travailler, le cu équivalent.

Mon script est la suivante:

            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()

Maintenant, j'ai aussi un autre script qui surveille les messages sur « cu.LJADeviceInterface2621 ». Ce script est comme suit:

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

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

Avec ces scripts à la fois en cours d'exécution, dans le code ECRITURE, j'entre les lignes suivantes:

(Note: l'entrée ZZ est remplacé par Ctrl-Z via le script d'écriture ci-dessus - chr (13))

AT + CMGF = 1Z [appuyez sur Entrée pour valider écriture]

OK

AT + CMGW = "+ 447725123123" \ r \ n [appuyez sur Entrée pour valider écriture]

ERREUR

Je devrais écrire le texte du message, suivi par Ctrl-Z (chr (13), mais je reçois une erreur immédiate.

Le modem USB est une carte SIM valide, avec le crédit, il a le signal, je peux envoyer un texte à partir du logiciel modem Zoom (cela fonctionne mais uniquement avec le mode PDU - mais le modem ne mode texte de soutien, selon AT + CMGF = commande) et recevoir des messages.

Toutes les idées?

Heureux de fournir plus d'informations en cas de besoin, merci Stu

Était-ce utile?

La solution

Rappelez-vous aussi qu'il ya beaucoup de projets qui ne tiennent la tâche pour vous (pysms est l'un d'entre eux)

Autres conseils

Eh bien, je ne jamais utiliser ce modem, mais je suppose qu'il utilise les commandes standard GSM AT et AT + CMGW est erroné.

Vous devez envoyer: AT + CMGS = "+ 111111111" \ r \ n SMS TEXT Ctrl-Z

Et cela devrait travailler

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top