Mise en veille du Shield GSM arduino

Bonjours je travaille sur un projet qui demanderait a un système possèdent un shield GSM Arduino de resté autonome
Le programme marche mais il a besoin de s'activé qu'une fois par jours (Envoi SMS )
Afin d'économisé de l’énergie y'a t'il un mode veille
Une fonction qui arrêter la puce GSM a la fin du programme
Merci d'avance

Impossible de répondre sans connaître la référence du circuit intégré qui équipe le shield.
Il faut commencer par identifier ce circuit puis en consulter la datasheet.
La datasheet du shield est trop souvent parcellaire.

Edit : c'est possible avec les cartes équipées de circuit intégré SIM900.

Bonjour
Meme reponse que 68tjs pour une approche eventuellement plus douce 8)
sinon il y a la methode "bourrin" = inserer sur la ligne d'alim du shield un petit mosfet commandé par le programme
juste quand c'est necessaire.

Sauf qu'avec un circuit comme le SIM900 qui est prévu pour être endormi/réveillé la méthode bourrin ne fonctionne pas ---> il y a une procédure à respecter :

void powerUp()
{
pinMode(9, OUTPUT);
digitalWrite(9,LOW);
delay(1000);
digitalWrite(9,HIGH);
delay(2000);
digitalWrite(9,LOW);
delay(3000);
}

L'approche douce ou "moins douce" est toujours la même : chercher dans les datasheets.

bonjour,
déjà quel shield?
en fonction de ca, on pourra répondre.
la méthode pinMode(9........
ne fonctionne pas sur toutes les shields, même avec une sim900.
tout dépend de la sortie du power.
perso, pour savoir si le shield est en hibernaton, la commande AT+je saisplus :slight_smile: pas la doc sous les yeux demandant si le shield est POWER DOWN, ensuite, on peut l'activer (toujours suivant le shield) en utilisant une pin qui correspond.

pour certaines, il suffit de rebooter le nono directement pour la faire partir si elle est éteinte.

la méthode pinMode(9........
ne fonctionne pas sur toutes les shields, même avec une sim900.

Ce n'était qu'a titre d'illustration pour montrer que la fonction existait.
Après pour le brochage exact il est bien évident qu'il faut contrôler cas par cas.

Un petit tour sur Ebay montre qu'il n'y a pas tant de circuit intégrés de modules GSM que ça.
A plus de 90 % on touve des cartes à base de SIM900 (Chinois) ou de TC35 (Siemens).

J'ai survolé la datasheet du siemens : il y a aussi une procédure de mise en route et vite lu j'ai comme l'impression qu'il n'y a pas beaucoup de différence entre les deux --> le Chinois aurait-il cloner l'Allemend ?

Edit :
Si le shield est l'officiel Arduino la data sheet du module se trouve ici:

La mise en route est traitée page 28 et suivantes.

Bonjour a tous ,

La mise en veille des SIMCOM passe par des commandes AT :
AT+CSCLK=2 par exemple que je préfère utiliser . Mais attente envoyer deux fois de suite la commande AT puis un AT+CSCLK=0 pour eviter de repasser en mode DODO.

Sinon AT+CSCLK=1 mais dans ce cas tu va devoir gérer le signal DTR.

La doc :

[i]4.3.2. Sleep Mode 1 (AT+CSCLK=1)
Customer can control SIM800L module to enter or exit the sleep mode (AT+CSCLK=1) by DTR signal. When
DTR is in high level and without interrupt (on air and hardware such as GPIO interrupt or data in serial port),
SIM800L will enter sleep mode automatically. In this mode, SIM800L can still receive paging or SMS from
network but the serial port is not accessible.

4.3.3. Wake Up SIM800L from Sleep Mode 1
When SIM800L is in sleep mode 1(AT+CSCLK=1), the following methods can wake up the module:
 Pull down DTR pin.
 The serial port will be active after DTR pin is pulled to low level for about 50ms.
 Receive a voice or data call from network.
 Receive a SMS from network.
 Receive external interrupt.
Note: After module has received incoming call or new SMS, serial port can report URC, but the serial port can not input AT
command. Only after the DTR pin is pulled to low level for 50ms, the serial port can input AT command.

4.3.4. Sleep Mode 2 (AT+CSCLK=2)
In this mode, SIM800L will continuously monitor the serial port data signal. When there is no data transfer over 5
seconds on the RXD signal and there is no on air and hardware interrupts (such as GPIO interrupt), SIM800L will
enter sleep mode 2 automatically. In this mode, SIM800L can still receive paging or SMS from network .
SIMCOM CONFIDENTIAL FILE
 Smart Machine Smart Decision
SIM800L(MT6261)_Hardware Design_V1.01 27 2016-07-07
4.3.5. Wake Up SIM800L from Sleep Mode 2
When SIM800L is in sleep mode 2 (AT+CSCLK=2), the following methods can wake up the module:
 Send data to SIM800L via main serial port (the first character will lose).
 Receive a voice or data call from network.
 Receive a SMS from network.
Note: Autobauding is default. It cannot enter sleep mode in the absence of synchronous serial port baud rate after module power [/i]

Dans tous les cas tu passes a environs 1mA de conso. Si tu désires économiser encore plus le Mosfet sera un bon complément.
Il y a aussi la commande AT+CFUN (equivalent d'un mode avion) et AT+CREG

Dernier conseil pense a avoir une très bonne alimentation avec des capas au tantal pour assurer ton alimentation car au démarrage le SIM800 est gourmand et tu risques de te prendre des resets en boucle.
Lorsque tu passes la phases de démarrage un simple AT+CPAS avec une réponse +CPAS: 0 permet de confirmer que le SIM800 est déclaré correctement sur le réseaux 2G.

J'avais tenté d’insérer mon multimètre en série (ampèremètre) sur la ligne d'alimentation et jackpot reset en boucle .dans ce cas éteindre l'alimentation du SIM800 et re alimenter.

Source des commandes AT :
https://simcom.ee/documents/SIM800L/SIM800L(MT6261)_Hardware%20Design_V1.01.pdf

Bon tests

Richard