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/

Pré-requis

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)

Configuration Clé 3G

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

Installation RaspiSMS

RaspISMS a besoin des paquets suivants avant d'être installé

  • apache2
  • php
  • php-mysql
  • gammu
  • gammu-smsd
  • mysql-server
  • postfix

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 =

Configuration

Une fois l'installation faite, vous pouvez vous rendre sur l'URL

http://<ipdevotrepi>/RaspiSMS
Login : admin@example.fr / Password : admin

Création d'un utilisateur Admin

Allez dans la section Utilisateurs et créez un nouvel utilisateur "Admin".
Puis supprimez celui présent par défaut.

Crontab

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

Utilisation de l'API

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