Sommario:
- Passaggio 1: Lista Dos Materiais
- Passaggio 2: CONEXÕES
- Fase 3: PROGRAMMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
- Fase 4: PROGRAMMA - Código Fonte Principal E Dweet
- Passaggio 5: configurazione del sito Dweet
- Fase 6: APLICATIVO - Instação Do Ionic
- Fase 7: APLICATIVO - Desenvolvimento E Operação
Video: Projeto SmartHome - Repository De Alimento Para Pet + Controle De Iluminação: 7 Steps
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo tutorial presenta una soluzione SmartHome semplici che consentono di riposizionare automaticamente l'alimento per l'animais de estimação (pet) e il controllo automatico dell'illuminazione evitando, per motivi di viaggio, gli inconvenienti di incomodo, visioni per l'alimentazione e l'alimentazione di animali da compagnia, gas pet ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem.
O progetto utiliza o hardware Dragonboard 410C con versione linux linaro instalada e um kit Linker Mezzanine
(placa, sensore di luminosità, LED, relé e botão). O il sistema può avere una capacità di comunicazione con il server cloud, inserire caso o Dweet.io, e assim, possibilità di comunicare tra o equipaggiare localmente e un'applicazione di desenvolvido con Ionic, che realiza o controlla e notifica la soluzione Smart Home, permette di visualizzare e controllare lo stato del sistema remotamente.
Segue na figura anexa o diagrama em blocos da solução.
Os sensori e attuatori deste projeto serão capazes de:
a) Leggi come informações de luminosidade de um ambiente através do sensor de luminosidade (LDR) e controlar automaticamente o acionamento de uma lâmpada (led) dependendo do nível de 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 allowa a reposição de alimento para o pet.
Passaggio 1: Lista Dos Materiais
- · Dragonboard 410C
- 1 x linker mezzanino
- 1 x modulo LED
- · 1 x modulo Relé
- · 1 x sensore di luminosità (LDR)
- · 1 x botão de pressão
- 1 x cavo USB
- · 1 x più USB
- · 1 x monitor HDMI
- · Conexão com a internet
Passaggio 2: CONEXÕES
Collegare il sensore di luminosità all'ingresso analogico ADC2;
Leitura da luminosidade (em Lumi) externa.
· Connettore o LED con connessione digitale D1;
Esta saída será utilizada para simular a luz para iluminação
Conectar o Relé na saída digital D2;
Esteso Relé risponderà all'azione o dispositivo di deposito dell'alimento.
Collegamento o Botão na saída digitale D3;
Este Botão será responsável pela mudança de estado do relé.
Fase 3: PROGRAMMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
Un linguaggio di programmazione utilizzato per Python.
O próximo passo é a instalação do python, das bibliotecas adicionais, protocolo SPI e definição de pinos na Dragonboard, conforme as seguintes instruções:
Inizialmente abra o terminal ed esegui;
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
Editore di testo
- 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 reboot
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 reboot
96Schede
git clone
· Antes de instalar essa biblioteca è necessario verificare se una sua versione è compatibile con una versione da LIBSOC previamente instalada. No arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf procure pela string LS_SHARE e substitua por LS_GPIO_SHARED;
- Após prossiga com a instalação:
- cd 96SchedeGPIO/
- sudo./autogen.sh
- sudo./configure
- sudo make
- sudo make install
- sudo ldconfig
SPIDEV
- Per accedere anche ai sensori analogici è utilizzato il protocollo SPI. A instalação da biblioteca è spiegato a seguire:
- git clone
- cd py-spidev
- sudo python setup.py install
- sudo ldconfig
- sudo reboot
- Se non è necessario incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf a seguito della definizione GPIO-CS = 18 e GPIO-12 = 18.
Para que as funções POST e GET funcionem com o site dweet.io é necessário instalar a biblioteca “requests”. O procedimento è mostrato abaixo:
sudo pip install richieste
Fase 4: PROGRAMMA - Código Fonte Principal E Dweet
Il codice fonte principale in python è il nome come smartHome_valerio_M6.py. O codice 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 o programa.
Para executar o dweet use o seguinte comando: sudo/home/linaro/…/dweet.py
Para executar o programa fonte principal use o seguente comando: sudo python /home/linaro/…/ smartHome_valerio_M6.py
O funcionamento do software basicamente consiste
1) Importação de bibliotecas adicionais, importar gpio, GPIO e Dweet de bibliotecas adicionais.
Identificazione dei sensori e degli attuatori sulle porte per i collegamenti, come è possibile, definire una funzione in/out dei rispettivi pini.
Configurazione della temperatura di SPI del sensore di luminosità per l'ingresso ADC2.
2) def readLDR(gpio)
Realiza a leitura do sensor de luminosidade e o valor de leitura é apresentado na tela come " 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 stado do botão é colocado na variável button_value ed é presentato na tela come "Botao:x", onde x é o valor do stado. Ainda são mostrados na tela o valor da variável status e Cloud button
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 as informações de estado do rele, a leitura do sensor de sensibilidade e se Luz está acesa ou apagada.
Seguem anexo o codice fonte principal smartHome_valerio_M6.py e o codice fonte dweet.py
Per ulteriori informazioni, non è possibile creare un sito dweet.io: inviare un messaggio per consentire o acionamento o un collegamento remoto e ottenere informazioni sul sistema per verificare che non siano disponibili informazioni.
Passaggio 5: configurazione del sito Dweet
O próximo passo é acessar o serviço da nuvem.
Abrir no seu navegador o site Dweet.io clicar na aba "Play" e seguito da clicar em POST(/dweet/for/{thing})
Criar uma {cosa} digitando no campo cosa: projeto_val
Obs: A thing criada deve ser a mesma presente no programa do código fonte python, no caso, projeto_val.
Preencha o campo content conformeindicado abaixo e em seguida clique em "Try it out!":
{
“relativo”: 0, “Luminosidade”:550, “Luca”: 0, }
Veja detalhes nas figuras acima.
Una verifica dos dados recebidos pelo dweet é feita pelo GET.
Clicca su GET /get/latest/dweets/for/{thing}
Digite no campo thing: projeto_val (obs: mesma {thing} criada no POST).
Clique em "Provalo!"
Em Response Body em "content" teremos a informação recebida:
{
“relativo”: 0, “Luminosidade”:550, “Luca”: 0, }
Veja detalhes nas figuras acima.
O exposto acima trata-se dos métodos "post" e "get", rispettivamente, 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 facendo clic su "Provalo". In una pagina GET do dweet são visualizadas as informações atualizadas do "rele", "Luminosidade" e "Luz" facendo clic su "Try it out".
Fase 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. Os passi per un'installazione e verifica se a mesma foi bem-successida é mostratodo abaixo:
- Entra nel sito: https://nodejs.org/en/ e scarica la versione più recente di LTS do Node
- Instale o Node no seu computador pessoal
- Envie os comandis do prompt de comandis (cmd) para verificar se a instalação foi feita com sucesso:
nodo -v
npm -v
Installa o Ionic com os comandi abaixo através do prompt de comandi (cmd):
npm install –g cordova ionic
npm install –g cordova
Verifique se o Ionic foi instalado com sucesso usando o comando abaixo:
ionico -v
Fase 7: 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 vuoto (usa o nome do projeto)
Seguendo il codice IDE Visual Studio per la differenza tra la pasta o l'applicativo e il branco (smart_home_valerio_M6) e le modifiche apportate ai seguenti elementi:
- home.html (src/pages/home) parte visuale applicativo
- home.ts (src/pages/home) realiza as funções do código e alterações das propriedades da tela
- app.module.ts (src/app)
No home.html e home.ts - foram alterações conforme necessidade do projeto para comunicar-se de forma adequada com o dweet.io
No 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 prompt no próprio Visual Studio aberto e digitando:
ionico genera provider dweet
Uma vez criado 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. (ottenere)
- 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 proveor
Finalizadas alterações o aplicativo smart_home_valerio_M6 está pronto e segue em anexo completo com todos os arquivos.
Agora para abrir o aplicativo basta digitar no mesmo prompt do Visual Studio Code o comando para abrir o aplicativo:
servizio ionico
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 sensors e attuadores.
- Pet Alimentação - Muda stado do relé, che azione o dispositivo di alimentazione del pet.
- Luminosidade - Mostra o valor de luminosidade.
- Luz - informa se a luz está apagada ou acesa.
Consigliato:
Controle De Gás E Poeira Com O NodeMCU: 5 passaggi
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 compartilhar estes dados nas nuvens e em seu celular, incluindo disparar um e-mail de alerta caso os valores lidi sejam considerados altos
Sistema Pendulo + Hélice: Controle De Posição: 5 Steps
Sistema Pendulo + 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