Índice:

Automação residencial baseada em SMS para Android e Arduino: 5 etapas (com imagens)
Automação residencial baseada em SMS para Android e Arduino: 5 etapas (com imagens)

Vídeo: Automação residencial baseada em SMS para Android e Arduino: 5 etapas (com imagens)

Vídeo: Automação residencial baseada em SMS para Android e Arduino: 5 etapas (com imagens)
Vídeo: Android SMS App Based Device Switching using Arduino 2024, Julho
Anonim
Automação residencial baseada em SMS para Android e Arduino
Automação residencial baseada em SMS para Android e Arduino
Automação residencial baseada em SMS para Android e Arduino
Automação residencial baseada em SMS para Android e Arduino

! ! ! 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

Comandos SMS
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

Construindo o Controlador SMS
Construindo o Controlador SMS
Construindo o Controlador SMS
Construindo o Controlador SMS
Construindo o Controlador SMS
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

Programando o ATMEGA328p
Programando o ATMEGA328p
Programando o ATMEGA328p
Programando o 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
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

Aplicativo Android
Aplicativo Android
Aplicativo Android
Aplicativo Android
Aplicativo Android
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.

Recomendado: