Talaan ng mga Nilalaman:

Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Hakbang
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Hakbang

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

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Hakbang
Video: Faça um alimentador automático para cachorros #ManualMaker Aula 12, Vídeo 2 2024, Hunyo
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 alimento para sa animais de estimação (pet) at controle automático de iluminação evitando, por motivos de viagem, os incovenientes de incomodar vizinhos para acender luze at alimentarz de pet, ang gastos alagang hayop na hindi mo nais na mag-isip ng mga ito, lo muitas vezes até o Cancamento da viagem.

Para sa paggamit ng hardware ng Dragonboard 410C sa pamamagitan ng pag-install ng linux linaro ng iyong kit ng Linker Mezzanine

(placa, sensor de luminosidade, LED, rele e botão). Ang sistema ay maaaring magkaroon ng isang kapasidad sa serbisyo ng ulap sa ulap, sa loob ng Dweet.io, at sa gayon, maaari nating gawin ang isang lokal na ekipamento ng lokal na ekipiko na mag-iingat ng mga ito sa Ionic, isang realiza o controle at mga kadahilanan sa solução Smart Home, permitindo visualizar e controlar o katayuan gawin sistema remotamente.

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

Ang mga sensore ay nagbibigay ng karagdagang impormasyon tungkol sa iyo:

a) Ler as informações de luminosidade de um ambiente através do sensor de luminosidade (LDR) at controlar automaticamente o acionamento de uma lâmpada (led) dependendo do nível de luminosidade programado.

b) Isang 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é. Ang isang mudança de estado ay makakakuha ng libera um dispoitivo que permita a reposição de alimento para o pet.

Hakbang 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 módulo LED
  • · 1 x módulo Relé
  • · 1 x sensor de luminosidade (LDR)
  • · 1 x botão de pressão
  • 1 x teclado USB
  • · 1 x mose USB
  • · 1 x monitor HDMI
  • · Conexão com isang internet

Hakbang 2: CONEXÕES

CONEXÕES
CONEXÕES

Conectar o sensor de luminosidade na entrada analógica ADC2;

Leitura da luminosidade (em Lumi) externa.

· Conectar o LED na digital digital D1;

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

Conectar o 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 digital digital D3;

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

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

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

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

Ipatuloy ang pagpapatupad ng terminal o pagpapatupad;

  • 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-importanteng autoconf automake libtool-bin pkg-config python-dev
  • sudo reboot

LIBSOC

  • git clone
  • cd libsoc sudo autoreconf -i sudo./configure --enable-python = 2 --enableboard = dragonboard410c --with-board-configs
  • sudo gumawa
  • sudo gumawa ng pag-install
  • sudo ldconfig / usr / local / lib
  • sudo reboot

96Mga board

git clone

· Mga Antes de instalar essa biblioteca ay kinakailangan ng pagpapatunay ng isang praktikal na kakayahan upang mai-install ang isang bilang ng LIBSOC previamente. Walang arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf procure pela string LS_SHARE e substitua por LS_GPIO_SHARED;

  • Ang mga prossiga com ay isang instalação:
  • cd 96BoardsGPIO /
  • sudo./autogen.sh
  • sudo./configure
  • sudo gumawa
  • sudo gumawa ng pag-install
  • sudo ldconfig

SPIDEV

  • Para sa acesso aos sensores analógico é utilizado o protokol SPI. Isang instalação da biblioteca é explicada a seguir:
  • git clone
  • cd py-spidev
  • sudo python setup.py install
  • sudo ldconfig
  • sudo reboot
  • Será necessário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf a seguinte definição GPIO-CS = 18 e GPIO-12 = 18.

Para sa mga nakakatuwang POST at GET tuluyan sa site ng dweet.io ay kinakailangan na mag-install ng isang biblioteca na "mga kahilingan". O pamamaraang ito ay magsulat:

sudo pip mga kahilingan sa pag-install

Hakbang 4: PROGRAMA - Código Fonte Principal E Dweet

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

O código fonte punong-guro em python está nomeado como smartHome_valerio_M6.py. O código fonte dweet.py contém as funções kinakailangan para sa acesso ao portal dweet (nuvem). Ang mga ito ay maaaring magtagumpay sa iyong pagpapatupad ng programa.

Para sa tagapagpatupad ng dweet gamitin o seguinte comando: sudo / home / linaro /… / dweet.py

Para sa pagpapatupad ng programa fonte prinsipal na gumamit ng seguinte comando: sudo python / home / linaro /… / smartHome_valerio_M6.py

O funcionamento gawin software basicamente binubuo

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

Tukuyin ang mga sensores ng sensor at higit na mga portas onde são conectados, bem como, definir a função in / out dos respivos pinos.

Configuração da leitura de SPI do sensor de luminosidade para sa isang entrada 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) kung_name _ == '_ main_':

