Aujourd'hui je vous propose d'envoyer et de recevoir des sms avec votre NadHat et une Raspberry Pi en utilisant Gammu en ligne de commande.

Principe

Pour émettre des sms, votre Raspberry Pi doit pouvoir se connecter au réseau GSM d'un opérateur. Pour ce faire, nous allons utiliser une carte SIM avec un abonnement comprenant des appels limités à 2h mais permettant l'envoie de sms et de mms illimités. La plupart des opérateurs proposent des forfaits de ce genre pour pas cher.

Installation de Gammu

Gammu est un utilitaire qui va vous permettre de contrôler votre téléphone.

Nous allons tout d'abord mettre à jour le système avec la commande suivante:

pi@raspberry:~ $ sudo apt-get update

Ensuite installons gammu:

pi@raspberry:~ $ sudo apt-get install gammu

Configuration de gammu avec l'outil gammu-config

Lancez la commande suivante pour ouvrir l'utilitaire de configuration de gammu.

pi@raspberry:~ $ gammu-config -c /home/pi/.gammurc

Cet utilitaire va nous permettre de spécifier nos paramètres afin de communiquer avec notre carte SIM via gammu.

Notre carte NadHat est reliée au Raspberry Pi 0 à travers le port série ttyAMA0 à une vitesse de 115200 bit/s. Donc nous allons configurer les paramètres suivants: 

  • Port: /dev/ttyAMA0
  • Connection: at115200

Ensuite sauvegardez avec "Save", puis "yes" et "ok" pour valider la nouvelle configuration et quitter l'interface de configuration gammu.

Démarrage de NadHat

Afin de tester gammu il nous faut communiquer avec notre carte SIM. Pour cela nous allons démarrer notre carte NadHat.

Nous allons donc récupérer le script bash de démarrage "nadpwr.sh" disponible sur notre GitHub avec le lien suivant:

https://github.com/garatronic/nadhat/blob/master/software/nadpwr.sh

Lancez le script comme ci-dessous:

pi@raspberrypi:~/nadhat/software $ ./nadpwr.sh 
pulse low PWRKEY pin on GPIO26 for 1s to startup SIM800...
end

Vérifiez sur la carte NadHat que la led verte s'allume et que la led orange clignote.

Envoyer et recevoir des sms

Maintenant que notre carte NadHat est alimentée nous allons pouvoir tester gammu :)

Vérifier la communication avec notre carte SIM avec la commande suivante:

pi@raspberrypi:~/nadhat/software $ gammu identify
Device               : /dev/ttyAMA0
Manufacturer         : SIMCOM_Ltd
Model                : unknown (SIMCOM_SIM800C)
Firmware             : Revision:1418B04SIM800C24
IMEI                 : 862631036779410

Si vous obtenez des informations comme ci-dessus votre SIM est bien accessible et vous allez pouvoir aller plus loin. Si cette commande ne fonctionne pas vérifiez le port uart utilisé et que votre carte NadHat est bien alimentée.

Pour envoyer ou recevoir des sms, la première chose à faire est de débloquer la carte SIM avec le code PIN requis. Ici, nous utilisons une carte SIM de l'opérateur orange donc la code pin est 0000.

pi@raspberrypi:~/nadhat/software $ gammu entersecuritycode PIN 0000

Au bout de quelques secondes vous devriez voir la led orange passer d'un clignotement rapide à un clignotement lent.

Maintenant il ne reste plus que la commande suivante à exécuter pour envoyer votre sms:

pi@raspberrypi:~/nadhat/software $ echo "Envoie d'un sms avec gammu" | gammu sendsms TEXT 06XXXXXXXX
If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=93

Afin de voir vos sms reçus vous pouvez rentrer la commande suivante:

pi@raspberrypi:~/nadhat/software $ gammu getallsms

Vous connaissez maintenant les commandes de base de gammu, nous verrons prochainement comment utiliser un script python pour lancer l'envoie d'un sms.

A bientôt!

Commentaires   

# Petite correctionr.suaud 24-11-2017 15:24
Pour que cela fonctionne chez moi, la commande "gammu-config" ne doit pas être effectuée en sudo mais avec l'utilisateur normal
# RE: Envoyez des SMS en ligne de commande avec NadHAT et Gammujlecanteur 03-12-2017 19:38
Bonjour,

Comment faire pour avoir un peu de support.
J'ai fait la config, mais "gammu identify" ne répond jamais la premier fois, puis "Error opening device. Unknown, busy or no permissions." ensuite.
Suis un peu bloqué.

Merci.
# RE: Envoyez des SMS en ligne de commande avec NadHAT et Gammujlecanteur 04-12-2017 23:12
J'ai résolu mon problème de la manière suivante:
Dans /boot/config.txt :
enable_uart=1
dtoverlay=pi3-disable-bt

Malgré cette bonne progression, je perd malheureusement le BT.

Donc si qq a une idée sur l'origine du problème.
# port sériePetit_Pierre 24-12-2017 07:21
Bonjour jlecanteur,

Je pense que la réponse est là :
http://www.framboise314.fr/le-port-serie-du-raspberry-pi-3-pas-simple/
# Précisionstaprik 12-06-2018 10:32
Petit retour d'expérience :
J'ai eu le même problème que jlecanteur. Comme je n'avaias besoin du BT j'ai opté pour la solution 1 présentée dans le lien donné par Petit_Pierre :
Dans /boot/config.txt :
enable_uart=1
dtoverlay=pi3-disable-bt
ET
supprimer :
console=serial0,115200 dans /boot/cmdline.txt
# Problème de ficher configDebutant 27-12-2018 15:18
Bonjour,
Je suit TRES débutant et je ne parvient pas a utilisr ma carteNadHat
Apres avoir desactivé le BT j'ai enfin réussi a avoir :

pi@F1rst:~/Script $ bash nadpwr.sh pulse
NadHAT board is on.

J'ai bien la diode verte allumée et la orange qui clignote.

Je me suis heurté un certain temps au fichier config qui n'était pas dans le bon dossier et que j'ai déplacé dans /etc/gammurc/.gammurc

Maintenant mon problème et le suivant :

pi@F1rst:~/Script $ sudo gammu identify
Warning: Configuration could not be parsed!
Avertissement: Pas de lecture de configuration, utilisation des défauts innés !
Erreur à l'ouverture du périphérique: il n'existe pas.

Pouvez vous m'aider ?
# Premier problème résolu !Debutant 29-12-2018 21:42
Ok j'ai trouvé le problème : mon fichier config gammu etait là :
/etc/gmmurc/.gammurc
alors qu'il aurait du etre la :
/etc/gammurc tout court

La réponse était ici : https://wammu.eu/docs/manual/config/

Bon évidement maintenant ça marche toujours pas, pour envoyer ou rececoir des sms ca me dit tout simplement :

pi@F1rst:/usr/bin $ gammu getallsms
Impossible d'ouvrir le fichier spécifié.

Je vous tient au courant si je regle ça tout seul :-)
# Ça marche enfin !!!Debutant 30-12-2018 11:36
Bon donc mon problème était vraiment un problème de débutant ...
Donc à la place de :
echo "Envoie d'un sms avec gammu" | gammu sendsms TEXT 06XXXXXXXX

j'avais essayé :
sudo echo "Envoie d'un sms avec gammu" | gammu sendsms TEXT 06XXXXXXXX

qui ne marchait pas nom plus et finalement j'ai fait :

sudo echo "Envoie d'un sms avec gammu" | sudo gammu sendsms TEXT 06XXXXXXXX

Et la ça marche \o/