Taula de continguts:
- Pas 1: Llista Dos Materials
- Pas 2: CONEXÕES
- Step 3: PROGRAMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
- Pas 4: PROGRAMA - Codi Fonte Principal E Dweet
- Pas 5: Configureu el lloc Dweet
- Pas 6: APLICATIVO - Instação Do Ionic
- Pas 7: APLICATIU - Desenvolupament i Operació
Vídeo: Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Steps
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Aquest tutorial presenta una solució intel·ligent SmartHome que permet una reposició automàtica d’aliment per a animals de estimació (pet) i control automàtic d’il·luminació evitant, per motius de viagem, els incovenients d’incomodar visinhos per a accedir a llums i alimentar o pet, gastos com hotelzinho de pet ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem.
Utilitzeu el projecte o el maquinari Dragonboard 410C amb la versió linux linux instal·lada i el kit Linker Mezzanine
(placa, sensor de luminosidade, LED, relé e botão). O sistema possui a capacitat de se comunicar com a servidor cloud, en este caso o Dweet.io, e assim, possibilitar a comunicação entre o equipamento local e um aplicativo desenvolvido com Ionic, que realitza o controla i notificações da solució Smart Home, permetent visualitzar i control o estat del sistema remotament.
Segue na figura anexa o diagrama em blocos da solució.
Os sensores e atuadores d'aquest projecte poden ser capaços de:
a) Ler as informações de luminosidade de um ambiente através do sensor de luminosidade (LDR) e controlar automàticament o acionament de la seva impressió (led) depenent del nivell de lluminositat programat.
b) A reposició d’aliment es realitza quan o pet pressiona uma base col·locada sobre un botó, que al seu pressionat muda o estat de um relé. A mudança de estado do relé libera um dispoitivo que permita a reposición de alimento para o pet.
Pas 1: Llista Dos Materials
- · Dragonboard 410C
- 1 x Linker Mezzanine
- 1 x mòdul LED
- · 1 x mòdul Relé
- · 1 x sensor de lluminositat (LDR)
- · 1 botó de premsa
- 1 x teclat USB
- · 1 x mose USB
- · 1 monitor HDMI
- · Connexió a Internet
Pas 2: CONEXÕES
Conectar o sensor de lluminositat na entrada analògica ADC2;
Leitura da luminosidade (em Lumi) externa.
· Conectar o LED na saída digital D1;
Aquesta saída serà utilitzada per a una llum similar a la il·luminació
Conectar o Relé na saída digital D2;
Aquest Relé serà responsable per accionar o dispositiu de reposició d'aliments.
Conectar o Botão na saída digital D3;
Aquest botó serà responsable de la mudança d’estat del relé.
Step 3: PROGRAMA - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard
A linguagem de programação usedada foi o Python.
El proper pas és una instal·lació de Python, que inclou biblioteques addicionals, protocol SPI i definició de pinos a Dragonboard, conforme als següents instruments:
Inicialment abra o terminal e execute;
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get dist-upgrade
Editor de text
- 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 reiniciar
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 reiniciar
96 Taulers
git clone
· Antes d’instal·lar aquesta biblioteca és necessària per verificar que la seva versió sigui compatible amb la versió de LIBSOC prèviament instal·lada. No arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf procure pela string LS_SHARE e substituït per LS_GPIO_SHARED;
- Após prossiga com a instal·lació:
- cd 96 Taulers GPIO /
- sudo./autogen.sh
- sudo./configure
- sudo make
- sudo make install
- sudo ldconfig
SPIDEV
- Per accedir als sensors analògics, s’utilitza el protocol SPI. Una instal·lació de la biblioteca està explicada a seguir:
- git clone
- cd py-spidev
- sudo python setup.py install
- sudo ldconfig
- sudo reiniciar
- Serà necessari incloure cap arxiu sud gedit /usr/local/etc/libsoc.conf a la següent definició GPIO-CS = 18 e GPIO-12 = 18.
Per a què funcions POST e GET funcionen amb el lloc perquè hem de instal·lar una biblioteca “requests”. O procediment és mostrat abaixo:
sol·licituds d'instal·lació de sudo pip
Pas 4: PROGRAMA - Codi Fonte Principal E Dweet
O codi font principal em python està nomenat com smartHome_valerio_M6.py. O codi fonte dweet.py contém as funções necessárias for acesso ao portal dweet (nuvem). Os dois arquivos devem estar na mesma pasta executar o programa.
Per executar o utilitzar el següent comandament: sudo / home / linaro / … / dweet.py
Per executar el programa principal utilitzeu el següent comandament: sudo python / home / linaro / … / smartHome_valerio_M6.py
El funcionament del programari consisteix bàsicament
1) Importació de biblioteques addicionals, importació de gpio, GPIO i Dweet de biblioteques addicionals.
Identificació dos sensors e atuadores nas portas onde são conectados, bem com, definir a função in / out dos respectivos pinos.
Configuração da leitura de SPI do sensor de luminosidade per a entrada ADC2.
2) def readLDR (gpio)
Realiza a leitura do sensor de luminosidade e o valor de leitura é presentado en tela como "Valor do LDR: xxx"
3) if_name _ == '_ main_':
Na primera part o valor de lluminositat és comparat amb un valor de referència (en aquest cas 500), quan o nível de lluminositat for menor que a referència (500) a llum do ambient se acende (módulo Led) e é presentado en tela a mensagem "Luz: acesa". Quando o nível de luminosidade for maior que o definido a luz se apaga (módulo led) sendo presentado a mensagem "Luz: apagada".
Numa segona part per accionar o botó de premsa (simula pet pressió o botó subindo em uma base col·locada sobre ser botó), o relé mudarà d’estat de lligat per a desligat o de desligat per lligat, i és de mudança d’estat do relé aciona amb dispositiu, que permet un repòs d'aliment.
O valor do estado do botão é colocado na variável button_value e é presentada na tela com "Botao: x", onde x é o valor do estado. Ainda são mostrats en tela o valor per variàvel status and Cloud button
A comunicação com a nuvem is feita através do command:
dweet.dweet_by_name (name = "projeto_val", data = {"rele": 0, "Luminosidade": valor, "Luz": luz_status})
enviant as informações de estado do rele, a leitura do sensor de sensibilidade e se Luz está acesa ou apagada.
Seguiment anexo o código fonte principal smartHome_valerio_M6.py e o codigo fonte dweet.py
El proper pas és criar no site dweet.io: um post for allowir o acionamento o desacionamento do relé remotamente e um get for verificar na nuvem as informationções do sistema.
Pas 5: Configureu el lloc Dweet
El proper pas és accedir o servir-se de nou.
Obrir el vostre navegador o lloc Dweet.io fer clic a "Play" i seguir clicar a POST (/ dweet / for / {thing})
Criar uma {thing} digitando no campo thing: projeto_val
Obs: A thing criada deve ser a same present no programa do code fonte python, no case, projeto_val.
Preencha o field content conformindicado abaixo e seguido clique em "Try it out!":
{
"Rele": 0, "Lluminositat": 550, "Luz": 0, }
Veja detalhes nas figuras acima.
Una verificació dos dados recebidos pelo dweet és feita pelo GET.
Feu clic a GET / get / latest / dweets / for / {thing}
Digite no campo thing: projeto_val (obs: mesma {thing} criada no POST).
Feu clic a "Prova-ho!"
El cos de resposta al contingut "conté" una informació recebida:
{
"Rele": 0, "Lluminositat": 550, "Luz": 0, }
Veja detalhes nas figuras acima.
O exposto acima tracta-se dos métodos "post" e "get", respectivament, s'utilitzen per passar valors d'uma pàgina per a una altra em un lloc dinàmic.
Això fet i com o programa em python rodant na placa dragon board, é possible 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 fent clic a "Prova-ho". A la pàgina GET do dweet são visualizadas as information atualizadas do "rele", "Luminosidade" i "Luz" clicando em "Try it out".
Pas 6: APLICATIVO - Instação Do Ionic
O aplicatiu es va desenvolupar en una plataforma híbrida utilitzant o Ionic framework.
Antes de desenvolupar o aplicatiu per a un telèfon intel·ligent, és precís instal·lar o Ionic no computador pessonal. Els passos per a una instal·lació i verificació es van fer a la mateixa vegada que es va emportar abaixo:
- Entre no site: https://nodejs.org/en/ e faça o download from versão mais recent LTS do Node
- Instale o Node no seu computador pessoal
- Envie os comandos do prompt de comandos (cmd) per verificar si una instal·lació va ser feita amb èxit:
node -v
npm -v
Instale o Ionic com os comandos abaixo através do prompt de comandos (cmd):
npm install –g cordova iònic
npm install –g cordova
Verifique se o Ionic foi instal·lat amb èxit utilitzant l'ordre abaixo:
iònic -v
Pas 7: APLICATIU - Desenvolupament i Operació
Presentem o desenvolupem l’aplicatiu com a framework Ionic, que es comunicarà amb o dweet.io e assim, també, ler i alterar as informationções que ocorrem na dragon board.
Primerament es va crear un aplicatiu em blanc digitalitzant o el següent comandament sense indicació de Windows (cmd):
ionic start smart_home_valerio_M6 en blanc (utilitzeu el nom del projecte)
S'ha seguit através de IDE Visual Studio Code que s'ha obert a una pasta continguda o aplicativa em branca (smart_home_valerio_M6) i ha modificat els següents arquius:
- home.html (src / pages / home) parte visual do aplicativo
- home.ts (src / pages / home) es realitza com a funcions del codi i alteracions de les propietats de la tela
- app.module.ts (src / app)
No home.html e home.ts - foram alterações conforme necessity do projectet for comunicar-se de forma adequada com o dweet.io
No hi ha app.modules.ts: modificacions per permetre la comunicació de
Em sguida foi necessário criar um arquivo para a comunicação com o dweet. S'ha sol·licitat cap programa visual Visual Studio obert i digitalitzant:
el proveïdor iònic de generar ha de ser
Uma vez criado esse arquivo, que facilita a comunicar via post e via get do aplicative, o code dweet.ts foi alterado:
- com a criação de um método para buscar as informações do dweet. (aconseguir)
- com a criação de um método para fazer o set das variações (post)
- criação de uma variável = baseURL per definir que està utilitzant o com a proveïdor
Finalitzades alteracions o aplicatiu smart_home_valerio_M6 està aviat i segueix anexant complet amb tots els arquius.
Àgora per obrir un aplicatiu de baix número digital sense haver-hi un sol·licitud de Visual Studio Code o un comandament per obrir o aplicatiu:
servei iònic
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 haurem de, que posteriorment s'acessarà a dragonboard per atualitzar dos estat dos sensors i atuadors.
- Pet Alimentação - Muda estado do relé, que aciona o dispositivo de alimentação do pet.
- Lluminositat - Mostra o valor de lluminositat.
- Luz - informa se a luz está apagada o acesa.
Recomanat:
Controle De Gás E Poeira Com O NodeMCU: 5 Steps
Controle De Gás E Poeira Com O NodeMCU: Este foi um treball per medir n í veis de poeira e g á s num dado ambiente, e compartilhar estes dados nas nuvens e em seu celular, inclòs disparar um e-mail d'alerta caso os valores lidos sejam considerats altos