Enviar e receber mensagens de texto (SMS) com GSM SIM900 Shield
Componentes e suprimentos
![]() |
| × | 1 | |||
| × | 1 |
Aplicativos e serviços online
![]() |
| |||
![]() |
|
Sobre este projeto

Um dos elementos essenciais da construção de IoT projeto é a capacidade de conectar dispositivos. Wi-Fi e Bluetooth são boas opções de baixo custo, mas funcionam apenas em faixas próximas ou em áreas de hotspots. Quando o dispositivo precisa estar em um local remoto GSM é uma opção boa e fácil de configurar.
Neste tutorial, vou mostrar como é fácil enviar e receber SMS mensagens por GSM com Arduino .
Nos tutoriais a seguir, também mostrarei como você pode se conectar por GSM para a Internet e servidores de acesso, e como você pode lidar com chamadas de voz.
Etapa 1:componentes


- Um Arduino Mega (Você pode usar outras placas, mas é melhor usar uma placa que tenha 2 ou mais portas seriais. O projeto pode ser modificado para usar o software serial, mas o uso de um hardware serial é recomendado)
- Um escudo GSM baseado em SIM900 ou escudo ou módulo compatível com cartão SIM instalado ( Figura 2 ) (Eu usei uma versão 1.0 GSM / GPRS Shield do Seeed Studio)
- 2 Feminino-Masculino fios de ligação
Etapa 2:Conecte o GSM Shield ao Arduino





- Remover os jumper Caps do GSM Shield Jumpers de seleção RX e TX ( Imagem 1 )
- Conecte o GSM Shield no topo do Arduino Mega
- Conecte a extremidade masculina de um homem-mulher fio jumper ( fio laranja ) para o RX1 Pin do Arduino Mega ( Imagens 2 e 3 )
- Conecte a extremidade masculina de um homem-mulher fio jumper ( fio marrom ) para o TX1 Pin do Arduino Mega ( Imagens 2 e 3 )
- Conecte a extremidade fêmea do RX1 fio ( fio laranja ) ao alfinete central do Jumper de Seleção RX do GSM Shield ( Figura 4 )
- Conecte a extremidade fêmea do TX1 fio ( fio marrom ) ao alfinete central do Jumper de Seleção TX do GSM Shield ( Figura 4 )
- Figura 5 mostra o GSM Shield instalado e conectado
Etapa 3:inicie o Visuino e selecione o tipo de placa Arduino


Para iniciar a programação do Arduino, você precisará ter o Arduino IDE instalado a partir daqui:http://www.arduino.cc/.
Certifique-se de instalar 1.6.7 superior, caso contrário, este tutorial não funcionará!
O Visuino :https://www.visuino.com também precisa ser instalado.
- Inicie o Visuino como mostrado na primeira imagem
- Clique em " Ferramentas "no componente Arduino ( Figura 1 ) em Visuino
- Quando a caixa de diálogo aparecer, selecione " Arduino Mega 2560 "conforme mostrado na Figura 2
Etapa 4:No Visuino:defina a velocidade do canal Serial 1 para 19200



O GSM Shield é configurado por padrão para a velocidade da porta serial 19200. Precisamos configurar a porta serial 1 para esta velocidade:
- No Inspetor de objetos, expanda o campo " Serial "propriedade, então o" Item [1] "Sub-propriedade e selecione sua" Velocidade "Sub-propriedade ( Figura 1 )
- No Inspetor de objetos, clique na " seta para baixo "ao lado do valor da" Velocidade "Sub-propriedade ( Figura 1 )
- No menu suspenso lista selecione o " 19200 "( Imagem 2 ), para alterar o valor da propriedade ( Figura 3 )
Etapa 5:no Visuino:adicione e conecte o componente serial GSM / GPRS




Precisamos adicionar um componente para controlar o Módulo GSM. O Módulo é controlado pelo canal Serial, por isso precisamos conectá-lo. Pino digital 9 é usado para ligar / desligar o Módulo:
- Digite " gsm "na caixa Filtro da caixa de ferramentas de componentes e, em seguida, selecione" Serial GSM / GPRS componente "( Figura 1 ), e solte-o na área de design ( Figura 2 )
- Conecte o " Saída "pino de saída do GSM1 componente para o " In "pino de entrada do" Serial [1] "canal do Arduino componente ( Figura 2 )
- Conecte o " Alimentação "pino de saída do GSM1 componente para o " Digital "pino de entrada do" Digital [9] "canal do Arduino componente ( Figura 3 ) Este alfinete será Ativado / Desativado o poder do Módulo GSM
Etapa 6:no Visuino:adicione, configure e conecte o componente Text Value




Demora algum tempo para o Módulo GMS inicializar. É bom se tivermos alguma indicação de que o módulo está pronto. Para isso, enviaremos o texto "GSM pronto" para a porta serial quando o módulo estiver pronto:
- Digite " text val "na caixa Filtro da caixa de ferramentas do componente e, a seguir, selecione" Valor do texto componente "( Figura 1 ), e solte-o na área de design ( Figura 2 )
- No Inspetor de objetos, defina o valor de " Valor "propriedade para" GSM pronto "( Imagem 2 )
- Conecte o " Pronto "pino de saída do GSM1 componente para o " In "pino de entrada do TextValue1 componente ( Figura 3 )
- Conecte o " Saída "pino de saída do TextValue1 componente para o " In "pino de entrada do" Serial [0] "canal do Arduino componente ( Figura 4 )
Etapa 7:No Visuino:adicione o elemento de mensagem curta ao componente GSM e, a seguir, envie a função de mensagem ao elemento




