Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

WARAN - Automação residencial

Componentes e suprimentos

Raspberry Pi 2 Modelo B
× 1
Arduino UNO
× 1
Sensor DHT11 de Temperatura e Umidade (4 pinos)
× 2
Higrômetro de solo
× 1
Arduino Pro Mini 5V
× 2
Bateria de 9 V (genérica)
× 3
Bomba de água
Opcional
× 1
nRF24l01 +
× 3
nRF24l01 + Socket
Opcional
× 1
Transistor NPN
Opcional
× 1
Regulador de tensão de 3,3 V
× 2
10kΩ Resistor
× 2
Capacitor 10µF
× 4
Capacitor 47µF
× 2
Perfboard
× 3

Ferramentas e máquinas necessárias

Máquina de solda
Wire Stripper
Wire Nipper
Jumper Wires

Aplicativos e serviços online

Microsoft Windows 10 IoT Core
Microsoft Azure
PubNub Publish / Assine API

Sobre este projeto


Eu estava planejando construir um sistema de automação residencial barato. Eu quero que este seja um sistema modular para que eu possa continuar adicionando sensores e dispositivos a ele sem muitas mudanças. WARAN ( W indows IoT, A zure, R aspberry Pi, A rduino, N RF24L01 +) é um sistema de automação residencial modular que consiste em um único hub e vários módulos. O módulo será uma combinação de microcontrolador e sensores que coletam dados de diferentes locais da casa e transmitem os dados para o Hub via RF. Toda a comunicação entre Hub e módulos acontece via RF. Haverá um aplicativo complementar do Windows Phone para o Hub também. Aqui está um diagrama de fluxo simples que explica a configuração.

Por que o Windows IoT?


Sou um desenvolvedor de software atualmente me aventurando na IoT. Com minha experiência anterior com XAML / C # e Visual Studio (que considero o melhor IDE de todos os tempos), foi muito útil para mim implementá-los muito rapidamente.

Por que NRF24L01 +?


Quando eu estava procurando por opções sem fio, o NRF24L01 + surgiu como uma solução barata e de baixo consumo de energia. Com algumas bibliotecas realmente poderosas disponíveis, veio a melhor solução para mim.

Por que o Windows Azure


Windows Azure muito fácil de aprender e adaptar. Com pouca configuração necessária para ativar o serviço, podemos nos concentrar mais no desenvolvimento do que na configuração e implantação. Minha experiência anterior com o Azure me ajudou na integração rápida.

The Hub


O Hub é um centro de controle central de WARAN. É composto por RPI2, Arduino Uno e nRF24L01 +. O RPI2 executa o núcleo do Windows IoT. Ele executa um aplicativo universal que atua como centro de controle. O hub seria conectado a um grande display (normalmente uma TV ou monitor) por meio do qual podemos ver os dados dos módulos e também controlar os módulos. Um teclado e mouse conectados ao RPI2 ajudarão na adição e remoção de módulos do centro de controle. Aqui está o diagrama de circuito dele (consulte o arquivo WARAN.Hub.fzz. No projeto)

Como funciona?


Cada módulo terá um endereço único através do qual o hub se comunica com ele. Vamos adicionar um módulo ao centro de controle usando este endereço e dando um nome ao módulo. Uma vez adicionado, o centro de controle (Universal App) enviará dados para o Arduino Uno via I2C. O Arduino Uno enviará dados ao módulo via nRF24L01 + e o módulo lerá os dados dos sensores ou iniciará / interromperá um dispositivo com base nos dados recebidos e enviará os dados de volta ao Arduino Uno. O Arduino Uno enviará os dados para o centro de controle via I2C. Esses dados serão exibidos na TV / Monitor e também enviados para a nuvem. O Arduino Uno atuará apenas como uma interface para RPI2 para obter os dados do sensor de outros módulos. O processo acima acontecerá em três cenários
  1. Em intervalos específicos, dependendo do módulo
  2. Quando o usuário interage com o centro de controle (via mouse / teclado)
  3. Quando um gatilho é enviado da nuvem (vis PubNub)

Aqui está um fluxo típico

E é assim que os componentes do hub e os módulos interagem entre eles.

O Centro de Controle


