Table des matières:
- Étape 1: Liste des matières premières
- Étape 2: CONNEXES
- Étape 3: PROGRAMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
- Étape 4: PROGRAMA - Código Fonte Principal E Dweet
- Étape 5: Configuração Do Site Dweet
- Étape 6: APLICATIVO - Instação Do Ionic
- Étape 7: APLICATIVO - Desenvolvimento E Operação
Vidéo: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Este tutorial apresenta uma solução SmartHome simples que permite a reposição de alimento para animais de estimação (pet) e controle automático de illuminação evitando, por motivos de viagem, os incovenientes de incomodar vizinhos para acender luzes pet, hotel gasto alimentar pet ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem.
O projeto utiliza o hardware Dragonboard 410C 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 equipamento local e um aplicativo desenvolvido com Ionic, que realiza o controle e notificaçes da solu permitin Smart Home e controlar o status do sistema remotamente.
Segue na figura anexa o diagrama em blocs da solução.
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) Un 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é. Une mudança de estado do relé libera um dispoitivo que permita a reposição de alimento para o pet.
Étape 1: Liste des matières premières
- · Dragonboard 410C
- 1 x mezzanine de liaison
- 1 x module LED
- · 1 x module Relé
- · 1 x capteur de luminosidade (LDR)
- · 1 x botão de pressão
- 1 x clé USB
- · 1 x mose USB
- · 1 x moniteur HDMI
- · Conexão com a internet
Étape 2: CONNEXES
Connecteur ou capteur de luminosité avec l'entrée analogique ADC2;
Leitura da luminosidade (em Lumi) externe.
· Conectar o LED avec numérique D1;
Esta saída será utilizada para simular a luz para illuminação
Conectar o Relé na saida digital D2;
Este Relé será responsável por acionar o dispositivo de reposição de alimento.
Conectar o Botão na saida digital D3;
Este Botão será responsável pela mudança de estado do relé.
Étape 3: PROGRAMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
Un linguagem de programaçã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, conforme as seguintes instruções:
Initialement, ouvrez le terminal et exécutez;
- sudo apt-get mise à jour
- sudo apt-get mise à niveau
- sudo apt-get dist-upgrade
Editeur de texte
- sudo apt-get install gedit
- sudo apt-get installer python-pip
Biblioteca adicionais
- sudo apt-get install build-essential autoconf automake libtool-bin pkg-config python-dev
- redémarrage sudo
LIBSOC
- git clone
- cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
- faire sudo
- sudo faire installer
- sudo ldconfig /usr/local/lib
- redémarrage sudo
96Planches
git clone
· Antes de instalar essa biblioteca é necessário verificar se a sua versão é compatível com a versão da LIBSOC previamente instalada. Non 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 96CartesGPIO/
- sudo./autogen.sh
- sudo./configurer
- faire sudo
- sudo faire installer
- sudo ldconfig
SPIDEV
- Para acesso aos sensores analógico é utilizado o protocolo SPI. A instalação da biblioteca é explicada a seguir:
- git clone
- cd py-spidev
- sudo python setup.py installer
- sudo ldconfig
- redémarrage sudo
- Será necessário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf a seguinte definição GPIO-CS = 18 et 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:
demandes d'installation sudo pip
Étape 4: PROGRAMA - 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 o programa.
Para executar o dweet use o seguinte comando: sudo/home/linaro/…/dweet.py
Par executar o programa fonte principal use o seguinte comando: sudo python /home/linaro/…/ smartHome_valerio_M6.py
O funcionamento do software basicamente consiste
1) Importação de bibliotecas adicionais, importar gpio, GPIO et 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.
Configuration de la lecture de SPI avec le capteur de luminosité pour une entrée ADC2.
2) par défaut 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 na tela a mensagem "Luz: acesa". Quando o nível de luminosidade pour maior que o definido a luz se apaga (modulo 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 ssa mudança de estado do relé aciona um, que permite un 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 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 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 permitir o acionamento ou desacionamento do relé remotamente e um get para verificar na nuvem as informações do sistema.
Étape 5: Configuração Do Site Dweet
O próximo passo é acessar o serviço da nuvem.
Abrir no seu navegador o site Dweet.io cliquez sur "Play" et em seguida cliquez sur POST(/dweet/for/{thing})
Criar uma {chose} digitando no campo chose: 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 "Essayez-le !":
{
« rele »: 0, « Luminosidade »: 550, « Luz »: 0, }
Veja detalhes nas figuras acima.
A verificação dos dados recebidos pelo dweet é feita pelo GET.
Cliquez sur GET /get/latest/dweets/for/{thing}
Digite no campo thing: projeto_val (obs: mesma {thing} criada no POST).
Cliquez sur "Essayez-le !"
Em Response Body em "content" 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", respectivement, 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 "Essayez-le". Na página GET do dweet são visualizadas as informações atualizadas do "rele", "Luminosidade" e "Luz" clicando em "Essayez-le".
Étape 6: APLICATIVO - Instação Do Ionic
O aplicativo foi desenvolvido em uma plataforma híbrida utilizando o cadre ionique.
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:
- Entre aucun site: https://nodejs.org/en/ e faça o download da versão plus recente LTS do Node
- Instale o Node no seu computador pessoal
- Envie de commandes à l'invite de commandes (cmd) pour vérifier si une installation a été effectuée avec succès:
nœud -v
npm -v
Instale o Ionic com os comandos abaixo através do prompt de comandos (cmd):
npm install –g cordova ionique
npm installer –g cordova
Verifique se o Ionic foi instalado com sucesso usando o comando abaixo:
ionique -v
Étape 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 vierge (utiliser o nome do projeto)
Em seguida através da IDE Visual Studio Code pour aberta a pasta concurrento o aplicativo em branco (smart_home_valerio_M6) et 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 propriedades da tela
- app.module.ts (src/app)
Pas de home.html e home.ts - foram alterações conforme necessidade do projeto para comunicar-se de forma adequada com o dweet.io
Aucune 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:
fournisseur de génération ionique 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 comme le font les informateurs. (avoir)
- 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 prouveur
Finalizadas alterações o aplicativo smart_home_valerio_M6 est pronto e segue em anexo completeo com todos os arquivos.
Agora pour ouvrir ou aplicativo basta digitar aucune invite mesmo do Visual Studio Code o commando pour ouvrir ou aplicativo:
service ionique
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.
Conseillé:
Arbre de Noël contrôlé par le site Web (tout le monde peut le contrôler) : 19 étapes (avec photos)
Arbre de Noël contrôlé par un site Web (tout le monde peut le contrôler) : Vous voulez savoir à quoi ressemble un arbre de Noël contrôlé par un site Web ? Voici la vidéo présentant mon projet de mon arbre de Noël. La diffusion en direct est maintenant terminée, mais j'ai fait une vidéo, capturant ce qui se passait : Cette année, au milieu de décembre
Boîtier de contrôle du zoom : 5 étapes (avec photos)
Boîtier de contrôle du zoom : BREAKING NEWS (avril 2021) : j'ai longtemps voulu faire une variante Bluetooth, et j'ai maintenant la technologie ! Suivez-moi si vous voulez en entendre parler lors de sa publication, dans quelques semaines, espérons-le. Il utilisera le même type de boîte et le même bouton
Contrôle de la luminosité Contrôle LED basé sur PWM à l'aide de boutons-poussoirs, Raspberry Pi et Scratch : 8 étapes (avec photos)
Contrôle de la luminosité Contrôle des LED basé sur PWM à l'aide de boutons poussoirs, Raspberry Pi et Scratch : j'essayais de trouver un moyen d'expliquer le fonctionnement du PWM à mes étudiants, alors je me suis fixé pour tâche d'essayer de contrôler la luminosité d'une LED à l'aide de 2 boutons poussoirs - un bouton augmentant la luminosité d'une LED et l'autre la diminuant. Pour programmer
Contrôle WIFI BANDE LED RVB ESP8266 - NODEMCU en tant que télécommande IR pour bande LED contrôlée via Wifi - Contrôle de Smartphone RVB LED STRIP : 4 étapes
Contrôle WIFI BANDE LED RVB ESP8266 | NODEMCU en tant que télécommande IR pour bande LED contrôlée via Wifi | Contrôle par smartphone RVB LED STRIP : Salut les gars, dans ce tutoriel, nous allons apprendre à utiliser nodemcu ou esp8266 comme télécommande IR pour contrôler une bande LED RVB et Nodemcu sera contrôlé par smartphone via wifi. Donc, en gros, vous pouvez contrôler la BANDE LED RVB avec votre smartphone
Comment faire un robot mobile contrôlé - Basé sur DTMF - Sans Microcontrôleur & Programmation - Contrôle depuis n'importe où dans le monde - RoboGeeks : 15 étapes
Comment faire un robot mobile contrôlé | Basé sur DTMF | Sans Microcontrôleur & Programmation | Contrôle depuis n'importe où dans le monde | RoboGeeks : Vous voulez créer un robot qui peut être contrôlé de n'importe où dans le monde, allons-y