Controlador de SMS baseado em SIM800L

Pin
Send
Share
Send


O SIM800L V2.0 GSM / GPRS é um módulo GSM / GPRS de banda quádrupla compatível com Arduino. O módulo é usado para implementar as funções de GSM (chamadas e SMS) e GPRS. A vantagem deste módulo é a interface TTL com uma voltagem de 5V, que permite conectá-lo diretamente a um Arduino ou a qualquer outro sistema com uma fonte de alimentação de 5V. A maioria dos módulos GSM / GPRS no mercado requer conexões de reguladores ou conversão de nível, enquanto no SIM800L V.2 GSM / GPRS não é necessário um circuito de conversão de nível de interface adicional.
Aqui está um exemplo de projeto usando o SIM800L V.2 GSM / GPRS. O significado do projeto é controlar os comutadores usando o controlador SMS. Você pode ligar e desligar facilmente a maioria dos eletrodomésticos da casa, como lhama, ventilador e assim por diante.

Características do módulo SIM800L V.2 GSM / GPRS


Abaixo estão todas as especificações técnicas do módulo SIM800L V.2 GSM / GPRS:
  • Interface serial TTL compatível com microcontroladores de 3.3V e 5V compatíveis com Arduino.
  • O módulo SIM800L possui uma interface serial TTL.
  • Plugue de antena
  • Suporte de rede: quatro bandas 850/900/1800/1900 MHz, capaz de fazer chamadas, SMS e transferência de dados com consumo de bateria significativamente reduzido.
  • Interface VDD TTL UART, para que você possa conectar diretamente um MCU como 51MCU, ARM ou MSP430. Plugue VDD usado para corresponder à tensão TTL.
  • Modelo: SIMCOM SIM800L
  • Tensão de trabalho: de 3.7V a 5V;
  • dimensões: 40mm x 28mm x 3mm
  • Classe multislot GPRS 12/10
  • Classe B de serviço em lote GPRS
  • Corresponde à fase GSM 2/2 +
  • Classe 4 (2 Watts a 850/900 MHz)
  • Classe 1 (1 Wat @ 1800/1900 MHz)

Materiais Necessários


Você precisará de:


1. Módulo SIM800L V.2 GSM / GPRS.
2. Arduino Uno.
3. Módulo de relé de 4 canais e 5 volts.
4. Fios - jumpers.
5. Fonte de alimentação 5 V.
(Links ativos para a loja para compra)

Montagem e configuração


Depois de conectar todos os componentes, crie um programa e faça o download no seu Arduino. Mas primeiro, você deve instalar a biblioteca GPRS, que pode ser baixada:
gprs.zip 28.02 Kb (downloads: 509)

Código de programa para Arduino


Depois de conectar o SIM800L, o módulo de relé de 4 canais e o Arduino ao computador, digite o código abaixo e pronto.
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF HIGH byte Relé = {A0, A1, A2, A3}; byte StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; String replyNumber = "089510863958"; GPRS GPRS; void setup () {for (int i = 0; i >> ler automaticamente o SMS "); gprs.preInit (); delay (1000); while (0! = gprs.init ()) {delay (1000); serial .print ("init errorrn");} // Gerenciar mensagem para o modo ASCII if (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERRO ("ERRO: CNMI") ; return;} // Leia o SMS recebido se (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rn", "OK", TIMEOUT)) {ERRO ("ERRO: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print ("Enviar resposta ao número =>"); Serial.println (buffNumber); Serial.println ("Inicialização concluída"); Serial.println ("====================================== ========================))} void loop () {// Altera o status Relé ON / OFF para (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ======================================= ============================== >> Função do controlador de relé // Controlador de relé 1 if (lastLine.indexOf ("Relay 1 ON ")> = 0) {StatRelay0 = AKTIF; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 1 ativo"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } else if (lastLine.indexOf ("Relay 1 OFF")> = 0) {StatRelay0 = MATI; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 1 desativado"); gprs.sendSMS (buffNumber, "Status do relé 1 desativado"); } // Controlador do relé 2 if (lastLine.indexOf ("Relé 2 ON")> = 0) {StatRelay1 = AKTIF; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 2 ativo"); gprs.sendSMS (buffNumber, "Status do relé 2 ativo"); } else if (lastLine.indexOf ("Relay 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 2 desativado"); gprs.sendSMS (buffNumber, "Status do relé 2 desativado"); } // Controlador do relé 3 if (lastLine.indexOf ("Relé 3 LIGADO")> = 0) {StatRelay2 = AKTIF; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 3 ativo"); gprs.sendSMS (buffNumber, "Status do relé 3 ativo"); } else if (lastLine.indexOf ("Relay 3 OFF")> = 0) {StatRelay2 = MATI; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 3 desativado"); gprs.sendSMS (buffNumber, "Status do relé 3 desativado"); } // Controlador do relé 4 if (lastLine.indexOf ("Relé 4 ON")>> 0) {StatRelay3 = AKTIF; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 4 ativo"); gprs.sendSMS (buffNumber, "Relay 1 Status Active"); } else if (lastLine.indexOf ("Relay 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Responder ==== >>>>"); Serial.println ("Status do relé 4 desativado"); gprs.sendSMS (buffNumber, "Status do relé 4 desativado"); } nextLineIsMessage = false; } // ================================================== ==================== >>} // Limpar matriz de caracteres para a próxima linha de leitura de (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (caractere) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Verificação de dispositivo


A ferramenta funciona enviando SMS para o SIM800L com uma sequência específica de caracteres. Por exemplo, para ativar o relé 1, use o comando "Relé 1 LIGADO" e, para desativá-lo, use o comando "Relé 1 DESLIGADO". O restante dos relés possui quase os mesmos comandos, com exceção do número de série de cada relé em que você deseja atuar. Depois de enviar automaticamente uma mensagem, o SIM800 enviará uma resposta na forma de uma mensagem de status para cada cartão SIM.

Montagem de vídeo, configuração e verificação de dispositivo



Artigo original em inglês

Pin
Send
Share
Send

Assista ao vídeo: Sim 800l GSM Module Interfacing with Arduino. How to Make a Call and send and SMS (Pode 2024).