Inhaltsverzeichnis:

Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação - Gunook
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação - Gunook

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação - Gunook

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação - Gunook
Video: Faça um alimentador automático para cachorros #ManualMaker Aula 12, Vídeo 2 2024, November
Anonim
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação

Este Tutorial apresenta uma solução SmartHome Simples que Allowe a Repository automática de alimento para animais de estimação (pet) e controle automático de iluminação evitando, por motivos de viagem, os incovenientes de incomodar de viender luarso ac pet ou não ter com quem deixá-lo, e muitas vezes até oder cancelamento da viagem.

O projeto utiliza o Hardware Dragonboard 410C com Versão linux linaro instalada e um kit Linker Mezzanine

(Placa, Sensor de Luminosidade, LED, Relé e Botão). O sistema possui a capacidade de se comunicar com um servidor cloud, neste caso o Dweet.io, e assim, possibilitar a comunicação entre o equimento local e um aplicativo desenvolvido com Ionic, que realiza o control e démificação visualis e controlar o status do sistema remotamente.

Segue na figura anexa oder diagrama em blocos da solução.

Os sensores e atuadores deste projeto serão capazes de:

a) Informieren Sie sich über die Informationen über die Umgebungslichtbeleuchtung (LDR) und die automatische Steuerung oder die Lichtsteuerung (led) in Abhängigkeit von den nível de luminosidade programados.

b) Eine Reposição de Alimento é Realizada Quando o Pet pressiona uma base colocada sobre um botão, que ao ser pressionado muda o estado de um relé. A mudança de estado do relé libera um dispoitivo que allowa a reposição de alimento para o pet.

Schritt 1: Lista Dos Materiais

Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
  • · Dragonboard 410C
  • 1 x Linker-Zwischengeschoss
  • 1 x Modul-LED
  • · 1 x Modulo Relé
  • · 1 x Lichtsensor (LDR)
  • · 1 x Botão de Pressão
  • 1 x teclado-USB
  • · 1 x mose-USB
  • · 1 x Monitor HDMI
  • · Conexão com ein Internet

Schritt 2: KONEXÕES

KONEXÕES
KONEXÕES

Anschluss oder Lichtsensor für die Analyse ADC2;

Leitura da luminosidade (em Lumi) externa.

· Anschluss oder LED auf digitalem D1;

Esta saída será utilizada para simular a luz para iluminação

Conectar oder Relé na saída digital D2;

Este Relé será responsável por acionar o dispositivo de reposição de alimento.

Conectar o Botão na saída digital D3;

Este Botão será responsável pela mudança de estado do relé.

Schritt 3: PROGRAMM - Installation von Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard

Eine Programmiersprache für Python.

O próximo passo é a instalação do python, das bibliotecas adicionais, protocolo SPI und definição de pinos na Dragonboard, conforme as seguintes instruções:

Inicialmente abra o terminal e ausführen;

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get dist-upgrade

Textredakteur

  • sudo apt-get install gedit
  • sudo apt-get install python-pip

Biblioteca adicionais

  • sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev
  • sudo neu starten

LIBSOC

  • git-Klon
  • cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
  • sudo machen
  • sudo machen installieren
  • sudo ldconfig /usr/local/lib
  • sudo neu starten

96Boards

git-Klon

· Installationsvoraussetzungen sind eine Biblioteca und eine erforderliche Überprüfung auf einer sua Versão é Compatível com a Versão da LIBSOC Previamente Instalada. Keine Datei /home/linaro/96boardsGPIO/Archive/lib/gpio.conf beschaffen Pela-String LS_SHARE und ersetzen für LS_GPIO_SHARED;

  • Após prossiga com a instalação:
  • cd 96BoardsGPIO/
  • sudo./autogen.sh
  • sudo./configure
  • sudo machen
  • sudo machen installieren
  • sudo ldconfig

