Spisu treści:
- Krok 1: Lista Dos Materiais
- Krok 2: CONEXÕES
- Krok 3: PROGRAMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
- Krok 4: PROGRAMA - Código Fonte Principal E Dweet
- Krok 5: Konfiguracja Do Site Dweet
- Krok 6: APLICATIVO - Instação Do Ionic
- Krok 7: APLICATIVO - Desenvolvimento E Operação
Wideo: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Este tutorial przedstawia uma rozwiązania SmartHome simples que allowe a reposição 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 vizinhos para acender hotel pet ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem.
O projeto utiliza o sprzęt Dragonboard 410C com versão linux linux instalada e um kit Linker Mezzanine
(plac, czujnik oświetlenia, 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 equipamento local e um aplicativo desenvolvido com Ionic, que realiza o controle e e controlar o status do sistema remotamente.
Przejdź do rysunku anexa lub diagramu w blokach rozwiązania.
Os sensores e atuadores deste projeto serão capazes de:
a) Ler as 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.
Krok 1: Lista Dos Materiais
- · Smocza deska 410C
- 1 x antresola łącznika
- 1 x modułowa dioda LED
- · 1 x moduł Relé
- · 1 x czujnik de luminozyd (LDR)
- · 1 x botão de pressão
- 1 x USB teclado
- · 1 x mosy USB
- · 1 x monitor HDMI
- · Conexão com a internet
Krok 2: CONEXÕES
Conectar o sensor de luminosidade na entrada analógica ADC2;
Leitura da luminosidade (em Lumi) externa.
· Połącz z diodą LED na Saída Digital D1;
Esta saída será utilizada para simular a luz para 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ída digital D3;
Este Botão será responsável pela mudança de estado do relé.
Krok 3: PROGRAMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
A linguagem de programação utilizada foi o Pythonie.
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:
Inicialmente abra o terminal e wykonać;
- aktualizacja sudo apt-get
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
Redaktor tekstu
- sudo apt-get zainstaluj gedit
- sudo apt-get zainstaluj python-pip
Biblioteka dodatkowa
- sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev
- ponowne uruchomienie sudo
LIBSOC
- klon git
- cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
- sudo zrobić
- sudo dokonać instalacji
- sudo ldconfig /usr/local/lib
- ponowne uruchomienie sudo
96Płyty
klon git
· Antes de instalar essa biblioteca é necessário verificar se a sua versão é compatível com a versão da LIBSOC previamente instalada. arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf nie może pobierać ciągu znaków LS_SHARE i zastępować go LS_GPIO_SHARED;
- Após prossiga com a instalação:
- cd 96PłytyGPIO/
- sudo./autogen.sh
- sudo./konfiguruj
- sudo zrobić
- sudo dokonać instalacji
- sudo ldconfig
SPIDEV
- Para acesso aos sensores analógico é utilizado o protocolo SPI. A instalação da biblioteca é explicada a seguir:
- klon git
- cd py-spidev
- sudo python setup.py zainstalować
- sudo ldconfig
- ponowne uruchomienie sudo
- 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 que as funções POST e GET funcionem com o site dweet.io é necessário instalar a biblioteca „requests”. O procedimento é mostrado abaixo:
prośby o instalację sudo pip
Krok 4: PROGRAMA - Código Fonte Principal E Dweet
O código fonte główny em python jest 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 o programa.
Para executar o dweet użyj o seguinte comando: sudo/home/linaro/…/dweet.py
Do wykonania lub programu głównego użyj następującego polecenia: sudo python /home/linaro/…/ smartHome_valerio_M6.py
O funcionamento do oprogramowania basicamente sklade
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 revivos pinos.
Konfiguracja sterowania SPI do czujnika oświetlenia dla wejścia ADC2.
2) def odczytajLDR(gpio)
Realiza a leitura do sensor de luminosidade e o valor de leitura é apresentado on the 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 (modulo Led) e apresentado na tela a mensagem "Luz: acesa".
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 aposicionaado do re essa que allowe a reposição de alimento.
O valor do estado do botão é colocado na variável button_value e é to 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 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 lub codigo fonte główny smartHome_valerio_M6.py i codigo fonte dweet.py
O próximo passo é criar no site dweet.io: um post para allowir o acionamento ou desacionamento do relé remotamente e um get para verificar na nuvem as informações do sistema.
Krok 5: Konfiguracja Do Site Dweet
O próximo passo é acessar o serviço da nuvem.
Abrir no seu navegador o site Dweet.io kliknij na aba "Play" e em seguida clicar em POST(/dweet/for/{thing})
Criar uma {rzecz} digitando no campo rzecz: projeto_val
Obs: Rzecz criada deve ser a mesma presente bez programa do código fonte python, bez caso, projeto_val.
Preencha o campo content conformeindicado abaixo e em seguida clique em „Wypróbuj!”:
{
„rele”:0, „Luminosidada”:550, „Łuż”:0, }
Veja detalhes nas figuras acima.
Verificação dos dados recebidos pelo dweet é feita pelo GET.
Kliknij GET /get/latest/dweets/for/{thing}
Digite no campo thing: projeto_val (obs: mesma {thing} criada no POST).
Kliknij „Wypróbuj!”
Em Response Body em "content" teremos a informação recebida:
{
„rele”:0, „Luminosidada”:550, „Łuż”:0, }
Veja detalhes nas figuras acima.
O exposto acima trata-se dos métodos „post” e „get”, respektuje, 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 "Wypróbuj". Na página GET do dweet são visualizadas as informações atualizadas do "rele", "Luminosidade" e "Luz" clicando em "Wypróbuj".
Krok 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 passos para a instalação e verificação se a mesma foi bem-sucedida é mostrado abaixo:
- Wejdź na stronę: https://nodejs.org/en/ e faça o download da versão mais previouse LTS do Node
- Instaluj o Node no seu computador pessoal
- Envie os comandos do prompt de comandos (cmd) para verificar se a instalação foi feita com sucesso:
węzeł -v
npm -v
Instale o Ionic com os comandos abaixo através do prompt de comandos (cmd):
npm install –g cordova jonowa
npm zainstalować –g cordova
Verifique se o Ionic foi instalado com sucesso usando o comando abaixo:
jonowe -v
Krok 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, le 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 puste (użyj nome do projektu)
Em seguida através z IDE Visual Studio Code, aberta i pasta contendo lub aplicativo w branco (smart_home_valerio_M6) i fora alterados 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 propriedades da tela
- app.module.ts (źródło/aplikacja)
No home.html e home.ts - foram alterações conforme necessidade do projeto para comunicar-se de forma adequada com o dweet.io
Nie app.modules.ts - modificações para allowir 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:
dostawca generowania jonów 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 zrobić dweet. (dostwać)
- com a criação de um método para fazer o set das variações (post)
- criação de uma variável = bazowy adres URL para definir que está usando o dweet como okazyjne
Finalizadas alterações o aplicativo smart_home_valerio_M6 está pronto e segue em anexo completo com todos os arquivos.
Agora para abrir lub aplicativo basta digitar bez mesmo prompt do Visual Studio Code lub komenda para abrir lub aplicativo:
jonowa porcja
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.
- 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 lub acesa.
Zalecana:
Controle De Gás E Poeira Com O NodeMCU: 5 kroków
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 seular, incluindo disparar de alerta um e lidos sejam rozważenie altów
Sistema Pêndulo + Hélice: Controle De Posição: 5 kroków
Sistema Pêndulo + Hélice: Controle De Posição: Este eksperymento foi desenvolvido como trabalho prático da disciplina „Eletrônica Industrial”; nie ma pierwszego semestru w 2018 roku, pelos alunos Eduardo Coelho i Rodrigo Sousa, robiąc kursy lotnicze na Universidade Federal de Minas G