Kazalo:
- 1. korak: Lista Dos Materiais
- 2. korak: NEDAKOSTI
- 3. korak: PROGRAM - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
- 4. korak: PROGRAM - ravnatelj Código Fonte E Dweet
- 5. korak: Konfigurirajte spletno mesto Dweet
- 6. korak: APLICATIVO - Instação Do Ionic
- 7. korak: APLICATIVO - Desenvolvimento E Operação
Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Este tutorial apresenta uma solução SmartHome simples que permite a reposição automática de alimento para animais de assessmentção (pet) e controle automático de iluminação evitando, por motivos de viagem, os incovenientes de incomodar vizinhos para acender luzincen parcelo acecent lucin pet ou não ter com quem deixá-lo, e muitas vezes até o Cancelamento da viagem.
O uporabi programske opreme ali strojni opremi Dragonboard 410C z različico linux linaro, nameščeno in kompletom Linker Mezzanine
(placa, senzor luminosidade, LED, relé e botão). O sistemu possui a kapacidade de se comunicar com um servidor cloud, neste caso o Dweet.io, e assim, possible by comunicação entre o equipamento local e um aplicativo desenvolvido com Ionic, que realization o controle e notificações da solução Smart Home, allowindo visua Nadzor nad stanjem sistema na daljavo.
Segue na figura anexa o diagrama em blocos da solução.
Os sensores e atuadores deste projeto serão capazes de:
a) Kot informacijo o luminosidade de um ambiente através do sensor de luminosidade (LDR) in krmilnem avtomatikatu o akciji de uma lâmpada (led), odvisno od nivel 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.
1. korak: Lista Dos Materiais
- · Dragonboard 410C
- 1 x medetažni povezovalnik
- 1 x LED lučka
- · 1 x módulo Relé
- · 1 x svetlobni senzor (LDR)
- · 1 x botão de pressão
- 1x teclado USB
- · 1x moze USB
- · 1 x monitor HDMI
- · Conexão com internet
2. korak: NEDAKOSTI
Priključek za senzor luminosidade na vhodni analitični ADC2;
Leitura da luminosidade (em Lumi) zunanja.
· Priključek ali LED na digitalni 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é.
3. korak: PROGRAM - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
Jezik programa, ki uporablja Python.
O próximo passo é a instalação do python, das bibliotecas adicionais, protocolo SPI in definicijo de pinos na Dragonboard, skladno kot seguintes instruções:
Inicialmente abra o terminal e execute;
- sudo apt-get posodobitev
- sudo apt-get nadgradnja
- sudo apt-get dist-upgrade
Urednik besedila
- sudo apt-get install gedit
- sudo apt-get install python-pip
Biblioteca adicionais
- sudo apt-get install build-bistven autoconf automake libtool-bin pkg-config python-dev
- sudo ponovni zagon
LIBSOC
- git clone
- cd libsoc sudo autoreconf -i sudo./configure --enable-python = 2 --enableboard = dragonboard410c --with-board-configs
- sudo make
- sudo make install
- sudo ldconfig/usr/local/lib
- sudo ponovni zagon
96 deske
git clone
· Antes de instalar essa biblioteca é needário verificar se sua versão é compatível com a versão da LIBSOC previamente instalada. No arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf nabavi niz LL_SHARE in ga nadomesti LS_GPIO_SHARED;
- Após prossiga com a instalação:
- cd 96 ploščeGPIO/
- sudo./autogen.sh
- sudo./configure
- sudo make
- sudo naredi namestitev
- sudo ldconfig
ŠPIDEV
- Para acesso aos sensores analógico é utilizado or protocolo SPI. Instalação da biblioteca é explicada a seguir:
- git clone
- cd py-spidev
- sudo python setup.py install
- sudo ldconfig
- sudo ponovni zagon
- Será neophodário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf a seguinte defineção GPIO-CS = 18 e GPIO-12 = 18.
Para que as funções POST e GET funcionem com na spletnem mestu dweet.io é needário instalar a biblioteca "requests". O postopku in večini abaixo:
zahteve za namestitev sudo pip
4. korak: PROGRAM - ravnatelj Código Fonte 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 testa executar o programu.
Za izvedbo ali uporabo dweet uporabite seguinte comando: sudo/home/linaro/…/dweet.py
Za izvedbo programa ali fonte principal uporabite naslednjo komando: sudo python/home/linaro/…/smartHome_valerio_M6.py
O funkcionalnosti, ki temelji na programski opremi
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 leitura za SPI za senzor luminosidade za vhod ADC2.
2) def readLDR (gpio)
Izvedite 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 za 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 (simulacija 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. Vnaprej morate prikazati stanje ali spremeniti stanje gumba v oblaku
Comunicação com a nuvem é feita através do comando:
dweet.dweet_by_name (name = "projeto_val", data = {"rele": 0, "Luminosidade": vrednost, "Luz": luz_status})
enviando as informações de estado do rele, leitura do sensor de sensibilidade e se Luz está acesa ali 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 ali desacionamento do relé remotamente e um get para verificar na nuvem as informações to system.
5. korak: Konfigurirajte spletno mesto Dweet
O próximo passo é acessar o serviço da nuvem.
Abrir no seu navegador na spletnem mestu Dweet.io kliknite na "Play" in 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 vsebina conformeindicado abaixo e em seguida clique em "Poskusite!":
{
»Rele«: 0, "Luminosidade": 550, "Luz": 0, }
Veja podrobhes nas figuras acima.
A verificação dos dados recebidos pelo dweet é feita pelo GET.
Clicar em GET/get/latest/dweets/for/{thing}
Digite no campo thing: projeto_val (obs: mesma {thing} criada no POST).
Klikni "Poskusi!"
Em Response Body em "content" teremos a informação recebida:
{
»Rele«: 0, "Luminosidade": 550, "Luz": 0, }
Veja podrobhes 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" ali "1" para "0" através página POST do dweet e clicando em "Poskusi". Na strani POJDITE dweet são vizualizadas kot informacije atualizadas do "rele", "Luminosidade" in "Luz" clicando em "Try it out".
6. korak: APLICATIVO - Instação Do Ionic
O aplicativo foi desenvolvido em uma plataforma híbrida utilizando o Ionic framework.
Predhodni desenvolver o aplikaciji za pametni telefon, natančno nameščen ali ionski brez računalniškega pesoala. Os passos para a instalação e verificação se a mesma foi bem-sucedida é mostrado abaixo:
- Ne vnesite spletnega mesta: https://nodejs.org/en/ e faça o prenosu, če želite prenesti LTS do Node
- Namestite ali Node no seu computador pessoal
- Envie os comandos do prompt de comandos (cmd) para verificar se a instalação foi feita com sucesso:
vozlišče -v
npm -v
Namesti o Ionic 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
7. korak: 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 prazen (uporabite o nome do projeto)
Priporočljivo je, da IDE Visual Studio Code dodaja testeninam za aplikacijo em branco (smart_home_valerio_M6) ali pa jih spreminja:
- home.html (src/pages/home) parte visual do aplicativo
- home.ts (src/pages/home) uresničuje kot 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
Ni app.modules.ts - spreminjanje dovoljenja za komunikacijo
Em sguida foi neophodário criar um arquivo para a comunicação com o dweet. Abrindo um prompt no próprio Visual Studio ali digitalno:
ionic generira dweet ponudnika
Uma vez criado esse arquivo, que facilita 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, kot to počnejo informacije. (dobite)
- 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 to 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 - informa se a luz está apagada ou acesa.
Priporočena:
Controle De Gás E Poeira Com O NodeMCU: 5 korakov
Controle De Gás E Poeira Com O NodeMCU: Este foi um trabalho para medir n í veis de poeira e g á s num dado ambiente, e compatilhar estes dados nas nuvens e em seu celular, vključno z disparar um e-mail de alertta caso os valores lidos sejam obzirrados altos
Sistema Pêndulo + Hélice: Controle De Posição: 5 korakov
Sistema Pêndulo + Hélice: Controle De Posição: Este Experimento foi desenvolvido como trabalho prático da disciplina " Eletrônica Industrial " no primeiro semestre de 2018, pelos alunos Eduardo Coelho e Rodrigo Sousa, do curso de engenharia Aeroespacial na Universidade Federal de Minas G