O centro de controle é um aplicativo universal executado no RPI2. O centro de controle é a interface com a qual o usuário pode interagir. Ele se comunica com os módulos e também com a nuvem. O centro de controle WARAN utiliza Azure Mobile Services e PubNub como seu back-end de nuvem. Todas as informações do módulo que adicionarmos serão armazenadas localmente em sqlite db e também enviadas para o serviço móvel azure. Isso, por sua vez, enviará uma mensagem PubNub ou notificação push para o aplicativo móvel. Não quero explicar a parte de codificação aqui e tornar este artigo uma bagunça. O código-fonte do projeto, a documentação e os detalhes de implantação podem ser encontrados em https://bitbucket.org/arjunganesan/waran (estou em processo de atualização completa da documentação, o que será feito em breve). É assim que funciona o centro de controle

O aplicativo móvel


O aplicativo móvel é um aplicativo do Windows Phone (será desenvolvido para outras plataformas posteriormente) que funcionará como um aplicativo complementar ao hub. Podemos ver todos os dados relacionados ao sensor no celular em qualquer lugar do mundo. Se, no caso de qualquer informação importante for obtida do módulo (como um alerta de vazamento de gás de um módulo monitor de vazamento de gás), também receberemos uma notificação push. Além disso, podemos acionar alguma ação no módulo (como iniciar uma bomba no módulo Plant Waterer) a partir do próprio dispositivo móvel. Uma vez que tudo isso acontece via nuvem, não é necessário que um dispositivo móvel esteja presente em qualquer lugar próximo ao hub para fazer todas essas ações.

Esta é a aparência do aplicativo móvel



Módulos


O módulo é uma combinação de componentes trabalhando juntos e recebendo e enviando dados de e para o hub via RF. Pode ser uma combinação como Arduino Pro Mini com sensores ou RPI2 com sensores etc. Tudo o que precisa fazer é receber os dados / comando do hub via RF e responder de forma adequada. Isso dá uma possibilidade infinita de módulos. Para começar, estou adicionando 2 módulos
  1. Regador de plantas
  2. Monitor de temperatura

Regador de plantas


O regador da planta monitorará o nível de água nas plantas e também a temperatura no ambiente ao redor da planta. Caso não haja água suficiente, um alerta será enviado para o aplicativo móvel. Podemos iniciar a bomba a partir do aplicativo móvel de qualquer lugar. Também podemos configurá-lo para iniciar a bomba automaticamente sempre que o nível da água ficar abaixo do limite. Consiste no Arduino Pro Mini, DHT11, higrômetro de solo e nRF24L01 +. Aqui está o diagrama do circuito (Consulte PlantWaterer.fzz no projeto)

A energia da bateria de 9 V vai para o pino RAW do Arduino Pro Mini. O regulador de tensão embutido no Arduino dará uma saída de 5 V em Vcc. Usaremos isso para alimentar o DHT11. Também fornecemos a alimentação de 9 V como entrada para o regulador de tensão de 3,3 V que usaremos para alimentar o nRF24L01 +. O nível de água do higrômetro será lido no pino analógico A3. A leitura de temperatura do DHT11 será lida no pino digital 6. No pino digital 5 enviaremos um sinal para um transistor ou relé através do qual iniciaremos a parada de uma bomba. Para fins de demonstração, usarei uma bomba DC e um transistor como chave. E aqui está o fluxo de como funciona

Eu não queria que o circuito permanecesse no breadboard, então o transferi para um perfboard. Eu quero mantê-lo compacto, então fiz assim. Você pode consultar o diagrama de circuito e criar seu próprio layout.

E abaixo está um vídeo de como funciona.

Monitor de temperatura


O monitor de temperatura monitorará a temperatura em um cômodo (por exemplo, quarto de dormir) e se manterá informado sobre o nível de temperatura e umidade. Também podemos ligar / desligar ou ajustar um dispositivo (termostato, AC, etc.) do hub ou celular. Para fins de demonstração, vou desligar / ligar um LED conectado ao arduino. O circuito consiste em Arduino Pro Mini, DHT11 e nRF24L01 +. Abaixo está o diagrama do circuito (consulte o arquivo TemperatureMonitor.fzz no projeto)

