1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

comment faire pour exécuter une commande USSD a partir de windev via un modem gsm ?

Discussion dans 'Windev' créé par bigfun, Mar 30, 2018.

  1. bigfun

    bigfun New Member

    Inscrit:
    Fev 14, 2018
    Messages:
    22
    J'aime reçus:
    3
    :)
    Example pour transfer un Credit.
     
    #1 bigfun, Mar 30, 2018
    Dernière édition par un modérateur: Déc 16, 2018
    Tags:
  2. Elfolano

    Elfolano New Member

    Inscrit:
    Jan 23, 2018
    Messages:
    5
    J'aime reçus:
    8
    Bonjour pour manipuler les modem gsm il faut utiliser les commandes AT qui sont relatives au modem. Il y a par exemples des commandes pour envoyer un message sur le modem et d'autre pour lire les messages. En windev il faut utliser les commandes de gestion des port série. J'ai travailler une fois sur un projet quelconque.
    Cette procédure permet par exemple de lire un message sur un modem gsm.
    PROCEDURE LitSms()

    nPort est un entier
    //bMonPort est un booléen
    nNbreOctet,nWidMsg,nWincr est un entier
    sMess,sWcontenu,sWnum est une chaîne
    HLitDernier(SdparamModem,IDSdparamModem)
    //info("ParaModem")
    // Ouverture du Port série
    nPort = SdparamModem.NumPort
    //FixeParamPort()
    SI sOuvre(nPort, 4096, 4096) ALORS
    sdmsgerreur.ContenuSms=DateVersChaîne(DateHeureSys(),maskDateSystème)+"Ouverture du Port N°"+nPort
    sdmsgerreur.HeureMsg=HeureSys()
    sdmsgerreur.DateMsg=DateSys()
    HAjoute(sdmsgerreur)
    // Info("Ouverture")
    // ListeAjoute(LISTE_Message,DateVersChaîne(DateHeureSys(),maskDateSystème) +" "+"Port N°"+nPort+" Ouvert")
    SINON
    // info("Non ouvert")
    sdmsgerreur.ContenuSms=DateVersChaîne(DateHeureSys(),maskDateSystème)+"Erreur d'ouverture du Port N°"+nPort
    sdmsgerreur.HeureMsg=HeureSys()
    sdmsgerreur.DateMsg=DateSys()
    //HAjoute(sdmsgerreur)
    HAjoute(sdmsgerreur)
    FIN
    sEcrit(nPort, "AT" + Caract(1:relievedface:)
    //On laisse au moden le temps de répondre
    Temporisation(100)
    nNbreOctet = sDansFileEntrée(nPort)
    sMess = sLit(nPort, nNbreOctet)
    //trace(Majuscule(sMess))
    //Si la réponse (qui est en fonction du modem) est différente Entrée_OK_Entrée...
    SI Majuscule(sMess) <> Caract(1:relievedface: + Caract(10) + "OK" + Caract(1:relievedface: + Caract(10) ALORS
    sdmsgerreur.ContenuSms="Communication avec le terminal impossible ! Réseau mauvais ou revérifiez les branchements du modem et sa configuration !"
    sdmsgerreur.HeureMsg=HeureSys()
    HAjoute(sdmsgerreur)
    sFerme(nPort)
    FixeParamPort() // on refait le paramétrage du port puis on reprend
    SINON
    sdmsgerreur.ContenuSms="LECTURE SUR LE MODEM"
    sdmsgerreur.HeureMsg=HeureSys()
    sdmsgerreur.DateMsg=DateSys()
    HAjoute(sdmsgerreur)
    //// //vérifier le stockage
    //// //sMess="
    sFixeParamètre(nPort, 9600, 0, 8, 1, Vrai, Vrai, Faux)
    //mettre le modem en mode texte
    sEcrit(nPort,"AT+CMGF=1"+RC)
    Temporisation(100)
    //// Temporisation(100)
    nNbreOctet = sDansFileEntrée(nPort)
    sMess = sLit(nPort, nNbreOctet)
    sEcrit(nPort,"AT+CPMS="+Caract(34)+"SM"+Caract(34)+RC)
    Temporisation(100)
    nNbreOctet = sDansFileEntrée(nPort)
    sMess = sLit(nPort, nNbreOctet)

    POUR nWincr=0 A 29
    HLitRecherche(IndLecture,NumIndice,nWincr)
    SI IndLecture.EtatIndice="NO" ALORS
    nWidMsg=IndLecture.NumIndice
    sEcrit(nPort,"AT+CMGR="+nWidMsg+RC)
    Temporisation(100)
    nNbreOctet=sDansFileEntrée(nPort)
    sMess=sLit(nPort,nNbreOctet)
    //Trace(nWidMsg+"="+sMess)
    sMess=sMess[[10 A (Taille(sMess)-8)]]
    //Trace(nWidMsg+"="+sMess)
    sWcontenu=ExtraitChaîne(sMess,7,"""")
    sWcontenu=sWcontenu[[3 A Taille(sWcontenu)]]
    //Trace(sWcontenu)
    SI sWcontenu<>"" ALORS
    sWnum=ExtraitChaîne(sMess,4,"""")
    SI Taille(sWnum)>=12 ALORS
    sWnum=sWnum[[2 A 12]]
    SINON
    sWnum=sWnum
    FIN
    sdsmsrecu.NumSender=sWnum
    sdsmsrecu.ContenuSms=sWcontenu
    sdsmsrecu.DateRecepSms=DateSys()
    sdsmsrecu.HeureRecepSms=HeureSys()
    sdsmsrecu.TraiteSms="NO"
    HAjoute(sdsmsrecu)
    IndLecture.EtatIndice="OK"
    HModifie(IndLecture)
    FIN
    FIN
    // info(nWincr)
    FIN
    //info("Fin BOUCLE")
    sFerme(nPort)
    FIN
     
  3. bigfun

    bigfun New Member

    Inscrit:
    Fev 14, 2018
    Messages:
    22
    J'aime reçus:
    3
  4. Elegi

    Elegi New Member

    Inscrit:
    Juin 22, 2018
    Messages:
    7
    J'aime reçus:
    2
    Bonsoir la team, svp j'ai besoin de votre aide pour la programmation du code USSD en windev. Voici mon code ci qui me retourne la valeur : 10 lorsque je saisie #100# car j'ai une SIM de l'operateur MTN Côte d'Ivoire. Merci bien
     

    Fichiers attachés:

    • ussd.JPG
      ussd.JPG
      Taille de fichier:
      35.9 KB
      Affichages:
      93
  5. Elfolano

    Elfolano New Member

    Inscrit:
    Jan 23, 2018
    Messages:
    5
    J'aime reçus:
    8
    Bonjour est tu obligé d'utilisé un modem pour envoyer les codes USSD si oui quel type de modem utilise tu? La plupart des nouvelles générations de modem usb ne supporte plus les commandes AT
     
  6. popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour est tu obligé d'utilisé un modem pour envoyer les codes USSD si oui quel type de modem utilise tu? La plupart des nouvelles générations de modem usb ne supporte plus les commandes AT
    Cliquez pour agrandir...

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , Est ce qu'il Existe une liste des MoDem USB acceptant les commandes AT?
     
  • Elfolano

    Elfolano New Member

    Inscrit:
    Jan 23, 2018
    Messages:
    5
    J'aime reçus:
    8

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    , Est ce qu'il Existe une liste des MoDem USB acceptant les commandes AT?
    Cliquez pour agrandir...
    Oui je ne sais pas quel type de modem tu utilises. Mais selon ton code posté as tu as réussis à le connecter le modem ? Je présume que c'est les modem usb 3G. Faudra être plus explicite pour me permettre d'orienter mon aide.
     
  • popoy

    popoy Well-Known Member
    MEMBRE WX

    Inscrit:
    Fev 23, 2018
    Messages:
    2,884
    J'aime reçus:
    1,532

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Oui je ne sais pas quel type de modem tu utilises. Mais selon ton code posté as tu as réussis à le connecter le modem ? Je présume que c'est les modem usb 3G. Faudra être plus explicite pour me permettre d'orienter mon aide.
    Cliquez pour agrandir...
    si tu vois bien, je ne suis pas

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
  • Elegi

    Elegi New Member

    Inscrit:
    Juin 22, 2018
    Messages:
    7
    J'aime reçus:
    2
    Bonjour très cher, j'utilise les clé internet comme modem
     
  • kabamel

    kabamel New Member

    Inscrit:
    Oct 7, 2019
    Messages:
    1
    J'aime reçus:
    0
    Je me suis intéressé à ce problème depuis très longtemp, toujours pas de solution chez moi.
    Merci pour votre aide.
     
  • Partager cette page

    Chargement...