Inhoudsopgave:

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

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

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação - Ajarnpa
Video: Faça um alimentador automático para cachorros #ManualMaker Aula 12, Vídeo 2 2024, Juni-
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 permite a reposição automática de allimento para animais de estimação (huisdier) en controle automático de iluminação evitando, door motivos de viagem, os incovenientes de incomodar vizinhos para aceithos huisdier ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem.

O projeto utiliza o hardware Dragonboard 410C com versão linux linaro installatie en um kit Linker Mezzanine

(placa, sensor de luminosidade, LED, relé e botão). Het is mogelijk om een comunicar com um servidor cloud, neste caso o Dweet.io, e assim, possibilitar a comunicação entre o equipamento local e um aplicativo desenvolvido com Ionic, que realiza oõ controle en slimme notificaties e controlar o status do sistema remotamente.

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

Sensoren en atuadores deste projeto serão capazes de:

a) Meer informatie over de verlichting van de omgevingslicht (LDR) en de automatische controle van de verlichting van de verlichting (led) die afhankelijk is van het licht van het programma.

b) Een 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é. Een mudança de estado do relé libera um dispoitivo que permita a reposição de alimento para o pet.

Stap 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 Mezzanine
  • 1 x modulaire LED
  • · 1 x module Relé
  • · 1 x lichtsensor (LDR)
  • · 1 x boto de pressão
  • 1 x teclado-USB
  • · 1 x meer USB
  • · 1 x monitor HDMI
  • · Conexão com a internet

Stap 2: CONEXÕES

CONEXÕES
CONEXÕES

Aansluiten van lichtsensoren op de analoge ADC2;

Leitura da luminosidade (em Lumi) externa.

· Aansluiting of LED op digitale D1;

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

Aansluiting op Relé op saída digital D2;

Este Relé is een antwoord op een acionar of dispositivo de reposição de alimento.

Aansluiting of Boto op saída digital D3;

Este Botão geeft antwoord op de modder van de estado do relé.

Stap 3: PROGRAMMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard

Een linguagem de programação utilizada foi o Python.

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

Inicialmente abra o terminal e uitvoeren;

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

Editor de texto

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

Biblioteca adicionais

  • sudo apt-get install build-essentiële autoconf automake libtool-bin pkg-config python-dev
  • sudo reboot

LIBSOC

  • git kloon
  • cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
  • sudo maken
  • sudo make install
  • sudo ldconfig /usr/local/lib
  • sudo reboot

96 Borden

git kloon

· Geïnstalleerde biblioteca é necessário verificar se a sua versão é compatível com a versão da LIBSOC previamente instalada. Geen arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf pela string LS_SHARE en vervanging door LS_GPIO_SHARED;

  • Een voorproefje van een installatie:
  • cd 96BoardsGPIO/
  • sudo./autogen.sh
  • sudo./configure
  • sudo maken
  • sudo make install
  • sudo ldconfig

SPIDEV

  • Para acesso en sensores analógico en utilizado o protocolo SPI. Een instalação da biblioteca é explicada a seguir:
  • git kloon
  • cd py-spidev
  • sudo python setup.py installeren
  • sudo ldconfig
  • sudo reboot
  • Er is een vereiste inclusief geen arquivo sudo gedit /usr/local/etc/libsoc.conf a seguinte definição GPIO-CS = 18 en GPIO-12 = 18.

Para que as funções POST en GET funcionem com o site dweet.io é necessário instalar a biblioteca "requests". O procedimento é mostrado abaixo:

sudo pip installatieverzoeken

Stap 4: PROGRAMMA - Código Fonte Principal E Dweet

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

De hoofdletter van de python is afkomstig van smartHome_valerio_M6.py. O código fonte dweet.py contém as funções necessárias para acesso en portal dweet (nuvem). Os dois arquivos devem estar na mesma pasta executar of programa.

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

Para executar of programa fonte principal use of seguinte comando: sudo python /home/linaro/…/ smartHome_valerio_M6.py

O funcionamento do software basicamente consistente

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

Identificatie van sensores en atuadores nas portas onde são conectados, bem como, definir a funço in/out dos respectivos pinos.

Configuratie van de SPI-sensor voor de verlichting van de ADC2.

2) zeker lezenLDR(gpio)