SPIDEV

  • Para acesso aos sensores analógico é utilizado or protocolo SPI. A instalação da biblioteca é explicada a seguir:
  • git-Klon
  • cd py-spidev
  • sudo python setup.py installieren
  • sudo ldconfig
  • sudo neu starten
  • Será necessário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf eine weitere Definition GPIO-CS = 18 und GPIO-12 = 18.

Para que as funções POST and GET funcionem com o site dweet.io é notinstalar a biblioteca „requests“. O procedimento é mostrado abaixo:

sudo pip Installationsanfragen

Schritt 4: PROGRAMM - Código Fonte Principal E Dweet

PROGRAMM - Código Fonte Principal E Dweet
PROGRAMM - Código Fonte Principal E Dweet

O código fonte Principal em python está nomeado como smartHome_valerio_M6.py. O código fonte dweet.py contém as funções necessárias para acesso ao portal dweet (nuvem). Os dois arquivos devem estar na mesma Pasta Executar oder Programa.

Para executar o dweet use o seguinte comando: sudo/home/linaro/…/dweet.py

Para executar o programa fonte Principal verwenden o seguinte comando: sudo python /home/linaro/…/ smartHome_valerio_M6.py

O funcionamento do software basicamenteconsiste

1) Importação de bibliotecas adicionais, importar gpio, GPIO und Dweet de bibliotecas adicionais.

Identificacação dos sensores e atuadores nas portas onde são conectados, bem como, definir a função in/out dos respektivos pinos.

Konfiguration der Leitura des SPI für den Lichtsensor für den Eingang ADC2.

2) def readLDR(gpio)

Realiza a leitura do sensor de luminosidade e o valor de leitura é apresentado na tela como " Valor do LDR:xxx"

3) if_name_=='_main_':

Na primeira parte o valor de luminosidade é comparado com um valor de referência (neste caso 500), quando o nível de luminosidade for menor que a referência (500) a luz do ambiente se acende (módulo Led) e é apresentado natel.a "Luz: acesa". Quando o nível de luminosidade for maior que o definido a luz se apaga (módulo led) sendo apresentada a mensagem "Luz: apagada".

Numa segunda parte ao acionar o botão de pressão (simula pet pressionando o botão subindo em uma base colocada sobre esse botão), o relé mudará de estado de ligado para desligado ou de desligado para ligado, e essa mudança de estado dis relé aci.ona, que Permite a reposição de alimento.

O valor do estado do botão é colocado na variável button_value e é apresentada na tela como "Botao:x", onde x é o valor do estado. Ainda são mostrados na tela o valor da variável status e Cloud-Taste

A comunicação com a nuvem é feita através do comando:

dweet.dweet_by_name(name="projeto_val", data={"rele":0, "Luminosidade":value, "Luz":luz_status})

enviando als informações de estado do rele, a leitura do sensor de sensibilidade e se Luz está acesa ou apagada.

Seguem anexo o código fonte Principal smartHome_valerio_M6.py e o codigo fonte dweet.py

O próximo passo é criar no site dweet.io: um posten für genehmigen oder acionamento ou desacionamento do relé remotamente e um para verificar na nuvem als informações do sistema zu erhalten.

Schritt 5: Konfigurieren Sie Site Dweet

Konfiguration der Site Dweet
Konfiguration der Site Dweet
Konfiguration der Site Dweet
Konfiguration der Site Dweet

O próximo passo é acessar o serviço da nuvem.

Abrir no seu navegador o site Dweet.io clicar na aba "Play" e em seguida clicar em POST(/dweet/for/{thing})

Criar uma {thing} digitando no campo thing: projeto_val

Obs: Ein Ding criada deve ser a mesma presente no programa do código fonte python, no caso, projeto_val.

Preencha o campo content konformeindicado abaixo e em seguida clique em "Probiere es aus!":

{

„rele“:0, „Luminosidade“:550, „Luz“:0, }

Veja detalhes nas figuras acima.

Eine Verificação dos dados recebidos pelo dweet é feita pelo GET.

Klicken Sie auf GET /get/latest/dweets/for/{thing}

Digit no campo thing: projeto_val (obs: mesma {thing} criada no POST).

Clique em "Probieren Sie es aus!"

Em Response Body em "content" enthält eine informação recebida:

{

„rele“:0, „Luminosidade“:550, „Luz“:0, }

Veja detalhes nas figuras acima.

O exposto acima trata-se dos metodos "post" e "get", respektivamente, utilizados para passar valores de uma página para outra em um site dinâmico.

Isto feito e com o programa em python rodando na placa dragon board, é possível alterar o estado do "rele" remotamente alterando seus valores de "0" para "1" ou de "1" para "0" através página POST do dweet e clicando em "Probieren Sie es aus". Auf der Seite GET können Sie die Informationen wie "rele", "Luminosidade" und "Luz" als "Try it out" visualisieren.

Schritt 6: APLICATIVO - Instação Do Ionic

O aplicativo foi desenvolvido em uma plataforma híbrida utilizando o ionisches Gerüst.

Antes de desenvolver o aplicativo para o smartphone, é preciso instalar o Ionic no computador pessoal. Os passos para a instalação e verificação se a mesma foi bem-sucedida é mostrado abaixo:

  • Geben Sie keine Website ein: https://nodejs.org/en/ e faça o download da versão mais neuesten LTS do Node
  • Instale o Node no seu computador pessoal
  • Envie os comandos do prompt de comandos (cmd) para verificar se a instalação foi feita com sucesso:

Knoten -v

npm -v

Instale o Ionic com os comandos abaixo através do prompt de comandos (cmd):

npm install –g cordova ionisch

npm install –g Cordova

Verifique se o Ionic foi instalado com sucesso usando o comando abaixo:

ionisch -v

Schritt 7: APLICATIVO - Desenvolvimento E Operação

APLICATIVO - Desenvolvimento E Operação
APLICATIVO - Desenvolvimento E Operação

Apresentamos oder desenvolvimento do aplicativo com o Framework Ionic, que irá se comunicar com o dweet.io und assim, também, ler e alterar als informações que ocorrem na Dragon Board.

Primeiramente foi criado um aplicativo em branco digitando oder seguinte comando no prompt do windows (cmd):

ionic start smart_home_valerio_M6 blank (benutze o nome do projeto)

Em seguida através da IDE Visual Studio Code für aber einen Pasta Contendo oder aplicativo em branco (smart_home_valerio_M6) und foram alterados os seguintes arquivos:

  • home.html (src/pages/home) parte visual do aplicativo
  • home.ts (src/pages/home) realiza as funções do código e alterações das proprietades da tela
  • app.module.ts (src/app)

No home.html und home.ts - foram alterações konforme necessidade do projeto para comunicar-se de forma adequada com o dweet.io

Keine app.modules.ts - Modificações para Permitir comunicação

Em sguida foi necessário criar um arquivo para a comunicação com o dweet. Abrindo um Aufforderung kein eigenes Visual Studio aberto e digitando:

ionisch generieren Anbieter dweet

Uma vez criado esse arquivo, que facilita a comunicação via post e via get do aplicativo, oder código dweet.ts foi alterado:

  • com a criação de um método para buscar als informações do dweet. (werden)
  • com a criação de um método para fazer o set das variações (post)
  • criação de uma variável = baseURL para definir que está usando o dweet como proofor

Finalizadas alterações o aplicativo smart_home_valerio_M6 ist pronto und segue em anexo completo com todos os arquivos.

Agora para abrir oder aplicativo basta digitar no mesmo prompt do Visual Studio Code oder comando para abrir oder aplicativo:

ionischer Aufschlag

O aplicativo será aberto no seu navegador (visual na figura acima) e estará pronto para comunicar-se (ler e atualizar os dados) com a nuvem dweet, que posteriormente acessa a dragonboard para atualização dos dos status dos sensores.

  • Haustierfutter - Muda estado do relé, que aciona oder dispositivo de alimentação do pet.
  • Luminosidade - Mostra o valor de luminosidade.
  • Luz - informa se a luz está apagada ou acesa.