Casa inteligente baseada no Arduino: instruções passo-a-passo sobre montagem
Até agora, sistemas como "casa inteligente" dos incríveis exóticos, disponíveis apenas para os mais abastados, tornaram-se um lugar comum, ao qual qualquer um pode se juntar. Há algo para escolher: muitos desenvolvedores dominam o lançamento de tais sistemas de software de hardware. Entre os mais famosos está o Arduino, cujos produtos vamos nos familiarizar agora.
Conteúdos
- 1O que é uma "casa inteligente"?
-
2Conhecendo o Arduino
- 2.1Vantagens do sistema Arduino
-
2.2Quais soluções o Arduino oferece?
- 2.2.1Vídeo: começamos a trabalhar com o Arduino - gerenciamos o LED através da interface web
-
3Elaborando um projeto no Arduino
- 3.1Os componentes necessários para a produção do sistema "smart house"
-
4Construir "casa inteligente instruções passo a passo
- 4.1Conectando dispositivos executivos e sensores
- 4.2Desenvolvimento de código de programa
- 4.3Instalando um aplicativo cliente em um smartphone (para o sistema operacional Android)
- 4.4Configurando o navegador para trabalhar com a "casa inteligente"
- 4.5Trabalhando com o roteador
- 4.6Configurando uma conta no noip.com
- 4.7Vídeo: casa inteligente no Arduino
- 5Recursos de alguns hardwares do Arduino
O que é uma "casa inteligente"?
Este termo tem um analógico mais compreensível - "automação residencial". A essência de tais soluções é garantir a execução automática de vários processos que ocorrem em casa, escritório ou instalações especializadas. O exemplo mais simples é a ativação automática da iluminação no momento em que um dos ocupantes entra na sala.
Em qualquer sistema "smart house os seguintes componentes podem ser distinguidos:
- Parte sensorial. Este é um conjunto de dispositivos, cuja parte principal é representada por vários sensores, permitindo que o sistema registre eventos de natureza diferente. Exemplos são sensores de temperatura e movimento. Outros dispositivos da parte do sensor servem para transferir os comandos do usuário para o sistema. Estes são botões remotos e controles remotos com receptores.
- A parte executiva Esses são os dispositivos que o sistema pode controlar, reagindo dessa maneira a um evento de acordo com um cenário definido pelo usuário. Primeiro de tudo, é um relé através do qual o controlador da "casa inteligente" pode fornecer energia para qualquer dispositivo elétrico, ou seja, para ligá-lo e desligá-lo. Por exemplo, no algodão na palma da sua mão (o sistema "ouve" com um microfone) você pode configurar a ativação de um relé que fornece energia ao ventilador. Nota: neste exemplo, o ventilador pode ser qualquer um. Mas você também pode usar o dispositivo, especialmente liberado para funcionar como parte de um sistema específico. Por exemplo, o Arduino fabrica motores elétricos para seus sistemas, com os quais é possível, por exemplo, fechar ou abra a janela, e Xiaomi (um fabricante chinês de sistemas similares) - dispositivos de controle purificador de ar. Tal dispositivo é completamente controlado pelo sistema, isto é, ele pode não apenas ativá-lo, mas também alterar as configurações.
- O processador. Também pode ser chamado de controlador. Este é o "cérebro" do sistema, que coordena e coordena o trabalho de todos os seus componentes.
- Software Este é um conjunto de instruções que orientam o processador. Em sistemas de alguns fabricantes, incluindo o Arduino, o usuário pode escrever um programa independentemente, em outros - são usadas soluções prontas, nas quais apenas cenários.
Sistemas modernos "casa inteligente" são divididos em várias variedades:
- Equipado com seu próprio controlador.
- Usando nesta capacidade o processador do computador de um usuário (tablet, smartphone).
- Processamento de informações usando um servidor remoto de propriedade da empresa do desenvolvedor (serviço de nuvem).
O sistema pode não só ativar este ou aquele dispositivo, mas também informar o usuário sobre o evento que ocorreu enviando uma mensagem para o telefone ou de alguma outra forma. Assim, podem ser confiadas funções de alarme, incluindo proteção contra incêndio.
Cenários podem ser muito mais complexos do que descrevemos nos exemplos. Por exemplo, é possível ensinar o sistema a incluir uma caldeira e transferir o fornecimento de água quente para ela quando a fonte central é cortada, se revela a presença de alguém dos inquilinos da casa (ajuda infravermelho, sensores ultrassônicos, assim como sensores movimento).
Conhecendo o Arduino
A Arduino é uma empresa italiana dedicada ao desenvolvimento e produção de componentes e software para sistemas domésticos inteligentes simples destinados a não especialistas. Vale ressaltar que este desenvolvedor tornou a arquitetura dos sistemas que ele criou completamente abertos, o que tornou possível fabricantes terceirizados para desenvolver dispositivos novos e compatíveis com Arduino, bem como produzir software para eles.
Esta abordagem proporcionou uma alta popularidade para os sistemas da empresa italiana, mas também tem uma desvantagem: devido ao fato de que para a produção componentes para sistemas Arduino são tomados, por assim dizer, todos os que não são preguiçosos, nem sempre conseguem na primeira vez para adquirir uma alta qualidade produto. Muitas vezes você tem que enfrentar o problema de compatibilidade de componentes de diferentes fabricantes.
Um usuário em potencial deve estar ciente de que, desde 2008, existem duas empresas que produzem produtos sob a marca Arduino. No primeiro, que começou nessa direção, o site oficial está localizado em www.arduino.cc; o segundo, recém formado - em www.arduino.org. O que foi desenvolvido antes da divisão, em ambos os sites é representado igualmente, mas a gama de novos produtos já é diferente.
O software para sistemas "smart house" O Arduino tem a forma de um software shell (chamado IDE), no qual você pode escrever e compilar programas. É distribuído gratuitamente. Programas são escritos em C ++.
As versões do programa Arduino IDE apresentadas nesses sites também são muito diferentes, embora tenham o mesmo não apenas o nome, mas também os números de versão.Por causa disso, eles são muito fáceis de confundir. A diferença é que cada software suporta suas bibliotecas e placas.
O "hardware" do sistema consiste em uma placa-mãe com um microcontrolador (placa processadora) e placas de expansão instaladas, que são comumente chamadas de shilds. Conectar a blindagem à placa processadora permite adicionar novos componentes à smart house. O sistema montado pode ser totalmente autônomo ou trabalhar em conjunto com um computador por meio de uma interface padrão com ou sem fio.
Vantagens do sistema Arduino
Este pacote de software de hardware atrai o usuário com essas vantagens:
- a possibilidade de trabalho autônomo, devido à presença de seu próprio controlador;
- amplas oportunidades para configurar o sistema (o próprio usuário escreve um programa no qual cenários de qualquer complexidade podem ser fornecidos);
- Simplicidade do processo de carregar o programa no controlador: o programador não é necessário para isso, basta ter um cabo USB (no microcontrolador existe um Bootloader de firmware);
- o custo acessível dos componentes devido à falta de direitos de monopólio para um determinado fabricante (a arquitetura está aberta).
Se o bootloader Bootloader começou a funcionar mal ou não apareceu no microcontrolador adquirido, o usuário tem a opção de fazer o flash ele mesmo. O shell do software IDE fornece suporte para vários programadores populares e populares para essa finalidade. Além disso, quase todos os processadores Arduino possuem um conector macho que permite a programação no circuito.
O programa Arduino IDE, apresentado no site arduino.cc, plataformas de software de hardware do usuário, enquanto na versão do programa em arduino.org tal a função está ausente.
Quais soluções o Arduino oferece?
Como a produção de sensores e dispositivos compatíveis com Arduino é gerenciada por muitas empresas, a variedade desses produtos é bastante ampla. Aqui é aplicado com mais frequência:
- Sensores que monitoram parâmetros climáticos:
- temperatura;
- umidade;
- precipitação (sensor de chuva e neve);
- iluminação;
- pressão.
- Sensores, permitindo determinar a posição espacial do objeto sobre o qual eles são fixados:
- Sensor de giro de 6 eixos com acelerômetro;
- bússola.
- Sensores, permitindo registrar a presença de vários objetos:
- sensor de movimento;
- sensor infravermelho (fixar uma pessoa sentada imóvel ou animal de sangue quente);
- sensor ultrassônico (detecta objetos com qualquer temperatura e determina a distância até eles).
- Sensores de emergência:
- detector de fumaça;
- sensor de incêndio;
- sensor de vazamento de gás;
- sensor de dióxido de carbono.
- Outros dispositivos, por exemplo:
- microfone;
- horas;
- sensor de porta aberta;
- controles remotos (radiofreqüência e infravermelho) com receptores;
- botões remotos.
Alguns desses dispositivos estão incluídos no kit básico do Arduino Start, que de alguns fabricantes é chamado de StarterKit.
A parte executiva contém um enorme conjunto de dispositivos, por exemplo:
- motores elétricos;
- relés e vários interruptores;
- dimmers (permitem alterar suavemente a intensidade da iluminação);
- Fecho de portas;
- Válvulas e válvulas de 3 vias com servomotores.
Se você planeja conectar a iluminação através do relé Arduino, então é melhor usar lâmpadas LED como luminárias. Lâmpadas incandescentes quando conectadas através desses relés queimam rapidamente.
.Vídeo: começamos a trabalhar com o Arduino - gerenciamos o LED através da interface web
Elaborando um projeto no Arduino
O processo de criação e configuração do "smart house" Arduino será mostrado no exemplo de um sistema no qual as seguintes funções serão construídas:
- monitoramento de temperatura na rua e dentro de casa;
- monitorar o estado da janela (aberto / fechado);
- monitoramento de condições climáticas (claro / chuva);
- geração de um sinal sonoro quando o sensor de movimento é acionado, se a função de alarme estiver ativada.
O sistema será configurado de tal forma que os dados possam ser visualizados por meio de aplicativo, bem como um navegador da web, ou seja, o usuário poderá fazer isso de qualquer lugar onde houver acesso na Internet.
Abreviaturas utilizadas:
- "GND" é o chão.
- "VCC" - comida.
- "PIR" - sensor de movimento.
Os componentes necessários para a produção do sistema "smart house"
Para o sistema Smart Home do Arduino, você precisará do seguinte:
- placa de microprocessador Arduino;
- Módulo Ethernet ENC28J60;
- dois sensores de temperatura da marca DS18B20;
- microfone;
- sensor de chuva e neve;
- sensor de movimento;
- interruptor de junção;
- relé;
- Resistência do resistor, kOhm;
- cabo de par trançado;
- Cabo Ethernet.
O custo de todos os componentes é de aproximadamente US $ 90.
Construir "casa inteligente instruções passo a passo
Essa é a seqüência em que você precisa agir.
Conectando dispositivos executivos e sensores
Nós conectamos todos os componentes de acordo com o esquema.
Desenvolvimento de código de programa
O usuário grava todo o programa no shell do Arduino IDE, para o qual o último é equipado com um editor de texto, o gerente de projeto, o compilador, o pré-processador e os meios para preencher o código do programa no microprocessador do painel Arduino Versões desenvolvidas do IDE para os sistemas operacionais do Mac OS X, Windows e Linux. A linguagem de programação é C ++ com algumas simplificações. Os programas do usuário para o Arduino geralmente são chamados de esboços de esboço ou esboços, o IDE os salva em arquivos com a extensão ".ino".
A função main (), que é obrigatória em C ++, é criada automaticamente pelo wrapper IDE, prescrevendo diversas ações padrão. O usuário deve escrever as funções setup () (feitas uma vez na hora de início) e loop () (realizadas em um loop infinito). Ambas estas funções são obrigatórias para o Arduino.
Arquivos de cabeçalho de bibliotecas padrão não precisam ser inseridos no programa - o IDE faz isso automaticamente. Não se aplica a bibliotecas de usuários - elas devem ser especificadas.
.Adicionando bibliotecas para o "Project Manager" IDE é realizado de uma maneira um pouco incomum. Na forma de código-fonte escrito em C ++, eles são adicionados a uma pasta especial no diretório de trabalho do shell IDE. Depois disso, os nomes dessas bibliotecas aparecem no menu IDE correspondente. Aqueles que o usuário marca serão adicionados à lista de compilação.
.O IDE fornece um mínimo de configurações e a capacidade de configurar o compilador está ausente. Assim, um programador iniciante está imune a erros.
Aqui está um exemplo do programa mais simples, que faz com que o LED conectado à 13ª saída da placa pisque a cada 2 segundos:
.void setup () {pinMode (13, OUTPUT); // saída 13 do Arduino output}
void loop () {digitalWrite (13, ALTO); // Habilita a 13ª saída, o parâmetro da chamada da função digitalWrite HIGH é um sinal de alto nível lógico
atraso (1000); // Ciclo de atraso de 1000 mseg - 1 segundo
digitalWrite (13, BAIXO); // Saída desligada 13, parâmetro de chamada LOW - baixo atributo de nível lógico
atraso (1000); // ciclo de atraso por 1 segundo}
.No entanto, no momento, nem sempre é necessário que um usuário escreva um programa pessoalmente: há muitas bibliotecas prontas e rascunhos na rede (veja aqui: http://arduino.ru/Reference). Existe um programa pronto para o sistema considerado neste exemplo. Ele precisa ser baixado, descompactado e importado para o IDE. O texto do programa é fornecido com comentários explicando o princípio de seu funcionamento.
Quando o usuário clica no botão "Atualizar" no navegador ou no aplicativo do smartphone, o microcontrolador Arduino envia os dados para esse cliente. Com cada uma das páginas designadas como "/ tempin "/ tempout "/ rain "/ window "/ alarm o código do programa é enviado, o qual é exibido na tela.
Instalando um aplicativo cliente em um smartphone (para o sistema operacional Android)
Para receber dados do sistema doméstico inteligente na rede, você pode baixar o aplicativo pronto.
Veja o que o proprietário do gadget precisa fazer:
- Baixe o arquivo SmartHome.apk.
- Envie para o seu telefone.
- Depois de abrir o "Gerenciador de arquivos coloque este arquivo.
- Clique nele e selecione "Instalar" (uma "marca de seleção" deve ser marcada, permitindo que você instale programas fora do serviço Google Play).
- Quando a instalação estiver concluída, ative o aplicativo.
- Configure-o.
Com este aplicativo, você pode não apenas receber informações do sistema smart house, mas também gerenciá-las - ativar e desativar alarmes. Se estiver ligado, o aplicativo receberá uma notificação quando o sensor de movimento for acionado. Interrogação do sistema Arduino para o gatilho da aplicação do sensor de movimento executa a uma freqüência de uma vez por minuto.
Ao ativar o ícone "Configurações você pode editar seu endereço IP.
Configurando o navegador para trabalhar com a "casa inteligente"
Na barra de endereço do navegador, digite XXX.XXX.XXX.XXX/all, onde "XXX.XXX.XXX.XXX" é o seu endereço IP. Depois disso, será possível receber dados do sistema e gerenciá-lo.
O código apresentado aqui permite que o navegador ligue e desligue a luz, enquanto que na aplicação do smartphone Android tal função não está implementada.
Trabalhando com o roteador
Então no roteador você precisa abrir a porta:
- abra as configurações do roteador;
- prescrever o endereço Arduino IP;
- porta aberta 80.
Configurando uma conta no noip.com
Esta etapa é opcional, mas é necessária se você deseja atribuir um nome de domínio ao endereço. Para fazer isso, você precisa se registrar no site https://www.noip.com/, vá para a seção "Adicionar host" e digite o endereço IP do sistema.
A criação do projeto é concluída, você pode verificar a integridade do sistema.
Vídeo: casa inteligente no Arduino
Recursos de alguns hardwares do Arduino
Em vista do fato de que componentes compatíveis com Arduino são produzidos por muitas empresas terceirizadas, cuja qualidade de produto a empresa Arduino não controla, o usuário é mais provável comprar um componente que não funciona muito corretamente.
.Uma situação semelhante se desenvolveu no desenvolvimento de computadores pessoais. Em um momento, a IBM tornou aberta a arquitetura de seus computadores, como resultado de computadores e componentes individuais compatíveis com IBM que começaram a produzir muitas empresas. Como resultado, "personalidades" desse tipo estão amplamente espalhadas por todo o mundo, no entanto, a qualidade dos componentes e o grau de compatibilidade deles em muitos casos não estavam no nível mais alto. Táticas opostas aderiram à empresa Apple. Isso limitou o círculo de desenvolvedores com acesso à arquitetura, e a mesma política foi realizada no campo do desenvolvimento de software. Como resultado, os computadores da Apple eram menos comuns e mais caros, mas são uma ordem de magnitude superior aos dispositivos compatíveis com IBM que executam o Windows.
.Para alguns componentes para sistemas Arduino, os usuários notaram o seguinte:
- O sensor de temperatura DHT11, fornecido com o kit básico (StarterKit), apresenta um erro significativo de 2 a 3 graus. Na sala recomenda-se usar um sensor de temperatura DHT22, dando indicações mais precisas, e para instalação na rua - DHT21, capaz de operar em temperaturas negativas e ter proteção contra problemas mecânicos dano.
- Em algumas placas de microprocessador Arduino, quando o relé conectado a elas se fecha, a porta COM falha. Por causa disso, o microcontrolador não pode carregar o esboço: uma vez que o preenchimento começa, o processador é reinicializado. O relé clica então, a porta COM é desativada e o processo de carregamento do esboço é interrompido.
- O sensor de fechamento de janela / porta às vezes apresenta surpresas na forma de falsos positivos. Em vista disso, o esboço é escrito de forma que o sistema produza a ação necessária somente depois de receber vários sinais seguidos.
- Para configurar o gerenciamento de processos com a ajuda de claps, alguns usuários inexperientes solicitam um detector de som com ajuste de limite manual em vez de um microfone. Para este propósito, este componente não é adequado, uma vez que tem um alcance muito curto: é necessário bater palmas a menos de 10 cm do detector. Além disso, este sensor transmite sinais com pulsos de curta duração, de modo que, na presença de um grande O esboço, que leva um tempo relativamente longo para processar, o microcontrolador simplesmente não tem tempo para eles para consertar.
- Para o sistema de alarme de incêndio, um detector de fumaça, em vez de um sensor de incêndio, deve ser usado. Este último registra uma chama a menos de 30 cm de si mesma.
- No caso de um mau funcionamento na operação do microcontrolador ou erros no código, é melhor usar relés normalmente fechados com chaves manuais conectadas serialmente.
Para evitar a compra de componentes de baixa qualidade, os usuários experientes recomendam pré-examinar os comentários sobre eles, publicados na web. Sensores baratos podem ser comprados em várias versões para verificar pessoalmente qual funciona melhor.
Talvez o sistema "smart house" do Arduino não seja o melhor, mas a mais ampla escolha de componentes e seu custo acessível o tornaram um dos mais populares. Usando nossas dicas, você aprenderá rapidamente como criar projetos do Arduino, automatizando vários processos internos.
.