Realiseer een leitura do sensor de luminosidade o valor de leitura é apresentado 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) en é apresentado na telea a presentado "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 essa mudança de estado, que permite a reposição de alimento.

O valor do estado do botão é colocado en variável button_value e é apresentada to el a como "Botao:x", onde x é o valor do estado. Meer informatie over de valor da variável status e Cloud-knop

Een 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 as informações de estado do rele, a leitura do sensor de sensibilidade se se Luz está acesa ou apagada.

Seguem gekoppeld aan de hoofdletter van smartHome_valerio_M6.py en de letter van de code dweet.py

Als er geen site beschikbaar is, is er geen nieuwe site: u kunt een verzoek indienen om een nieuwe verklaring af te leggen en u kunt verifiëren dat u op de hoogte bent.

Stap 5: Configuração Do Site Dweet

Configuraço Doe Site Dweet
Configuraço Doe Site Dweet
Configuraço Doe Site Dweet
Configuraço Doe Site Dweet

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

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

Criar uma {thing} digitando no campo thing: projeto_val

Obs: Een ding dat een mesma presente kan niet worden gepresenteerd, geen programma voor python, geen caso, projeto_val.

Preencha o campo content conformeindicado abaixo e em seguida clique em "Try it out!":

{

"rele":0, "Luminosidade":550, "Luz":0, }

Veja detalhes nas figuras acima.

Een verificatie van het ontvangen van de gegevens van het pelo dweet é feita pelo GET.

Klik op GET /get/latest/dweets/for/{thing}

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

Clique em "Probeer het uit!"

Em Response Body em "content" laat ons weten:

{

"rele":0, "Luminosidade":550, "Luz":0, }

Veja detalhes nas figuras acima.

O exposto acima trata-se dos métodos "post" e "get", respectivamente, utilizados para passar valores de uma page 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" of de "1" para "0" op pagina POST do dweet e klik op "Probeer het uit". Na pagina GET kunt u zowel visualiseren als informeren over "rele", "Luminosidade" en "Luz" en klikken op "Try it out".

Stap 6: APLICATIVO - Instação Do Ionic

O aplicativo foi desenvolvido em uma plataforma híbrida utilizando o Ionic framework.

Antes de desenvolver o aplicativo para o smartphone, é preciso instalar o Ionic no computador pessoal. Er zijn een aantal geïnstalleerde en geverifieerde informatie over de meest recente versie:

  • Entre no site: https://nodejs.org/en/ e faça o download de meest recente LTS do Node
  • Installeren o Node geen seu computador pessoal
  • Envie os comandos do prompt de comandos (cmd) para verificar see a installaço foi com sucesso:

knoop -v

npm -v

Installeer of Ionic com os comandos abaixo através do prompt de comandos (cmd):

npm install –g cordova ionic

npm installeren –g cordova

Controleer of Ionic is geïnstalleerd en volg de usando of comando abaixo:

ionisch -v

Stap 7: APLICATIVO - Desenvolvimento E Operação

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

Apresentamos o desenvolvimento do aplicativo com o framework Ionic, que irá se comunicar com o dweet.io e assim, também, ler e alterar als informações que ocorrem na dragon board.

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

ionische start smart_home_valerio_M6 leeg (gebruik o nome do projeto)

Naast de IDE Visual Studio-code die is toegevoegd aan een pasta- of een aplicativo em branco (smart_home_valerio_M6) en alternatieve fora voor de volgende arquivos:

  • home.html (src/pages/home) parte visual do aplicativo
  • home.ts (src/pages/home) realiseer je wat je kunt doen en wijzigen
  • app.module.ts (src/app)

Geen home.html e home.ts - foram verandert de conforme necessidade projeto para comunicar-se de forma adequada com o dweet.io

Geen app.modules.ts - modificaties para permitir comunicação

Em sguida foi necessário criar um arquivo para a comunicação com o dweet. Abrindo um prompt no próprio Visual Studio aberto en digitando:

ionische generator dweet

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

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

Finalizadas o aplicativo smart_home_valerio_M6 está pronto segue em anexo completo com todos os arquivos.

Agora para abrir o aplicativo basta digitar geen mesmo prompt do Visual Studio Code o comando para abrir o aplicativo:

ionische serve

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 status dosadores e atues.

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

Aanbevolen: