Installation d’un serveur SMS sur Raspberry Pi


DNS / DHCP / Nagios / Gammu / Asterisk / MusicPlayerDaemon / Arduino RaspberryPI / OpenVPN | Créer son image pour Raspberry PI | DJI Fade | Reolink Timelapse | K8S on Raspberry Pi


L’objectif est de pouvoir envoyer et recevoir des SMS depuis un raspberry-pi, pour cela il faut disposer d’une carte SIM et d’un dongle qui se branche en USB et dans lequel nous allons insérer la carte SIM. J’utilise des clés Huawei E173 qui sont faciles à trouver et peu honereuses.

Mise à jour de debian

$> apt-get update

Installation des packages gammu

$> install gammu gammu-doc gammu-smsd

Vérification dans les logs que la clé est bien reconnue

A l’insertion de la clé dans la prise USB, en surveillant le fichier syslog on doit voir passer ces lignes dans les logs.

$> tail -f /var/log/syslog
Aug 25 14:58:50 gammu2 kernel: [  178.192115] usb 1-1.3: new high-speed USB device number 5 using dwc_otg
Aug 25 14:58:50 gammu2 kernel: [  178.644553] usb 1-1.3: New USB device found, idVendor=12d1, idProduct=1c0b, bcdDevice= 1.02
Aug 25 14:58:50 gammu2 kernel: [  178.644567] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Aug 25 14:58:50 gammu2 kernel: [  178.644576] usb 1-1.3: Product: HUAWEI Mobile
Aug 25 14:58:50 gammu2 kernel: [  178.644586] usb 1-1.3: Manufacturer: HUAWEI
Aug 25 14:58:50 gammu2 kernel: [  178.647106] usb-storage 1-1.3:1.0: USB Mass Storage device detected
Aug 25 14:58:50 gammu2 kernel: [  178.652192] scsi host0: usb-storage 1-1.3:1.0
Aug 25 14:58:50 gammu2 kernel: [  178.653327] usb-storage 1-1.3:1.1: USB Mass Storage device detected
Aug 25 14:58:50 gammu2 kernel: [  178.656758] scsi host1: usb-storage 1-1.3:1.1
Aug 25 14:58:50 gammu2 mtp-probe: checking bus 1, device 5: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3"
Aug 25 14:58:50 gammu2 mtp-probe: bus: 1, device: 5 was not an MTP device
Aug 25 14:58:50 gammu2 kernel: [  178.726291] usbcore: registered new interface driver uas
Aug 25 14:58:50 gammu2 systemd[1]: Created slice system-usb_modeswitch.slice.
Aug 25 14:58:50 gammu2 systemd[1]: Starting USB_ModeSwitch_1-1.3:1.0...
Aug 25 14:58:50 gammu2 mtp-probe: checking bus 1, device 5: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3"
Aug 25 14:58:50 gammu2 mtp-probe: bus: 1, device: 5 was not an MTP device
Aug 25 14:58:51 gammu2 usb_modeswitch: switch device 12d1:1c0b on 001/005
Aug 25 14:58:53 gammu2 kernel: [  181.479575] usb 1-1.3: USB disconnect, device number 5
Aug 25 14:59:01 gammu2 kernel: [  189.452183] usb 1-1.3: new high-speed USB device number 6 using dwc_otg
Aug 25 14:59:01 gammu2 kernel: [  189.782113] usb 1-1.3: New USB device found, idVendor=12d1, idProduct=1c05, bcdDevice= 1.02
Aug 25 14:59:01 gammu2 kernel: [  189.782171] usb 1-1.3: New USB device strings: Mfr=2, Product=1, SerialNumber=0
Aug 25 14:59:01 gammu2 kernel: [  189.782180] usb 1-1.3: Product: HUAWEI Mobile
Aug 25 14:59:01 gammu2 kernel: [  189.782190] usb 1-1.3: Manufacturer: HUAWEI
Aug 25 14:59:01 gammu2 kernel: [  189.786168] usb-storage 1-1.3:1.3: USB Mass Storage device detected
Aug 25 14:59:01 gammu2 kernel: [  189.786902] scsi host0: usb-storage 1-1.3:1.3
Aug 25 14:59:01 gammu2 kernel: [  189.787724] usb-storage 1-1.3:1.4: USB Mass Storage device detected
Aug 25 14:59:01 gammu2 kernel: [  189.788271] scsi host1: usb-storage 1-1.3:1.4
Aug 25 14:59:01 gammu2 mtp-probe: checking bus 1, device 6: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3"
Aug 25 14:59:02 gammu2 mtp-probe: bus: 1, device: 6 was not an MTP device
Aug 25 14:59:02 gammu2 kernel: [  189.969406] usbcore: registered new interface driver usbserial_generic
Aug 25 14:59:02 gammu2 kernel: [  189.969475] usbserial: USB Serial support registered for generic
Aug 25 14:59:02 gammu2 kernel: [  189.990065] usbcore: registered new interface driver option
Aug 25 14:59:02 gammu2 kernel: [  189.990146] usbserial: USB Serial support registered for GSM modem (1-port)
Aug 25 14:59:02 gammu2 kernel: [  189.990651] option 1-1.3:1.0: GSM modem (1-port) converter detected
Aug 25 14:59:02 gammu2 kernel: [  189.991065] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB0
Aug 25 14:59:02 gammu2 kernel: [  189.991297] option 1-1.3:1.1: GSM modem (1-port) converter detected
Aug 25 14:59:02 gammu2 kernel: [  189.991600] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB1
Aug 25 14:59:02 gammu2 kernel: [  189.991789] option 1-1.3:1.2: GSM modem (1-port) converter detected
Aug 25 14:59:02 gammu2 kernel: [  189.992084] usb 1-1.3: GSM modem (1-port) converter now attached to ttyUSB2
Aug 25 14:59:02 gammu2 mtp-probe: checking bus 1, device 6: "/sys/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3"
Aug 25 14:59:02 gammu2 mtp-probe: bus: 1, device: 6 was not an MTP device
Aug 25 14:59:02 gammu2 root: usb_modeswitch: switched to 12d1:1c05 on 001/006
Aug 25 14:59:02 gammu2 systemd[1]: usb_modeswitch@1-1.3:1.0.service: Succeeded.
Aug 25 14:59:02 gammu2 systemd[1]: Started USB_ModeSwitch_1-1.3:1.0.
Aug 25 14:59:04 gammu2 kernel: [  192.430011] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
Aug 25 14:59:04 gammu2 kernel: [  192.430639] scsi 1:0:0:0: Direct-Access     HUAWEI   SD Storage       2.31 PQ: 0 ANSI: 2
Aug 25 14:59:04 gammu2 kernel: [  192.435175] sd 1:0:0:0: [sda] Attached SCSI removable disk
Aug 25 14:59:04 gammu2 kernel: [  192.456101] scsi 0:0:0:0: Attached scsi generic sg0 type 5
Aug 25 14:59:04 gammu2 kernel: [  192.456313] sd 1:0:0:0: Attached scsi generic sg1 type 0
Aug 25 14:59:04 gammu2 kernel: [  192.477160] sr 0:0:0:0: [sr0] scsi-1 drive
Aug 25 14:59:04 gammu2 kernel: [  192.477175] cdrom: Uniform CD-ROM driver Revision: 3.20
Aug 25 14:59:04 gammu2 kernel: [  192.478362] sr 0:0:0:0: Attached scsi CD-ROM sr0

