Taula de continguts:

Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Steps
Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Steps

Vídeo: Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Steps

Vídeo: Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Steps
Vídeo: smart home dashboard: open source project // EP 1 2024, Juny
Anonim
Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação
Projecte SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação

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

Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
  • · 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

CONEXÕES
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

PROGRAMA - Código Fonte Principal E Dweet
PROGRAMA - Código 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

Configuració del lloc Dweet
Configuració del lloc Dweet
Configuració del lloc Dweet
Configuració del 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ó

APLICATIU - Desenvolupament i Operació
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: