Sadržaj:

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

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

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 koraka
Video: Faça um alimentador automático para cachorros #ManualMaker Aula 12, Vídeo 2 2024, Lipanj
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 animais de assessmentção (ljubimac) e controle automático de iluminação evitando, por motivos de viagem, os incovenientes de incomodar vizinhos para acender luziment, ace acender luzimen pet ou não ter com quem deixá-lo, e muitas vezes até o Cancelamento da viagem.

O korištenju projektora ili hardverskom Dragonboard 410C com u odnosu na linux linaro instalaciju i um kit Linker Mezzanine

(placa, sensor de luminosidade, LED, relé e botão). O sustavu možete koristiti kapacitet za se comunicar com um poslužiteljski oblak, neste caso o Dweet.io, e assim, moguć je a comunicação entre o equipamento local e um aplikacija za desenvolvido com Ionic, que realizacija o kontroli i obavijesti za rješavanje Smart Home, allowindo visua e kontrola o statusu do daljinskog sustava.

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

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

a) Ler kao informacije o luminosidade de um ambiente através do sensor de luminosidade (LDR) e kontrolno automatiziranje o akciji de uma lâmpada (led) ovisi o nivelu luminosidade programado.

b) A 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 permita a reposição de alimento para o pet.

Korak 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 Međuspratna ploča
  • 1 x módulo LED
  • · 1 x módulo Relé
  • · 1 x svjetlosni senzor (LDR)
  • · 1 x botão de pressão
  • 1 x teclado USB
  • · 1 x mose USB
  • · 1 x HDMI monitor
  • · Conexão com internet

Korak 2: KONEXI

KONEXI
KONEXI

Priključak o senzoru za osvjetljavanje na ulaznoj analici ADC2;

Leitura da luminosidade (em Lumi) vanjska.

· Priključak o LED -u na digitalnom D1;

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

Conectar o Relé na saída digitalni D2;

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

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

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

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

Linguagem de programção utilizada foi o Python.

O próximo passo é a instalação do python, das bibliotecas adicionais, protocolo SPI e definição de pinos na Dragonboard, u skladu s instrukcijama seguintes:

Inicialmente abra o terminal e execute;

  • sudo apt-get ažuriranje
  • sudo apt-get nadogradnja
  • sudo apt-get dist-upgrade

Urednik teksta

  • 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 ponovno podizanje sustava

LIBSOC

  • git klon
  • cd libsoc sudo autoreconf -i sudo./configure --enable-python = 2 --enableboard = dragonboard410c --with-board-configs
  • sudo napraviti
  • sudo make install
  • sudo ldconfig/usr/local/lib
  • sudo ponovno podizanje sustava

96Daske

git klon

· Antes de instalar essa biblioteca é needário verificar se a sua versão é compatível com a versão da LIBSOC previamente instalada. Nema arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf nabavljati niz LS_SHARE i zamjenu za LS_GPIO_SHARED;

  • Após prossiga com a instalação:
  • cd 96DaskeGPIO/
  • sudo./autogen.sh
  • sudo./konfiguracija
  • sudo napraviti
  • sudo make install
  • sudo ldconfig

ŠPIDEV

  • Para acesso aos sensores analógico é utilizado or protocolo SPI. Instalação da biblioteca é exlicada a seguir:
  • git klon
  • cd py-spidev
  • sudo python setup.py install
  • sudo ldconfig
  • sudo ponovno podizanje sustava
  • Será neophodário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf a seguinte definição GPIO-CS = 18 e GPIO-12 = 18.

Para que as funções POST e GET funcionem com na web stranici dweet.io é je potrebno instalirati bibliotečke "zahtjeve". O postupku i najradosnijem:

sudo pip zahtjevi za instalaciju

Korak 4: PROGRAM - Direktor Código Fonte E Dweet

PROGRAM - Código Fonte Ravnatelj E Dweet
PROGRAM - Código Fonte Ravnatelj 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 neophodárias para acesso ao portal dweet (nuvem). Os dois arquivos devem estar na mesma paste izvršitelj o programu.

Za izvršitelja ili dweet koristite seguinte comando: sudo/home/linaro/…/dweet.py

Za izvođenje programa fonte principal koristite seguinte comando: sudo python/home/linaro/…/smartHome_valerio_M6.py

O funkcionalnom sastavu softverskih osnova

1) Importação de bibliotecas adicionais, importar gpio, GPIO e 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 respectivos pinos.

Konfigurirajte da SPI napravi senzor za osvjetljenje za ulaz u ADC2.

2) def readLDR (gpio)

Realizacija 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 na 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 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 hrabrosti za promjenu statusa i gumb Cloud

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

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

enviando as informações de estado do rele, 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 post para allowir o acionamento ili desacionamento do relé remotamente e um get para verificar na nuvem kao informações do sistema.

Korak 5: Konfigurirajte Učinite web stranicu slatkom

Konfigurirajte slatko web mjesto
Konfigurirajte slatko web mjesto
Konfigurirajte slatko web mjesto
Konfigurirajte slatko web mjesto

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

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

Criar uma {thing} digitando no campo thing: projeto_val

Obs: A thing criada deve ser a mesma presente no program do código fonte python, no caso, projeto_val.

Preencha o campo sadržaj conformeindicado abaixo e em seguida clique em "Try it out!":

{

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

Veja detalhes nas figuras acima.

A verificação dos dados recebidos pelo dweet é feita pelo GET.

Kliknite GET/get/latest/dweets/for/{thing}

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

Kliknite "Isprobajte!"

Em Response Body em "sadržaj" teremos a informação recebida:

{

"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 página para outra em um site dinâmico.

Isto feito e com o programu em python rodando na placa dragon board, é possível alterar o estado do "rele" remotamente alterando seus valores de "0" para "1" ou "1" para "0" através página POST do dweet e clicando em "Isprobajte". Na stranici DOBIJITE Dweet são vizualizacije kao informacije atualizadas do "rele", "Luminosidade" i "Luz" clicando ili "Try it out".

Korak 6: APLICATIVO - Instação Do Ionic

O aplicativo foi desenvolvido em uma plataforma híbrida utilizando o jonski okvir.

Antes de desenvolver o aplikaciji za pametni telefon, è precizna instalacija ili ionski no computador pessoal. Os passos para a instalação e verificação se a mesma foi bem-sucedida é mostrado abaixo:

  • Ne unosite web stranice: https://nodejs.org/en/ e faça o preuzimanju da biste ažurirali LTS do Node
  • Instalirajte o čvor na računalu
  • Envie os comandos do prompt de comandos (cmd) para verificar se instalação foi feita com sucesso:

čvor -v

npm -v

Instalirajte o ionski com os comandos abaixo através do prompt de comandos (cmd):

npm install –g cordova ionic

npm install –g cordova

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

ionski -v

Korak 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 as informações que ocorrem na dragon board.

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

ionic start smart_home_valerio_M6 prazan (koristite o nome do projeto)

Em seguida através da IDE Visual Studio Code for foi aberta a paste contendo o aplicativo em branco (smart_home_valerio_M6) e foram alterados os seguintes arquivos:

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

No home.html e home.ts - foram alterações conforme needidade do projeto para comunicar -se de forma adequada com o dweet.io

Nema app.modules.ts - izmjene za dozvolu komunikacije

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

ionic generirati dweet

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

  • com a criação de um método para buscar dok informações to dweet. (dobiti)
  • 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 provedor

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

Agora para abrir o aplikaciji basta digitar no mesmo prompt do Visual Studio Code o comando para abrir o aplikaciji:

ionski servis

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 dos sensores e atuadores.

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

Preporučeni: