Oggi vi propongo come inviare e ricevere messaggi di testo con NadHAT e un Raspberry Pi usando gammu da riga di comando.

Principio

Per inviare gli SMS, il tuo Raspberry Pi deve essere in grado di connettersi alla rete GSM di un qualche operatore. Perciò utilizzeremo una carta SIM con un abbonamento a 2 euro/mese che include SMS ed MMS illimitati. La maggior parte degli operatori offre pacchetti di questo tipo, per informarsi occorre andare in un centro di qualche operatore e richiedere abbonamenti per allarmi o per sistemi elettronici. Altrimenti, in Italia la TIM offre un piano base con SMS a 19 cent verso tutti se non si vuole sostenere il costo di un abbonamento mensile.

Installazione di gammu

Gammu è una utility che permette di controllare un telefono collegato ad un computer.
Partiamo subito aggiornando la cache locale dei repository:

pi@raspberry:~ $ sudo apt-get update

Installiamo gammu:

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

Configurazione di gammu con l'utility gammu-config

Lanciate il comando seguente per aprire l'interfaccia di configurazione di gammu.

pi@raspberry:~ $ sudo gammu-config

Questa interfaccia permette di specificare i parametri per poter comunicare con la nostra scheda SIM via gammu.

La NadHAT è collegata ad un Raspberry Pi 0 attraverso la porta seriale /dev/ttyAMA0 ad un baud di 115200. Quindi andiamo a inserire i seguenti parametri:

  • Port: /dev/ttyAMA0
  • Connection: at115200

Ricordate di salvare le modifiche, confermando, e uscire con OK per validare la nuova configurazione ed uscire dall'interfaccia di configurazione di gammu.

Avvio della NadHAT

Per poter testare gammu, dobbiamo poter comunicare con la scheda SIM. Per poter stabilire una comunicazione, dobbiamo avviare la NadHAT. Recuperiamo lo script all'URL seguente disponibile sul GitHub di Garatronic:

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

Lanciamolo:

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

Verificate che la luce verde sulla NadHAT si accenda e il led arancione inizi a lampeggiare.

Invio e ricezione degli SMS

Ora che la nostra carta è alimentata, saremo in grado di testare gammu :)
Si può controllare che la comunicazione con la SIM avvenga con successo con il seguente comando:

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

Se ottenete un output simile, allora la vostra SIM è accessibile e si può proseguire. Se questo comando non ha funzionato, controllate che la porta UART impostata su gammu sia corretta e che la NadHAT sia ben alimentata.
Per inviare o ricevere gli SMS, la prima cosa da fare è (eventualmente) sbloccare la SIM con il codice PIN. Nell'esempio usiamo una SIM con codice PIN "0000".

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

Dopo alcuni secondi dovresti vedere il led arancione lampeggiare più lentamente. Ora resta solo da eseguire il comando di effettivo invio di un SMS:

pi@raspberrypi:~/nadhat/software $ echo "Questo messaggio è stato spedito con gammu" | gammu sendsms TEXT 34XXXXXXXX
If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=93

Per poter visualizzare gli SMS ricevuti invece lanciate questo comando:

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

Ora conoscete i comandi di base di gammu, presto vedremo come usare uno script Python che invia gli SMS.

A presto!

traduit du français, article original