Nauna nang nagtataglay ng valor de luminosidade é compado com um valor de referência (Neste Caso 500), quando o nível de luminosidade para sa menor que a referência (500) isang luz do ambiente se acende (módulo Led) na naroroon sa tela a mensagem "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 do relé aciona um dispositivo, que permite a reposição de alimento.

O matapang do estado do botão é colocado na variável button_value e é apresentada na tela como "Botao: x", onde x é o valor do estado. Aalisin ang mostrado sa tela o katatagan ng pagkakaiba-iba ng katayuan at Cloud button

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

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

bilang isang impormasyon na inilabas ng estado, inilabas ang sensor ng sensibilidade at 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 post para sa permitir o acionamento ou desacionamento do relé remotamente e um get para verificar na nuvem bilang informações do sistema.

Hakbang 5: Configuração Gawin ang Site Dweet

Configuração Gawin ang Site Dweet
Configuração Gawin ang Site Dweet
Configuração Gawin ang Site Dweet
Configuração Gawin ang 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 {bagay} digitando walang bagay sa campo: projeto_val

Obs: Ang isang bagay na maaaring gawin ng isang kasalukuyang presentasyon walang programa gawin código fonte python, walang caso, projeto_val.

Preencha o campo content conformeindicado abaixo e em seguida clique em "Subukan ito!":

{

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

Tinanggal ni Veja ang nas figuras acima.

Isang verificação dos maging recebidos pelo dweet é feita pelo GET.

Clicar em GET / get / pinakabagong / dweets / para sa / {bagay}

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

Clique em "Subukan mo!"

Em Tugon ng Katawan sa "nilalaman" na pinag-uusapan ng impormasyon:

{

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

Tinanggal ni Veja ang nas figuras acima.

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

Para sa programa ng mga ito sa python rodando na placa dragon board, maaari mong palitan ang estado ng "paglabas" ng remotamente alterando seus valores de "0" para "1" ou de "1" para "0" através página POST do dweet e clicando em "Subukan ito". Na pAgina GET do dweet são visualizadas as informações atualizadas do "release", "Luminosidade" e "Luz" clicando em "Subukan ito".

Hakbang 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 sa smartphone, ito ay ang unang pag-install o Ionic no computador pessoal. Para sa isang instalação e verificação se a mesma foi bem-sucedida é mostrado abaixo:

  • Walang site: https://nodejs.org/en/ e faça o i-download ang maraming bersyon ng LTS do Node
  • Instale o Node no seu computador pessoal
  • Envie os comandos do prompt de comandos (cmd) para sa verificar se a instalação foi feita com sucesso:

node -v

npm -v

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

npm install –g cordova ionic

npm install –g cordova

Verifique se o Ionic foi installado sucesso usando o comando abaixo:

ionic -v

Hakbang 7: APLICATIVO - Desenvolvimento E Operação

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

Ang mga Abril o desenvolvimento ay gagawa ng aplicativo com o framework na Ionic, na kung saan ay comunicar com o dweet.io e assim, também, ler e alterar bilang impormasyong kinalalagyan ng dragon board.

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

ionic start smart_home_valerio_M6 blangko (gamitin o nome gawin projeto)

Inaasahan namin ang IDE Visual Studio Code na mayroon ng isang pasta contendo o aplicativo em branco (smart_home_valerio_M6) at para sa mga pagbabago sa mga segundo ng arquivos:

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

Walang home.html e home.ts - foram alterações umaayon kinakailangan na gawin ang projeto para comunicar-se de forma adequada com o dweet.io

Walang app.modules.ts - modificações para permir comunicação

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

ionic bumubuo ng provider dweet

Sa pamamagitan ng pag-aaral, sa pamamagitan ng isang post sa pamamagitan ng post sa pamamagitan ng get do aplicativo, o código dweet.ts ding alterado:

  • com a criação de um método para buscar as informações do dweet. (kumuha)
  • com a criação de um método para fazer o set das variações (post)
  • criação de uma variável = baseURL para siguraduhin na ito ay maaari mong patunayan

Finalizadas alterações o aplicativo smart_home_valerio_M6 está pronto e segue em anexo completeo com todos os arquivos.

Para sa abrir o aplicativo basta digitar walang mesmo prompt gawin ang Visual Studio Code o comando para abrir o aplicativo:

ionic maglingkod

O aplicativo será aberto no seu navegador (visual at 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 dos sensores e atuadores.

  • Alimentação ng Alagang Hayop - Ang mga batang estado ay maaaring makapag-alaga, alinsunod sa mga alagang hayop na gawin ang alagang hayop.
  • Luminosidade - Mostra o valor de luminosidade.
  • Luz - informa se a luz está apagada ou acesa.

Inirerekumendang: