Utilisation de la carte GSM-GPRS -- AIR200T -- Quadband 850-900-1800-1900 : Différence entre versions

De HATLAB
 
(10 révisions intermédiaires par un autre utilisateur non affichées)
Ligne 2 : Ligne 2 :
 
|Type=Technique
 
|Type=Technique
 
|Area=Électronique, Robotique
 
|Area=Électronique, Robotique
|Tags=CH340G, USB, GSM, AT COMMAND, GPRS, SMS, Voice, DATA, MAIL,
+
|Tags=CH340G, USB, GSM, AT COMMAND, GPRS, SMS, Voice, DATA, MAIL, carte-arduino
 
|Description=Prise en main de la carte GSM AIR200T (USB CH340G) pour envoyer des SMS, passer des appels, aller sur Internet et envoyer des mails à partir d'un PC, d'un arduino ou d'un Rapsberry.
 
|Description=Prise en main de la carte GSM AIR200T (USB CH340G) pour envoyer des SMS, passer des appels, aller sur Internet et envoyer des mails à partir d'un PC, d'un arduino ou d'un Rapsberry.
 
|Difficulty=Moyen
 
|Difficulty=Moyen
Ligne 10 : Ligne 10 :
 
|Duration-type=heure(s)
 
|Duration-type=heure(s)
 
|Licences=Attribution (CC BY)
 
|Licences=Attribution (CC BY)
|Main_Picture=_Quadband_850-900-1800-1900_AIR200T.jpg
+
|Main_Picture=Utilisation_de_la_carte_GSM-GPRS_--_AIR200T_--_Quadband_850-900-1800-1900_AIR200T.jpg
 
}}
 
}}
 
{{Introduction
 
{{Introduction
Ligne 30 : Ligne 30 :
  
 
Ou Putty.exe pour les tests
 
Ou Putty.exe pour les tests
|Step_Picture_00=_Quadband_850-900-1800-1900_AIR200T.jpg
+
|Step_Picture_00=Utilisation_de_la_carte_GSM-GPRS_--_AIR200T_--_Quadband_850-900-1800-1900_AIR200T.jpg
 
}}
 
}}
 
{{Separator}}
 
{{Separator}}
Ligne 42 : Ligne 42 :
  
 
On pourra alors noter le n° de port associé (ici COM7).
 
On pourra alors noter le n° de port associé (ici COM7).
|Step_Picture_00=_Quadband_850-900-1800-1900_Port_-_Com7.jpg
+
|Step_Picture_00=Quadband_850-900-1800-1900_Port_-_Com7.jpg
 
}}
 
}}
 