O componente GSM consiste em muitos módulos que executam diferentes tarefas. Como usaremos apenas SMS, precisamos adicionar apenas o módulo "Mensagem curta" e, em seguida, adicionar uma função "Enviar SMS" a ele:
- Na área de design, selecione o GSM1 componente ( Figura 1 )
- No Inspetor de objetos, clique em " ... "botão ao lado do valor do" Módulo "propriedade do GSM1 componente ( Figura 1 )
- No editor de Módulos, selecione “ Mensagem curta ”, E a seguir clique no botão" "( Figura 2 ) para adicionar um ( Imagem 3 )
- No Inspetor de objetos, clique em " ... "botão ao lado do valor das" Funções "propriedade da" Mensagem Curta módulo "( Figura 3 )
- No editor de funções, selecione “ Enviar SMS ”, E a seguir clique no botão" "( Figura 2 ) para adicionar um
Etapa 8:No Visuino:configure a função Enviar SMS e conecte as Informações da Mensagem Recebida ao Serial




- No Inspetor de objetos, defina o valor de " Endereço "propriedade de" Enviar SMS elemento "para o número de telefone para onde pretende enviar a mensagem (no meu caso, para teste introduzi o número do meu cartão SIM para que o módulo receba e imprima as mensagens que envia) ( Figura 1 - mostra um número inventado)
- No Inspetor de objetos, selecione o " Texto "propriedade ( Figura 2 )
- Clique em " Fixar "na frente do" Texto "propriedade ( Figura 2 )
- No menu suspenso lista, selecione " String SinkPin "( Figura 3 ) Isso adicionará um novo " Texto "fixar em" Enviar SMS função "( Figura 4 )
- Feche as caixas de diálogo do editor de elemento ( Figura 4 )
- Conecte o " Saída "pino de saída do" MessageInfo "bloco do GSM1 componente para o " In "pino de entrada do" Serial [0] "canal do Arduino componente ( Figura 4 )
Etapa 9:No Visuino:adicione e conecte o componente Char ao texto



A porta serial recebe um caractere por vez. Para enviar uma mensagem SMS, precisamos obter todos os caracteres de uma linha, criar um Texto a partir dela e enviá-lo ao Módulo GSM:
- Digite " char "na caixa Filtro da caixa de ferramentas do componente e, a seguir, selecione" Caracterizar como texto componente "( Figura 1 ), e solte-o na área de design ( Figura 2 )
- Conecte o " Saída "pino de saída do" Serial [0] "canal do Arduino componente para o " In "pino de entrada do CharToText1 componente ( Figura 2 )
- Conecte o " Saída "pino de saída do CharToText1 componente para o " Texto "PIN de entrada de" Enviar SMS "elemento do GSM1 componente ( Figura 3 )
Etapa 10:no Visuino:adicionar, configurar e conectar o componente Delay




Precisamos nos certificar de que enviaremos o SMS depois que o texto for devidamente atualizado. Podemos usar um componente Delay com um pequeno atraso para isso:
- Digite " atraso "na caixa Filtro da caixa de ferramentas do componente e, a seguir, selecione" Atraso componente "( Figura 1 ), e solte-o na área de design ( Figura 2 )
- No Inspetor de objetos, defina o valor do " Intervalo "propriedade para" 100 "( Imagem 2 )
- Conecte o " Saída "pino de saída do CharToText1 componente para o " In "pino de entrada do Delay1 componente ( Figura 3 )
- Conecte o " Saída "pino de saída do Delay1 componente para o " Relógio "PIN de entrada de" Enviar SMS "elemento do GSM1 componente ( Figura 4 )
Etapa 11:gerar, compilar e fazer upload do código do Arduino


- No Visuino , Pressione F9 ou clique no botão mostrado na Figura 1 para gerar o código do Arduino e abrir o IDE do Arduino
- No Arduino IDE , clique em Upload botão, para compilar e enviar o código ( Figura 2 )
Etapa 12:e brincar ...





Parabéns! Você concluiu o projeto.
Foto 1 mostra o projeto conectado e ligado. Na Imagem 2 você pode ver o Visuino completo diagrama. Se você se conectar com o Terminal Serial ao Arduino, após cerca de 30 segundos você verá a mensagem " GSM pronto "mensagem aparece ( Imagem 3 )
Assim que a mensagem aparecer, se você digitar algum texto e clicar em " Enviar "( Imagem 4 ), o texto será enviado como mensagem SMS. Se você selecionou como número de telefone na Etapa 8 para o celular do cartão SIM no Shield, depois de um tempo você receberá a mensagem, que será mostrada no Terminal Serial ( Figura 5 ) Se você definiu o número de um dispositivo diferente na Etapa 8 , as mensagens serão enviadas para esse dispositivo.
Você pode enviar mensagens SMS para o número de telefone de outros telefones e dispositivos, e elas também serão mostradas no terminal serial.
Também anexado está o Visuino projeto, que criei para este Tutorial. Você pode fazer o download e abri-lo no Visuino :https://www.visuino.com
F1FP7L0IQS4L35B.zip
Processo de manufatura
- Sistema de atendimento usando Arduino e RFID com Python
- Sensor DHT11 com LEDs e um alto-falante Piezo
- Arduino Temp. Monitor e relógio em tempo real com tela 3.2
- Controle de um robô Roomba com Arduino e dispositivo Android
- Voltímetro DIY com Arduino e um visor Nokia 5110
- Controle do Servo Motor com Arduino e MPU6050
- Sistema de monitoramento e detecção de incêndios florestais (com alertas SMS)
- u-blox LEA-6H 02 Módulo GPS com Arduino e Python
- Como ler a temperatura e umidade em Blynk com DHT11
- Reconhecimento de fala e síntese com Arduino