Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
! ! ! PERCEBER ! ! !
Devido ao upgrade da torre de telefonia local na minha área, não posso mais usar este módulo GSM. A torre mais recente não suporta mais dispositivos 2G. Portanto, não posso mais dar nenhum suporte para este projeto
Recentemente, recebi um módulo Quad Band GSM / GPRS relativamente barato para brincar. É um módulo SIM800L e se comunica com qualquer micro através de uma porta serial. Ele veio completo com uma antena de montagem em painel.
Decidi construir um sistema simples de controlador de SMS que usa comandos de serviço de mensagens curtas (SMS) para controlar dispositivos e indicar alarmes.
Etapa 1: Comandos SMS
Como acontece com qualquer sistema de comunicação, comandos específicos precisam ser enviados a um dispositivo remoto para dizer o que fazer. Da mesma forma, o dispositivo remoto precisa responder ou reagir a esses comandos. Este projeto consiste em duas partes, o controlador de SMS e um telefone celular padrão.
A ideia era criar um controlador SMS simples com quatro saídas digitais. Dependendo do SMS recebido, a unidade deve ser capaz de controlar as saídas individuais.
Também decidi incluir quatro entradas digitais. Isso pode ser usado para indicar alarmes ou outras informações.
Antes de iniciar a construção, decidi criar comandos específicos para funções específicas. Esses 'comandos' serão enviados via SMS de um telefone celular.
Comandos de recebimento do controlador de SMS:
o1: 1 - ligue a saída 1
o1: 0 - desligue a saída 1
o1: p - saída de pulso 1 ligada e, em seguida, desligada
o2: 1 - ligue a saída 2
o2: 0 - desligue a saída 2
o2: p - saída de pulso 2 ligada e, em seguida, desligada
o3: 1 - ligue a saída 3
o3: 0 - desligue a saída 3
o3: p - saída de pulso 3 ligada e, em seguida, desligada
o4: 1 - ligue a saída 4
o4: 0 - desligue a saída 4
o4: p - saída de pulso 4 ligada, depois desligada
???? - Solicitar status de entradas e saídas
#### - Reinicializar o sistema
Para feedback, o Controlador SMS deve responder aos comandos recebidos e responder com um SMS. Decidi que este SMS de resposta deve incluir o status de todos os pinos de E / S.
Comandos de resposta do controlador de SMS:
i1: x i2: x i3: x i4: x o1: x o2: x o3: x o4: x
onde x é o status de E / S, 1 para On, 0 para Off.
Etapa 2: Construindo o Controlador SMS
Equipamento necessário:
Qualquer Arduino ou ATMEGA328p autônomo em uma placa de ensaio
Módulo SIM800L GSM / GPRS com um cartão SIM capaz de enviar e receber SMS's
Conversor de redução DC / DC
NOTA !
O conversor DC / DC é necessário para alimentar o módulo SIM800L. Este módulo opera entre 3,7 V e 5 V, dependendo da versão que você possui. Este módulo também requer uma fonte de alimentação que pode fornecer até 2A quando o módulo transmitir dados. Ele não pode ser alimentado diretamente pelo Arduino Uno !
O circuito é bastante simples. Eu montei e testei no breadboard.
A alimentação do circuito é por meio do conversor DC / DC, com a tensão de saída definida para 4,5V. São quatro LEDs para simular as saídas digitais e quatro botões para as entradas digitais. O SIM800L é conectado aos pinos Rx / Tx do ATMEGA328p.
Um quinto LED é usado para indicar quando o sistema está ocupado enviando um SMS.
Etapa 3: Programação do ATMEGA328p
Antes de programar, abra o arquivo INO e edite o número do telefone. Substitua xxxxxxxxxx pelo seu próprio número de telefone celular na linha 46. Recompile e carregue o arquivo.
Além disso, leia as instruções sobre como configurar a porta serial do software no arquivo INO.
//=============================================================================//
//! ! ! NOTA ! ! !
// ================
//
// BUFFER NA BIBLIOTECA SERIAL DO SOFTWARE DEVE SER ALTERADO PARA 200
//
// Para usar o Software Serial, o usuário também deve alterar o Software Serial BUFFER para 200.
// Deve ser editado no seguinte arquivo:
//
// C: / Arquivos de programas / Arduino x.x.x / Hardware / Arduino / AVR / Bibliotecas / SoftwareSerial / src / SoftWareSerial.h
//
// Altere o buffer conforme abaixo:
//
// #ifndef _SS_MAX_RX_BUFF
// #define _SS_MAX_RX_BUFF 200
// tamanho do buffer RX
// #fim se
//
//=============================================================================
Consulte este instrutível para programar o ATMEGA328p na placa de ensaio usando um Arduino UNO.
www.instructables.com/id/Arduino-UNO-as-AtM…
Etapa 4: usando o controlador SMS
Usando o controlador SMS
O controlador de SMS enviará automaticamente um SMS para o seu telefone se qualquer uma das quatro entradas for acionada. Os detalhes do acionador estarão contidos no texto SMS.
As mensagens SMS e comandos podem ser editados de acordo com suas necessidades no arquivo INO.
Testando as saídas do controlador SMS
De seu telefone celular, envie os seguintes comandos para o número do seu SIM800L:
o1: 1, isso ativará a saída 1.
No seu telefone, você receberá o seguinte SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 1 o2: 0 03: 0 o4: 0
01: 0, isso desligará a saída 1.
No seu telefone, você receberá o seguinte SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
01: p, isso ligará a saída 1 por 1 segundo e, em seguida, desligará a saída 1 novamente (pulsado).
No seu telefone, você receberá o seguinte SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Testando as entradas do controlador SMS
No controlador de SMS, pressione o botão 1 brevemente
No seu telefone, você receberá automaticamente o seguinte SMS:
i1: 1 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
No controlador de SMS, pressione o botão 2 brevemente
No seu telefone, você receberá automaticamente o seguinte SMS:
i1: 1 i2: 1 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
No controlador de SMS, pressione o botão 3 brevemente
No seu telefone, você receberá automaticamente o seguinte SMS:
i1: 1 i2: 1i3: 1 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Como pode ser visto no SMS recebido, as saídas mudam de acordo com os comandos recebidos. No entanto, as entradas não mudam de 1 para 0 depois que os botões foram pressionados. Como eu queria ser capaz de ver qualquer mudança nas entradas, decidi lacrar o status da entrada até que um comando de reset seja enviado ao controlador de SMS.
Reiniciar alarmes
Para redefinir o status de entrada, envie o seguinte comando:
####, isso redefinirá o status de entrada.
No seu telefone, você receberá o seguinte SMS:
i1: 0 i2: 0 i3: 0 i4: 0 o1: 0 o2: 0 03: 0 o4: 0
Atualizações de status
Você também pode solicitar o status a qualquer momento, enviando o seguinte comando:
????, isso irá solicitar uma atualização de status dos I / Os.
No seu telefone, você receberá o seguinte SMS:
i1: x i2: x i3: x i4: x o1: x o2: x 03: x o4: x
onde x indica o status, 1 para ligado, 0 para desligado.
Etapa 5: Aplicativo Android
Usando o MIT App Inventor 2 (https://ai2.appinventor.mit.edu/), criei uma interface de usuário simples para meu telefone celular Android. Este aplicativo permite que você personalize a descrição de cada I / O. Também permite a entrada do número de telefone.
Os quatro botões são usados para controlar as saídas, enquanto as caixas de seleção indicam o status da entrada.
Para editar o aplicativo, crie uma conta do MIT App Inventor 2 e importe o arquivo AIA.
Para instalar o aplicativo no seu telefone, copie o arquivo APK para o seu telefone e instale-o. Você terá que habilitar a instalação de aplicativos de "Fontes desconhecidas" nas configurações de segurança do seu telefone.