J'essaye de faire fonctionner le gsm shield d'Arduino mais je n'y arrive désespérément pas. Mon shield est juste connecté à l'arduino via les ports série (je ne l'ai pas monte sur la carte).
Si je ne mets pas de carte sim, la led "net" clignote rapidement sans cesse et la led "status" reste allumé fixe.Des que je met la carte sim, les deux le leds s'éteignent au bout de 3s après que la led "net" ait clignoté rapidement.
Voici mon gsm shield: https://www.amazon.fr/gp/product/B01FK32ODM/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1
J'ai tenté le program de test modem mais ca commence par une erreur puis me renvoi un IMEI égal à "0"...
bonjour,
tu as un bouton sur le coté pour allumer le shield, appuie 2-3s jusqu'a ce que la rouge s'allume et relache.
après, alim externe pour le shield si le soucis persiste, l'arduino a du mal a donner la puissance demandée.
Quand je parle des leds "status" et "net", c'est après appui sur le bouton " pwrkey". J'utilise déjà une alimentation externe car l'allumage du shield faisait rebooter l'arduino.
Il y a un jumper qui permet de sélectionner si vous voulez le hardware serial (D0 et D1) ou Software Serial (D7 et D8). Le Jumper est il bien placé?
Pour l'allumer il y a une séquence particulière. Il faut soit appuyer sur le bouton d'allumage pendant deux secondes si un jumper sur la carte n'est pas soudé et attendre un peu plus de 3 secondes ensuite avant de faire quoi que ce soit sur le port série
Mais il se peut que le jumper soit soudé sur votre carte, alors Il faut jouer avec la pin D9 du arduino et celle qui correspondrait sur le module et De mémoire je crois qu'il faut mettre le pin à bas 1 seconde, haut 2 secondes puis bas 3 secondes pour faire démarrer proprement le module.
@JML: J'ai vu l'histoire du jumper. Par default, il etait sur D0 et D1, je pense que c'est bon non? Je conseille de voir la photo car le shield à bien toute ses leds allumées (sans carte sim).
@Infobarqué:
Carte sim B&You
Bouygues Telecom
B&You 2h
Pin annulé oui
C'est la carte sim de mon téléphone en fait, donc je sais que je capte le réseau dans le coin. J'ai testé de chez moi via le telephone et je capte la 2G, la 3G et la 4G. J'ai regardé les fréquences via antennesmobiles.fr et ca rentre dans ce que peux accepter le module (800-900MHz en GSM par exemple).Donc ca élimine le problème du reseau.
Pour le programme utilisé, je suis partie du programme d'exemple "SmS send" disponible sur le logiciel arduino. Comme ca marchait pas , je me suis rabattu sur le programme "testModem" qui ne semble pas marcher non plus (voir capture).
Effectivement, merci bien! L'UART risque de mal marcher sans la masse.
Mais ca ne marche pas mieux. La led TX de la carte arduino s'allume bien pour signaler l'envoi d'une commande mais aucune response de la part du shield visiblement car la led RX ne s'allume jamais alors qu'elle devrait retourner l'IMEI...
Euh la, j'avoue ne pas trop comprendre...
Depuis tout à l'heure, je ne fais qu'ouvrir le moniteur serie pour voir le programme exemple "testModem"s'exécuter.
Les commandes AT, je n'ai que vaguement vu ce que c'était et je ne sais pas ce qu'est qu'un terminal avec un FDTI.
Euh si vous ouvrez le moniteur série et votre PC qui prend la main sur les pin 0 et 1... le USB de votre arduino y est connecté... Et si ces pins sont connectées de l'autre côté au module GSM alors ça met le bazar, 3 personnes qui se parlent en même temps...
Si vous connectez votre arduino sur le PC, alors il faut basculer le Jumper de la carte vers software serial et utiliser les autres pins de votre arduino pour parler au module
J'avoue ne pas trop avoir compris pourquoi ca posait un problème avec l' USB et les ports 0 et 1.
Quels autres pins suis-je censé connecter sur l'arduino? Car il n'y a que 2 pins pour la liaison série sur l'arduino uno.
/--- +5V
/-------- TX USB [color=red]-------->[/color] RX Arduino [color=red]<--------[/color] TX GSM
PC <---> USB |
\-------- RX USB <-------- TX Arduino --------> RX GSM
\--- GND
La pin RX de l'arduino est au milieu d'une cacophonie - des 2 côtés potentiellement on lui envoie des trucs
Oui il n'y a qu'une seule liaison hardware c'est pour cela que la carte GSM offre cette option de port série virtuel avec le jumper et les pins D7 et D8 (ou D2 D3 sur certaines cartes) que je mentionnais en post 3 (et faut modifier l'exemple pour utiliser Software serial. ça doit être documenté)
Une liaison série, je sais comment ca marche. Le problème, c'est plutôt comment ca marche avec l'arduino et le shield. Mais je viens d'avoir une partie de la réponse avec la votre.
En revanche, je n'ai toujours pas compris comment connecter l'arduino et le shield ensemble.
De ce que j'ai compris:je ne touche rien sur le shield (à part les jumpers) et je déconnecte les fils coté arduino pour les connecter sur D7 et D8(sur l'arduino). Si c'est cela, je viens d'essayer et ca ne marche toujours pas...
Non coté arduino D7 et D8 et côté GSM sur les pins qui auraient été plantées sur D7 et D8
Ensuite il faut charger un code dans l'arduino qui utilise software serial sur ces pins; Vous avez quoi comme exemples? Vous pouvez mettre un lien vers le github de votre librairie?
comme ça USB <--> Arduino D0 et D1
Arduino D7, D8 <----> GSM D7/D8 équivalents
L'arduino est alors le chef d'orchestre, il décide ce qu'ils dit l'ordinateur ou écoute l'ordinateur d'un côté et d'un autre côté fait de même avec le GSM
D'accord. Je vais essayer.
Mais comme je l'ai déjà, j'utilise le programme exemple "TestModem" disponible dans Fichier->Exemples->GSM->Tools du logiciel Arduino. Ce n'est pas un code que j'ai écrit.
Vous y avez donc accès comme moi .
Bon, ben au final, ça correspond au pins D7 et D8 de mon shield je pense. Ca ne marche une fois de plus pas...
C'est vraiment compliqué à utiliser comme matériel...
Après, comme vois m'avez parlé de software serial, j'ai cherché et j'ai trouvé un programme ici GeekOnFire GSM/GPRS Shield — MCHobby - Wiki
En changeant la vitesse à 19200 bauds et en mettant la paramétré Retour chariot. J'ai tenté de demander l'IMEI et ca me l'a renvoyé correctement. Un bon avancement déjà!
Edit:dsl pour la reponse multiple, j'ai corrigé ca.
Ouvrez la console série Arduino, mettez la vitesse de la console à 115200 avec envoi de CR et NL
Tapez AT dans la console série du PC et entrée
Si vous recevez OK de la part de l'arduino alors vous savez parler votre carte GSM
Entrez alors
AT+CMGF=1
Puis
AT+CNMI=2,2,0,0,0
La première commande met le module en mode sms texte
La seconde lui dit d'envoyer les sms sur le port série
Envoyez un sms;depuis votre portable au numéro de la carte
Vous devriez le voir s'afficher sur le PC dans la console
Ca ne marche une fois de plus pas...
C'est vraiment compliqué à utiliser comme materiel comparé à l'arduino en elle même.
Ben c'est d'une part faut pour être posé dessus, ça règle le pb des masses et des pins. Ensuite il faut comprendre effectivement le code que vous chargez et s'il faut ou pas bouger les jumpers... Mais sinon c'est quand même tout simple