Você gostaria de aprender como enviar mensagens SMS a partir da linha de comando do Ubuntu Linux? Neste tutorial, mostraremos todas as etapas necessárias para enviar mensagens SMS usando apenas a linha de comando de um computador que executa o Ubuntu Linux e um modem GSM USB.

• Versão do Ubuntu: 18.04
• Modem GSM USB: DWM-221

Este tutorial funcionará apenas se você estiver usando um Modem GSM USB.

Tenha cuidado, alguns dispositivos se parecem com um modem USB, mas são roteadores USB como o DWR-910.

Lista de Hardware:

A seção a seguir apresenta a lista de equipamentos usados para criar este tutorial do Ubuntu.

Cada peça de hardware listada acima pode ser encontrada no site da Amazon.

Ubuntu Playlist:

Nesta página, oferecemos acesso rápido a uma lista de vídeos relacionados à instalação do Ubuntu.

Não se esqueça de se inscrever em nosso canal do youtube chamado FKIT.

Tutoriais Relacionados ao Ubuntu:

Nesta página, oferecemos acesso rápido a uma lista de tutoriais relacionados à instalação do Ubuntu.

Tutorial - Enviar SMS pelo Ubuntu Linux via Linha de Comando

Primeiro, precisamos conectar o modem GSM USB ao computador que executa o Ubuntu Linux.

Depois de conectar o modem GSM USB, você precisa verificar se o sistema detectou o dispositivo.

Use o seguinte comando para verificar se o sistema detectou o modem GSM USB.

# lsusb

Bus 002 Device 002: ID 8087:8001 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 005: ID 2001:a406 D-Link Corp. ***HERE***

O sistema detectou que um dispositivo USB da Dlink estava conectado ao computador.

Agora, precisamos verificar qual tipo de dispositivo o kernel do Linux atribuiu ao dispositivo.

Use o seguinte comando para verificar o tipo de dispositivo atribuído pelo sistema.

# dmesg

[ 615.241221] usb 3-1: USB disconnect, device number 4

[ 643.023683] usb 3-1: new high-speed USB device number 5 using xhci_hcd

[ 643.173168] usb 3-1: New USB device found, idVendor=2001, idProduct=a406

[ 643.173169] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[ 643.173170] usb 3-1: Product: Mobile Connect

[ 643.173171] usb 3-1: Manufacturer: Mobile Connect

[ 643.173172] usb 3-1: SerialNumber: 0123456789ABCDEF

[ 643.173939] usb-storage 3-1:1.0: USB Mass Storage device detected

[ 643.174216] scsi host6: usb-storage 3-1:1.0

[ 644.188294] scsi 6:0:0:0: Direct-Access SD Storage 0000 PQ: 0 ANSI: 2

[ 644.188982] scsi 6:0:0:1: CD-ROM Mass Storage 0000 PQ: 0 ANSI: 2

[ 644.189313] sd 6:0:0:0: Attached scsi generic sg1 type 0

[ 644.190462] sd 6:0:0:0: [sdb] Unit Not Ready

[ 644.190465] sd 6:0:0:0: [sdb] Sense Key : Illegal Request [current] [ 644.190467] sd 6:0:0:0: [sdb] Add. Sense: Invalid command operation code

[ 644.190785] sr 6:0:0:1: [sr0] scsi-1 drive

[ 644.190915] sr 6:0:0:1: Attached scsi CD-ROM sr0 ***

O sistema detectou o modem GSM USB como uma unidade CDRom denominada sr0.

Use o seguinte comando para ejetar a unidade sr0 do CDRom.

# eject sr0

Depois de ejetar a unidade de CDRom falsa, aguarde 10 segundos e use novamente o comando dmesg.

# dmesg

[ 1270.366092] usb 3-1: New USB device found, idVendor=2001, idProduct=7e19

[ 1270.366094] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3

[ 1270.366096] usb 3-1: Product: Mobile Connect

[ 1270.366098] usb 3-1: Manufacturer: Mobile Connect

[ 1270.366099] usb 3-1: SerialNumber: 0123456789ABCDEF

[ 1270.367882] option 3-1:1.0: GSM modem (1-port) converter detected

[ 1270.368033] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB0 ***HERE***

[ 1270.368183] option 3-1:1.1: GSM modem (1-port) converter detected

[ 1270.368299] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB1 ***HERE***

[ 1270.368437] option 3-1:1.2: GSM modem (1-port) converter detected

[ 1270.368541] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB2 ***HERE***

[ 1270.368681] option 3-1:1.3: GSM modem (1-port) converter detected

[ 1270.368787] usb 3-1: GSM modem (1-port) converter now attached to ttyUSB3 ***HERE***

Use os seguintes comandos para instalar o software necessário.

# apt-get update
# apt install wvdial

Use o comando wvdialconf para detectar a comunicação GSM.

# wvdialconf

Scanning your serial ports for a modem.

ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1 S2 S3 S4 S5 S6 S7 S8
Modem Port Scan<*1>: S9 S10 S11 S12 S13 S14 S15 S16
Modem Port Scan<*1>: S17 S18 S19 S20 S21 S22 S23 S24
Modem Port Scan<*1>: S25 S26 S27 S28 S29 S30 S31
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer:
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer:
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyUSB3<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB3<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud
ttyUSB3<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.

Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ***HERE***
ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ***HERE***

Aqui está um breve resumo do que o comando wvdialconf detectou:

• Porta ttyUSB1 usando a velocidade 9600 e a comunicação AT está OK
• Porta ttyUSB2 usando a velocidade 9600 e a comunicação AT está OK

Agora, sabemos que uma das seguintes interfaces pode funcionar para enviar SMS:

• Porta ttyUSB1
• Porta ttyUSB2

Use o seguinte comando para instalar o software Gammu.

# apt-get install gammu

Use o comando gammu-config para configurar a comunicação com o modem GSM.

# gammu-config

Aqui está a configuração original do Gammu.

Gammu default configuration

Aqui está a nova configuração do Gammu.

Gammu configuration

Clique na opção salvar para finalizar sua configuração.

No nosso exemplo, estamos usando a seguinte configuração:

• Port - / dev / ttyUSB2
• Conexão - em
• Sincronizar hora - Não

Use o seguinte comando para enviar uma mensagem SMS:

# echo "Dragon Ball super is Awsome!" | gammu --sendsms TEXT 5521999998877

If you want break, press Ctrl+C...
Sending SMS 1/1....waiting for network answer..OK, message reference=233

Se o teste foi bem sucedido você está pronto para ir.

Se o teste não foi bem sucedido, você precisa usar o comando gammu-config e mudar o ttyUSB2 para outra interface ttyUSB.

Use o seguinte comando para ler mensagens SMS:

# gammu getallsms

Location 100009, folder "Inbox", phone memory, Inbox folder
SMS message
SMSC number : "+552183139914"
Sent : Wed 29 Aug 2018 10:04:46 AM -0300
Coding : Default GSM alphabet (no compression)
Remote number : "021999999999"
Status : UnRead

Yeah! Vegeto is the best

Parabéns! Agora você pode enviar SMS usando a linha de comando.