Inhaltsverzeichnis:
- Schritt 1: Lista Dos Materiais
- Schritt 2: KONEXÕES
- Schritt 3: PROGRAMM - Installation von Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
- Schritt 4: PROGRAMM - Código Fonte Principal E Dweet
- Schritt 5: Konfigurieren Sie Site Dweet
- Schritt 6: APLICATIVO - Instação Do Ionic
- Schritt 7: APLICATIVO - Desenvolvimento E Operação
Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:20
Este Tutorial apresenta uma solução SmartHome Simples que Allowe a Repository automática de alimento para animais de estimação (pet) e controle automático de iluminação evitando, por motivos de viagem, os incovenientes de incomodar de viender luarso ac pet ou não ter com quem deixá-lo, e muitas vezes até oder cancelamento da viagem.
O projeto utiliza o Hardware Dragonboard 410C com Versão linux linaro instalada e um kit Linker Mezzanine
(Placa, Sensor de Luminosidade, LED, Relé e Botão). O sistema possui a capacidade de se comunicar com um servidor cloud, neste caso o Dweet.io, e assim, possibilitar a comunicação entre o equimento local e um aplicativo desenvolvido com Ionic, que realiza o control e démificação visualis e controlar o status do sistema remotamente.
Segue na figura anexa oder diagrama em blocos da solução.
Os sensores e atuadores deste projeto serão capazes de:
a) Informieren Sie sich über die Informationen über die Umgebungslichtbeleuchtung (LDR) und die automatische Steuerung oder die Lichtsteuerung (led) in Abhängigkeit von den nível de luminosidade programados.
b) Eine 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.
Schritt 1: Lista Dos Materiais
- · Dragonboard 410C
- 1 x Linker-Zwischengeschoss
- 1 x Modul-LED
- · 1 x Modulo Relé
- · 1 x Lichtsensor (LDR)
- · 1 x Botão de Pressão
- 1 x teclado-USB
- · 1 x mose-USB
- · 1 x Monitor HDMI
- · Conexão com ein Internet
Schritt 2: KONEXÕES
Anschluss oder Lichtsensor für die Analyse ADC2;
Leitura da luminosidade (em Lumi) externa.
· Anschluss oder LED auf digitalem D1;
Esta saída será utilizada para simular a luz para iluminação
Conectar oder 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ída digital D3;
Este Botão será responsável pela mudança de estado do relé.
Schritt 3: PROGRAMM - Installation von Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
Eine Programmiersprache für Python.
O próximo passo é a instalação do python, das bibliotecas adicionais, protocolo SPI und definição de pinos na Dragonboard, conforme as seguintes instruções:
Inicialmente abra o terminal e ausführen;
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
Textredakteur
- 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 neu starten
LIBSOC
- git-Klon
- cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
- sudo machen
- sudo machen installieren
- sudo ldconfig /usr/local/lib
- sudo neu starten
96Boards
git-Klon
· Installationsvoraussetzungen sind eine Biblioteca und eine erforderliche Überprüfung auf einer sua Versão é Compatível com a Versão da LIBSOC Previamente Instalada. Keine Datei /home/linaro/96boardsGPIO/Archive/lib/gpio.conf beschaffen Pela-String LS_SHARE und ersetzen für LS_GPIO_SHARED;
- Após prossiga com a instalação:
- cd 96BoardsGPIO/
- sudo./autogen.sh
- sudo./configure
- sudo machen
- sudo machen installieren
- sudo ldconfig
SPIDEV
- Para acesso aos sensores analógico é utilizado or protocolo SPI. A instalação da biblioteca é explicada a seguir:
- git-Klon
- cd py-spidev
- sudo python setup.py installieren
- sudo ldconfig
- sudo neu starten
- Será necessário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf eine weitere Definition GPIO-CS = 18 und GPIO-12 = 18.
Para que as funções POST and GET funcionem com o site dweet.io é notinstalar a biblioteca „requests“. O procedimento é mostrado abaixo:
sudo pip Installationsanfragen
Schritt 4: PROGRAMM - Código Fonte Principal 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 necessárias para acesso ao portal dweet (nuvem). Os dois arquivos devem estar na mesma Pasta Executar oder Programa.
Para executar o dweet use o seguinte comando: sudo/home/linaro/…/dweet.py
Para executar o programa fonte Principal verwenden o seguinte comando: sudo python /home/linaro/…/ smartHome_valerio_M6.py
O funcionamento do software basicamenteconsiste
1) Importação de bibliotecas adicionais, importar gpio, GPIO und 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 respektivos pinos.
Konfiguration der Leitura des SPI für den Lichtsensor für den Eingang 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) 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 natel.a "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 dis relé aci.ona, 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 valor da variável status e Cloud-Taste
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 als informações de estado do rele, a 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 posten für genehmigen oder acionamento ou desacionamento do relé remotamente e um para verificar na nuvem als informações do sistema zu erhalten.
Schritt 5: Konfigurieren Sie 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 {thing} digitando no campo thing: projeto_val
Obs: Ein Ding criada deve ser a mesma presente no programa do código fonte python, no caso, projeto_val.
Preencha o campo content konformeindicado abaixo e em seguida clique em "Probiere es aus!":
{
„rele“:0, „Luminosidade“:550, „Luz“:0, }
Veja detalhes nas figuras acima.
Eine Verificação dos dados recebidos pelo dweet é feita pelo GET.
Klicken Sie auf GET /get/latest/dweets/for/{thing}
Digit no campo thing: projeto_val (obs: mesma {thing} criada no POST).
Clique em "Probieren Sie es aus!"
Em Response Body em "content" enthält eine informação recebida:
{
„rele“:0, „Luminosidade“:550, „Luz“:0, }
Veja detalhes nas figuras acima.
O exposto acima trata-se dos metodos "post" e "get", respektivamente, 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 clicando em "Probieren Sie es aus". Auf der Seite GET können Sie die Informationen wie "rele", "Luminosidade" und "Luz" als "Try it out" visualisieren.
Schritt 6: APLICATIVO - Instação Do Ionic
O aplicativo foi desenvolvido em uma plataforma híbrida utilizando o ionisches Gerüst.
Antes de desenvolver o aplicativo para o smartphone, é preciso instalar o Ionic no computador pessoal. Os passos para a instalação e verificação se a mesma foi bem-sucedida é mostrado abaixo:
- Geben Sie keine Website ein: https://nodejs.org/en/ e faça o download da versão mais neuesten LTS do Node
- Instale o Node no seu computador pessoal
- Envie os comandos do prompt de comandos (cmd) para verificar se a instalação foi feita com sucesso:
Knoten -v
npm -v
Instale o Ionic com os comandos abaixo através do prompt de comandos (cmd):
npm install –g cordova ionisch
npm install –g Cordova
Verifique se o Ionic foi instalado com sucesso usando o comando abaixo:
ionisch -v
Schritt 7: APLICATIVO - Desenvolvimento E Operação
Apresentamos oder desenvolvimento do aplicativo com o Framework Ionic, que irá se comunicar com o dweet.io und assim, também, ler e alterar als informações que ocorrem na Dragon Board.
Primeiramente foi criado um aplicativo em branco digitando oder seguinte comando no prompt do windows (cmd):
ionic start smart_home_valerio_M6 blank (benutze o nome do projeto)
Em seguida através da IDE Visual Studio Code für aber einen Pasta Contendo oder aplicativo em branco (smart_home_valerio_M6) und foram alterados os seguintes arquivos:
- home.html (src/pages/home) parte visual do aplicativo
- home.ts (src/pages/home) realiza as funções do código e alterações das proprietades da tela
- app.module.ts (src/app)
No home.html und home.ts - foram alterações konforme necessidade do projeto para comunicar-se de forma adequada com o dweet.io
Keine 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 Aufforderung kein eigenes Visual Studio aberto e digitando:
ionisch generieren Anbieter dweet
Uma vez criado esse arquivo, que facilita a comunicação via post e via get do aplicativo, oder código dweet.ts foi alterado:
- com a criação de um método para buscar als informações do dweet. (werden)
- 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 proofor
Finalizadas alterações o aplicativo smart_home_valerio_M6 ist pronto und segue em anexo completo com todos os arquivos.
Agora para abrir oder aplicativo basta digitar no mesmo prompt do Visual Studio Code oder comando para abrir oder aplicativo:
ionischer Aufschlag
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 dos status dos sensores.
- Haustierfutter - Muda estado do relé, que aciona oder dispositivo de alimentação do pet.
- Luminosidade - Mostra o valor de luminosidade.
- Luz - informa se a luz está apagada ou acesa.