Ceci est une ancienne révision du document !
RaspiSMS est une interface Web qui permet d'envoyer/recevoir des SMS.
L'outils dispose également d'une API qui permet de lancer en ligne de commandes des envois de SMS.
Source: https://raspisms.raspberry-pi.fr/
Un Raspberry PI avec la dernière version de Raspbian dessus.
Une clé 3G USB. La Huawei E3531 fonctionne parfaitement.
( https://www.amazon.fr/gp/product/B00HSZEY34/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1 )
Quand vous installez la clé USB 3G dans le Raspberry, elle est reconnu directement en connexion Internet.
Pour notre besoin, il faut quelle soit plutôt reconnue en Modem USB.
Pour cela, tapez les commandes suivantes
$ lsusb Bus 001 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E161/E169/E620/E800 HSDPA Modem
Créer un fichier qui va transformer la clé 3G en modem USB
$ sudo vi /etc/usb_modeswitch.d/12d1:1f01
TargetVendor=0x12d1 TargetProduct=0x1f01 MessageContent="55534243123456780000000000000011062000000100000000000000000000"
Puis rebooter
sudo reboot
Après reboot, vous devrez avoir
ls -l /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 Nov 12 15:16 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 Nov 9 13:42 /dev/ttyUSB1 crw-rw---- 1 root dialout 188, 2 Nov 9 13:42 /dev/ttyUSB2
RaspISMS a besoin des paquets suivants avant d'être installé
Une fois ces pré-requis installés, téléchargez le .deb sur le site https://raspisms.raspberry-pi.fr/download/.
Et installez-le
$ sudo dpkg -i raspisms-2.0.2.deb
Cela va installer l'application RaspiSMS.
Vérifiez le fichier /etc/gammu-smsdrc que vous avez bien ce genre de configuration
[smsd] service = files logfile = syslog # Increase for debugging information debuglevel = 0 RunOnReceive = /var/www/html/RaspiSMS/parseSMS.sh pin = <votre pin> # Paths where messages are stored inboxpath = /var/spool/gammu/inbox/ outboxpath = /var/spool/gammu/outbox/ sentsmspath = /var/spool/gammu/sent/ errorsmspath = /var/spool/gammu/error/ [gammu] port = /dev/ttyUSB0 model = atgen_setCNMI = 1,2,0,0,0 connection = at19200 synchronizetime = yes logfile = logformat = nothing use_locking = gammuloc =
Une fois l'installation faite, vous pouvez vous rendre sur l'URL
http://<ipdevotrepi>/RaspiSMS Login : admin@example.fr / Password : admin
Allez dans la section Utilisateurs et créez un nouvel utilisateur "Admin".
Puis supprimez celui présent par défaut.
Modifiez le fichier de crontab pour éviter de recevoir toutes les minutes des mails d'exécution
$ sudo more /var/spool/cron/crontabs/root # DO NOT EDIT THIS FILE - edit the master and reinstall. # (- installed on Thu Nov 5 07:42:09 2020) # (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $) * * * * * cd /var/www/html/RaspiSMS && /var/www/html/RaspiSMS/console.php -c parseReceivedSMS &> /var/log/parseReceivedSMS.log * * * * * cd /var/www/html/RaspiSMS && /var/www/html/RaspiSMS/console.php -c sendScheduleds &> /var/log/sendScheduleds.log * * * * * cd /var/www/html/RaspiSMS && /var/www/html/RaspiSMS/console.php -c sendTransfers &> /var/log/sendTransfers.log
Pour envoyez des SMS de l'API, il suffit de lancer ce genre de commande
curl -X POST http://<ipdevotrepi>/RaspiSMS/smsAPI -d 'email=<uncompteenregistrédanslinterface<&password=<passducompte>$numbers=<numerodetel>$test=<textedusmssansespace>
Les espaces dans le texte du SMS doivent être remplacés par le code %20