{{Tuto Step
 
{{Tuto Step
Ligne 51 : Ligne 51 :
 
- numéro de port : COM7 (enfin chez moi !!!)
 
- numéro de port : COM7 (enfin chez moi !!!)
 
- Speed : 115200 bauds
 
- Speed : 115200 bauds
|Step_Picture_00=_Quadband_850-900-1800-1900_putty.jpg
+
|Step_Picture_00=Quadband_850-900-1800-1900_putty.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Envoi de la première commande "AT"
 +
|Step_Content=Si la liaison est bien paramétrée, l'envoie de la commande AT<CR> doit être comprise par la carte et elle doit alors renvoyer OK.
 +
 
 +
Note: selon que vous avez ou non la fonction écho est installée, vous pourrez recevoir juste OK ou AT // OK.
 +
 
 +
Si cela marche, vous pourrez ensuite envoyer la commande ATI qui vous donnera le nom du fabricant et le numéro de modèle.
 +
Ici AirM2M // SW_V3967_Air200T.
 +
 
 +
 
 +
Si cela ne marche pas :
 +
- vérifier la qualité de votre cable USB
 +
- essayer d'autres baud rates (classiquement 9600, 38400,...)
 +
- les autres parametres de la liaison série sont : Data 8, StopBit 1, Pas de Parité. Handshake None ou XON/XOFF.
 +
|Step_Picture_00=Quadband_850-900-1800-1900_com7-putty.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Entrer le code pin
 +
|Step_Content=Pour accéder à un réseau GSM, il vous faut avoir un abbonement auprès d'un opérateur (en france par exemple Orange F, SFR, Bouygue, Free) ou un opérateur secondaire (CIC, NRJ, etc...).
 +
 
 +
Vous devez placer la carte sim dans le logement approprié (placé sous la carte). Attention, la carte doit être insérée avec le biseau tourné vers l'exterieur. La première fois ca surprend un peu car c'est à l'envers de la façon dont les cartes sont insérés dans les téléphones. Mais, si c'est ok. Alors le système acceptera le code PIN que vous lui fournirez.
 +
 
 +
Pour entrer un code PIN, il faut utiliser la commande AT+CPIN="xxxx" ; ou xxxx est votre code PIN. Dans mon cas, il s'agit du 3812.
 +
 
 +
On peut ensuite vérifier que le code PIN a été accepté avec la commande AT+CPIN?
 +
La carte doit répondre +CPIN: READY puis OK
 +
 
 +
Si la carte SIM n'est pas présente, la carte répond : +CME error : Sim not inserted.
 +
 
 +
Si le code PIN n'est pas renseigné, la carte répond : +SIM PIN puis OK.
 +
|Step_Picture_00=Quadband_850-900-1800-1900_code_PIN.jpg
 +
|Step_Picture_01=Quadband_850-900-1800-1900_Biseau_de_la_carte_sim_vers_le_haut_-_V2.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Quelques commandes AT supplémentaires
 +
|Step_Content=Un certain nombre de commande AT supplémentaires peuvent être testées, en particulier une fois que le code PIN a été entré et qu'il a été reconnu.
 +
 
 +
ATI => Fabricant + Model + OK
 +
AT+FCLASS=? => il y a deux classes possible 0 ou 1
 +
AT+FCLASS? => Fclass actuellement sélectionnée
 +
AT+CFIND=? => 4 modes possibles, Service 0 ou Serv.1; ou Call 0 ou Call 1
 +
AT+CIMI => Donne le numéro IMI (ici 20810379660xxx)
 +
AT+CGMM => donne le type d'équipement mobile
 +
AT+CGMR => Donne le numéro de Firmware
 +
AT+CNUM => Donne les numéros d'identification sur les différents réseaux
 +
|Step_Picture_00=Quadband_850-900-1800-1900_qq_commandes_ATb.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Envoyer un SMS
 +
|Step_Content=Pour envoyer un SMS, il faut utiliser deux commandes séquentiellement :
 +
 
 +
AT+CMGF=1 => va mettre la carte en mode TEXT
 +
 
 +
AT+CMGS="06xxxxxxx" => où 06xxxxxx est le numéro à qui vous voulez envoyer un SMS, va vous permettre d'entrer le message souhaité.
 +
 
 +
Note. pour finir votre message et du fait qu'un SMS peut être sur plusieurs lignes, on sort de l'écriture du SMS en tapant Ctrl-Z (=chr(26)).
 +
 
 +
Le système répond +CMGS: 96/-/-OK/- (où le n° qui suit +CMGS est le numéro de SMS que votre mobile a envoyé).
 +
 
 +
Si vous avez comme message d'erreur :
 +
+CMS ERROR: SM BL not ready => le code PIN n'a pas été rentré
 +
+GMS ERROR: invalid parameter => votre encodage n'est peut-être pas "GSM" - vérifier cela avec la commande AT+CSCS?, puis corriger avec AT+CSCS="GSM".
 +
 
 +
Nota : la liste des encodages disponibles est donné par la commande AT+CSCS=?
 +
|Step_Picture_00=Quadband_850-900-1800-1900_envoyer_un_sms_AT_command.jpg
 +
|Step_Picture_01=Quadband_850-900-1800-1900_sms-received.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Passer un appel, répondre, raccrocher
 +
|Step_Content=On vérifie tout d'abord que le code PIN a bien été rentré :
 +
AT+CPIN? => CPIN: READY-/-/OK-/
 +
 
 +
Ensuite on vérifie qu'on est enregistré sur le réseau
 +
AT+CGREG? => +CGREG: 0,1-/-/OK-/
 +
 
 +
Ensuite on vérifie que l'opérateur choisi est le bon :
 +
AT+COPS? =>+COPS: 0,0,"SFR"
 +
 
 +
Note. On peut aussi avoir la liste de tous les opérateurs disposant d'une antenne dans les environs par :
 +
AT+COPS=? => blablabla.... n'hésitez pas à être patient, car ca prend qq secondes de faire le tour des réseaux présents.
 +
 
 +
Supposant que SFR est votre opérateur, on va vérifier le niveau de signal :
 +
AT+CSQ =>+CSQ: 28,99-/-/OK-/    (je vous renvoie sur d'autres sites pour voir les échelles acceptables...). Chez moi j'ai couramment un signal entre 25 et 34.
 +
 
 +
Donc, on en déduit qu'on peut passer l'appel et on compose alors le numéro :
 +
ATDATD06XXXXXXX5<chr(13)>      , où 06xxxxx est le numéro que vous voulez appeler. Quand la personne décroche à l'autre bout, vous recevez en retour le message : CONNECT.
 +
 
 +
Si vous voulez raccrocher vous même, vous pouvez taper :
 +
ATH<chr(13)>
 +
 
 +
Si vous voulez que votre carte décroche automatiquement au bout de 2 sonneries, tapez :
 +
ATS0=2<chr(13)>
 +
 
 +
Si la personne raccroche avant vous, vous recevez : NO CARRIER
 +
 
 +
Note : la carte possède deux pinouts notés M+ et M-. J'ai testé de brancher un micro dessus (en récupérant cela sur un kit piéton de mobile). Ca marche un peu, mais le son n'est pas très bon. Il faudra que je ré-essaie dans des conditions plus favorables.
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Récupérer une page Web
 +
|Step_Content=Ici on commence la session par :
 +
AT+CIPSHUT => ceci permet de fermer toute session déjà ouverte.
 +
 
 +
AT+CSTT="websfr","","" => cette commande qui est sous la forme AT+CSTT="APN","Id","Password" vous permet de définit les parametres de connection. Comme je suis chez SFR, mon APN est websfr, et je n'ai pas besoin de rentrer ni ID, ni password.
 +
 
 +
AT+CIICR => ceci lance officiellement la session préparé juste avant
 +
 
 +
AT+CIFSR => devrait vous donner le numéro ip qui vous est affecté par votre Fournisseur d'accès
 +
 
 +
Ensuite on entre véritablement dans l'etablissement de la connection  au serveur SMTP. Pour des questions de simplicité, on va se connecter sous telnet :
 +
AT+CIPSTART="TCP","votresite.favori.com",80<chr(13)> => OK/-/-CONNECT OK <= A vous d'écrire l'adresse du site qui vous intéresse.
 +
 
 +
AT+CIPSEND=43<chr(13)>            (note : length + 1 car <chr(13)> au bout
 +
>GET http://votresite.favori.com/ HTTP/1.0<chr(13)> => SEND OK
 +
HTTP/1.1 301 Moved Permanently
 +
Set-Cookie: startBAK=R3415750288
 +
path=/; expires=Wed, 23-May-2018 09:25:59 GMT
 +
Date: Wed, 23 May 2018 08:12:00 GMT
 +
Content-Type: text/html; charset=UTF-8
 +
Content-Length: 0
 +
Set-Cookie: start=R118922443
 +
path=/; expires=Wed, 23-May-2018 09:29:51 GMT
 +
Server: Apache/-X-Powered-By: PHP/5.3.29/-X-Pingback: http://blablabla.com/xmlrpc.php
 +
Set-Cookie: qtrans_cookie_test=qTranslate+Cookie+Test; path=/; domain=www.blablabla.com
 +
Location: http://blablabla.com/
 +
X-IPLB-Instance: 5238
 +
Proxy-Connection: close
 +
 
 +
CLOSED
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Préparer le travail avant d'envoyer un mail
 +
|Step_Content=L'envoi de mail nécessite l'établissement d'une liaison sécurisée, ou à tout le moins une identification sécurisée.
 +
 
 +
Les concepts et les bases d'une telle connection sont décrites sur une page externe :https://openclassrooms.com/courses/comprendre-la-messagerie-electronique/envoyer-un-mail-avec-smtp
 +
 
 +
Vous aurez aussi besoin de vous rendre sur https://www.paulschou.com/tools/xlate/ pour récupérer la traduction base64 de votre ID et votre password vous permettant de vous connecter et d'envoyer des mails via votre fournisseur d'accès préféré... (ou gmail & co).
 +
|Step_Picture_00=_Quadband_850-900-1800-1900_encode-base64.jpg
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Envoyer un mail
 +
|Step_Content=On commence la session par :
 +
AT+CIPSHUT => ceci permet de fermer toute session déjà ouverte.
 +
 
 +
AT+CSTT="websfr","","" => cette commande qui est sous la forme AT+CSTT="APN","Id","Password" vous permet de définit les parametres de connection. Comme je suis chez SFR, mon APN est websfr, et je n'ai pas besoin de rentrer ni ID, ni password.
 +
 
 +
AT+CIICR => ceci lance officiellement la session préparé juste avant
 +
 
 +
AT+CIFSR => devrait vous donner le numéro ip qui vous est affecté par votre Fournisseur d'accès
 +
 
 +
Ensuite on entre véritablement dans l'etablissement de la connection  au serveur SMTP. Pour des questions de simplicité, on va se connecter sous telnet :
 +
AT+CIPSTART="TCP","ssl0.ovh.net",587 => oui. j'ai beau être perso chez SFR, je préfère envoyer mes mails via OVH (j'ai ai un compte pro).
 +
 
 +
AT+CIPSEND=6<chr(13)>
 +
>INIT<chr(13)><chr(10> => /-/-ERROR/- ici j'ai toujours une erreur. Mais ca n'est pas grave. C'est comme si la 1ere commande envoyée via telnet était toujours mauvaise.
 +
 
 +
AT+CIPSEND=19<chr(13)>
 +
> HELO ssl0.ovh.net/<chr(13)><chr(10>-/-SEND OK/-250 player759.ha.ovh.net/-
 +
 
 +
AT+CIPSEND=12<chr(13)>
 +
> AUTH LOGIN => le serveur vous répond SEND OK/-334 VXNlcm5hbWU6<chr(13)><chr(10> <= ici il écrit Username: en base64.
 +
 
 +
Vous lui répondez avec votre ID (en base64) tel que vous l'avez établi dans l'étape précédente :
 +
AT+CIPSEND=26<chr(13)>        (note ici : 26 est la longueur de la chaine que vous voulez envoyer + 2 pour ajouter <chr(13)> et <chr(10)> à la fin
 +
> bxxxxxxxxxxxxxxxxxxxxxxxt<chr(13)><chr(10> => le système vous répond SEND OK/-334 UGFzc3dvcmQ6 <= ce qui veut dire Password en base64.
 +
 
 +
AT+CIPSEND=22<chr(13)>            (note ici : 22 = lenght + 2 à nouveau)
 +
> Qxxxxxxxxxxxxxxxxxxxxxl<chr(13)><chr(10)> => le système répond
 +
SEND OK/-235 2.7.0 Authentication successful
 +
 
 +
Ce qui est très encourageant. :-)
 +
On passe alors à l'écriture du mail en lui même :
 +
 
 +
AT+CIPSEND=30<chr(13)>
 +
> MAIL FROM:xxxxxx@blablabla.com<(chr13)><chr(10)> => SEND OK/-250 2.1.0 Ok
 +
 
 +
AT+CIPSEND=33<chr(13)>
 +
> RCPT TO:yyy@blablabla.com<chr(13)><chr(10)> => SEND OK
 +
 
 +
AT+CIPSEND=6<chr(13)>
 +
> DATA => SEND OK.  250 2.1.5 Ok/ 354 End data with <CR><LF>.<CR><LF>
 +
 
 +
AT+CIPSEND=47<chr(13)>
 +
> Subject: Cet Email est envoye automatiquement<chr(13)><chr(10)> => SEND OK/
 +
 
 +
AT+CIPSEND=32
 +
> Ici on met le texte qu on veut => SEND OK
 +
 
 +
AT+CIPSEND=32
 +
> Et on finit par un . tout seul =>SEND OK
 +
 
 +
AT+CIPSEND=3
 +
>.<chr(13)><chr(10)> =>SEND OK/-250 2.0.0 Ok: queued as 7338D6400DA/-
 +
}}
 +
{{Tuto Step
 +
|Step_Title=Une interface Visual Basic 2010
 +
|Step_Content=A toute fin utile, j'ai développé une interface en Visual Basic 2010 qui permet d'envoyer les différentes commandes par simple clics de boutons.
 +
 
 +
Si celle ci vous intéresse, n'hésitez pas à me contacter via permanence.sunlab@gmail.com.
 +
 
 +
Je me ferai un plaisir de la partager avec vous...
 +
 
 +
 
 +
Je réfléchi à mettre celle ci en partage sous Github. Je vous préviendrai dès que ce sera fait...
 +
|Step_Picture_00=Quadband_850-900-1800-1900_Interface_VB_2010.jpg
 
}}
 
}}
 
{{Notes}}
 
{{Notes}}
{{Tuto Status}}
+
{{Tuto Status
 +
|Complete=Cochez cette case si vous considérez ce tutoriel terminé
 +
}}

Version actuelle datée du 22 avril 2022 à 22:13