A energia da bateria de 9 V vai para o pino RAW do Arduino Pro Mini. O regulador de tensão embutido no Arduino dará uma saída de 5 V em Vcc. Usaremos isso para alimentar o DHT11. Também fornecemos a alimentação de 9 V como entrada para o regulador de tensão de 3,3 V que usaremos para alimentar o nRF24L01 +. A leitura de temperatura e umidade do DHT11 será lida no pino digital 5. No pino 6, enviaremos um sinal para um transistor ou um relé usando o qual iniciamos a parada de um dispositivo (por exemplo, termostato, CA etc.). Para fins de demonstração, usarei uma luz LED para mostrar o desligamento / ligamento do dispositivo. E aqui está o fluxo de como funciona


Aqui está como eu coloquei em um quadro de desempenho. Você pode criar seu próprio layout com base no diagrama de circuito.

E é assim que funciona

Problemas Conhecidos

  • Energia - A bateria esgota-se em poucas horas em ambos os módulos. Precisa encontrar uma fonte de alimentação eficiente e portátil. Estou planejando usar processadores attiny no lugar de pro mini em todos os módulos possíveis. Seria mais eficiente no consumo de energia. Meus artigos anteriores sobre attiny podem ser encontrados aqui.
  • Simultaneidade I2C - Se o RPI2 enviar uma solicitação de 2 fios para o Arduino uno por vez, um deles falhará. Estou trabalhando em uma maneira de evitar isso e também tentando implementar um mecanismo de repetição.
  • Comunicação unilateral - Neste momento, o hub inicia uma solicitação e o módulo responde por ela. Embora isso funcione bem em muitos cenários, alguns novos módulos podem exigir o envio de dados ao hub sem que o hub envie uma solicitação.
  • Alcance - mantive os módulos na sala ao lado e consigo receber os dados corretamente. Mas se você quiser aumentar o alcance substitua o nRF24L01 no Hub pelo NRF24L01 + PA + LNA que tem uma antena externa.
  • Segurança - uma vez que foi desenvolvido com o pressuposto de ser propriedade do desenvolvedor, não adicionei nenhum mecanismo de autenticação. Se você quiser, pode utilizar o serviço de identidade do serviço Azure Mobile para integrar a autenticação da Microsoft, FB, Twitter, Google ao aplicativo móvel e ao hub.

Planos Futuros


Eu gostaria de fazer isso como uma plataforma aberta para as pessoas implementarem seu próprio sistema de automação residencial. Estarei estabilizando o Hub e o aplicativo Mobile. Eu gostaria de adicionar muitos mais módulos a este projeto. Comando e resposta baseados em voz também estão no roteiro. No momento, estou trabalhando nos módulos abaixo
  • Sensor de vazamento de gás
  • Detector de intrusão
  • Controladores de dispositivo (por exemplo, controlador de máquina de café, controladores de luz, etc)
  • Abridor de porta de garagem
  • Alguns módulos vestíveis
  • Serviços de Internet sem hardware (clima, aplicativo lógico Azure, relatório de estoque, etc.)
  • Módulos que funcionam fora do alcance do Hub e se comunicam com ele via internet (por exemplo, rastreador de carro, rastreador de animais de estimação, pedômetro etc.)

Todos esses módulos combinados e funcionando como uma única unidade via Hub me darão o sistema de automação residencial que sempre quis ter. Vou continuar adicionando os novos módulos como projetos separados no hackster. Todos são bem-vindos para adicionar novos módulos e expandir. Estarei atualizando a página wiki sobre como adicionar novos módulos ao projeto.

Código

Bitbucket

Esquemas

WARAN.Hub.fzz PlantWaterer.fzz TemperatureMonitor.fzz

Processo de manufatura

  1. Aplicações de automação residencial
  2. RASPBERRY PI HOME AUTOMATION
  3. Dados digitais Arduino
  4. Controlador de jogo Arduino
  5. Interface de automação residencial física
  6. Jogo Pixel Chaser
  7. Sistema de irrigação de plantas caseiras
  8. Levitação eletromagnética repulsiva Arduino
  9. Arduino Home Controller ativado por Alexa
  10. NeoMatrix Arduino Pong