zero__cool
Messages postés2Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention10 septembre 2011
-
9 sept. 2011 à 15:42
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
11 sept. 2011 à 13:17
Bonjour,
Je suis entrain de développer une interface d'envoi de SMS via les Modem GSM, a une liste de numéros importé a partir d'un fichier texte, en utilisant les commandes AT.
Tout fonctionne Nikel pour un seul numéro, mais quand il s'agit de plusieurs ça ne passe pas voici le code (je vous mets le nécessaire, si besoin de plus je le metterais):
Procédure d'appel de l'envoi
While k < numeros.Length
If k > 0 Then
stopwatch = stopwatch.StartNew
Thread.Sleep(secatt.Text * 1000)
stopwatch.Stop()
End If
If numeros(k).ToString.Trim <> vbNullString Then
envs.envoiSMS(numeros(k).ToString.Trim, messagetxt.Text.Trim)
envs.ClosePor()
End If
k += 1
End While
Et la fonction d'envoi:
OpenPor()
commande = "AT+CPIN=0000" + vbCrLf
commande &= "AT+CMGS=""" + numero.ToString.Trim + """" + vbCrLf
commande &= messag + Chr(26) + Chr(26) + vbCrLf + vbCrLf
'MsgBox(commande)
If ModemPort.IsOpen = True Then
ModemPort.WriteLine(commande)
ModemPort.WriteLine(vbCrLf)
Else
MsgBox("Impossible de se connecter au Modem")
End If
avec ce code, un seul (le premier de la liste) reçevera le SMS, c'est comme si ile ne détecte pas la chr(26) (CTRl+Z)
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 sept. 2011 à 09:18
Salut
Je n'y connais pas grand chose en .Net et pas beaucoup plus en AT, mais une chose m'étonne : dans les exemples que j'ai pu trouver sur internet, après chaque commande AT, le programme relit l'état pour vérifier que le modem est prêt, notamment l'attente du caractère > avant d'écrire le texte du message, ou l'attente du code 62 après l'envoi pour la confirmation d'envoi.
De plus, tu n'utilises pas <la commande AT> de désignation du type de message, CMGF=1 pour du texte.
A mon avis, je pense que l'envoi d'un même texte vers plusieurs destinataire doit pouvoir se faire en une seule fois (1). Vérifie s'il n'est pas possible de mettre une liste de n° de téléphone (2) au d'un n° unique.
(1) peut-être avec une autre commande AT
(2) séparés par un caractère spécifique
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
zero__cool
Messages postés2Date d'inscriptiondimanche 28 novembre 2004StatutMembreDernière intervention10 septembre 2011 10 sept. 2011 à 13:50
Bonjour,
Merci pour vos réponses,
Jack:
Pour la mode texte oui je l'ai déjà activé, en fait je reçoit de message, mais pour un seul numéro...
En fait l'envoi doit se faire avec cadence, sinon l'opérateur bloquera la carte SIM et les sms ne passeront plus (c du flood...) je dois le faire 1 par 1 avec un temps d'attente plus ou moins égale a 5 / 6 secondes
mais j'aimerais bien comprendre l'attente du caractère " > " ... peut être qu'avant d'envoyer la commande d'écriture du message je dois lire la buffer (si vous avez un code qui peut m'aider pour ça,même sans .NET, serais gentil )
us_30:
J'ai utilisé aussi les " & " mais c pareil...
En fait le vbCrLf s'exécute parce qu'avant d'écrire le message je dois lui donner le numéro suivi par le vbCrLf
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 10 sept. 2011 à 14:40
sinon l'opérateur bloquera la carte SIM et les sms ne passeront plus (c du flood...)
Ou_i ?
Explique ...
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 11 sept. 2011 à 13:17
Du flood : Alors, pour ma part, ce sera la dernière réponse à ce post - on est déjà assez emmerdé comme ça avec les gens qui ne respectent pas les règles de vie en communauté, tu sais, le "truc" qu'on appelle liberté :
"La liberté des uns s'arrête là où celle des autres commence"
La réponse à ta question à propos du > se trouvera dans les pages que tu trouveras sur le net avec une simple recherche "VB commande AT SMS"
Oui, il faudra lire les infos issues du téléphone et pas seulement lui en envoyer.