Configuration du fichier /etc/gammu-smsdrc

Dans ce fichier de configuration il faut juste indiquer le port utilisé par gammu pour communiquer avec la clé, /dev/ttyUSB0

Noter l’emplacement des SMS quand ils arriveront ou partiront : /var/spool/gammu/…/

# Configuration file for Gammu SMS Daemon

# Gammu library configuration, see gammurc(5)
[gammu]
# Please configure this!
port = /dev/ttyUSB0
connection = at
# Debugging
#logformat = textall

# SMSD configuration, see gammu-smsdrc(5)
[smsd]
PIN = 1234
service = files
logfile = syslog
# Increase for debugging information
debuglevel = 2

# 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/

Démarrer le daemon gammu

$> service gammu status 
# ps aux | grep gammu | grep -v grep
root       745  0.3  0.3  29260  3292 ?        Ss   15:04   0:00 /usr/bin/gammu-smsd --pid=/var/run/gammu-smsd.pid --daemon

Envoyer un SMS

Indiquer le numéro de téléphone sur lequel envoyer le SMS (+336……..)

/usr/bin/gammu-smsd-inject TEXT +33600000000 -text "from gammu2"

/var/spool/gammu/…/

Les SMS sont stockés dans des fichiers en fonction de leur état dans les sous répertoires de /var/spool/gammu/

/var/spool/gammu/error/

SMS en erreur

/var/spool/gammu/inbox/

SMS reçus

/var/spool/gammu/outbox/

SMS en cours d’envoie

/var/spool/gammu/sent/

SMS envoyés


DNS / DHCP / Nagios / Gammu / Asterisk / MusicPlayerDaemon / Arduino RaspberryPI / OpenVPN | Créer son image pour Raspberry PI | DJI Fade | Reolink Timelapse | K8S on Raspberry Pi