Daftar Isi:

Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Langkah
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Langkah

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Langkah

Video: Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação: 7 Langkah
Video: David Godman - 2nd Buddha at the Gas Pump Interview 2024, Juni
Anonim
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação
Projeto SmartHome - Repositor De Alimento Para Pet + Controle De Iluminação

Este tutorial menyajikan solusi SmartHome simples que permite 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 comodar vizinhos para ac pet ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem.

Utilisasi projeto o hardware Dragonboard 410C com versão linux linaro instalada dan kit Linker Mezzanine

(placa, sensor de luminosidade, LED, relé e botão). O sistem possui a capacidade de se comunicar com um server cloud, neste caso o Dweet.io, e assim, possibilitar a comunicao entre o peralatan lokal e um aplikasi desenvolvido com Ionic, que realiza o kontrol soluindo visual dan notifikasi e kontrol status lakukan sistema remotamente.

Segue na figura anexa o diagrama em blocos da solução.

Sensor dan tuaadores deste projeto serão capazes de:

a) Ler sebagai informações de luminosidade de um ambiente através lakukan sensor de luminosidade (LDR) dan kontrol otomatisamente atau acionamento de uma lâmpada (dipimpin) 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 permita a reposição de alimento para o pet.

Langkah 1: Lista Dos Materiais

Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
  • · Papan Naga 410C
  • 1 x Linker Mezzanine
  • 1 x modulo LED
  • · 1 x módulo Relé
  • · 1 x sensor de luminosidade (LDR)
  • · 1 x botão de pressão
  • 1 x teclado USB
  • · 1 x lebih USB
  • · 1 x monitor HDMI
  • · Conexão com a internet

Langkah 2: CONEXÕES

CONEXÕES
CONEXÕES

Konektar atau sensor dari luminosidade di dalam analógica ADC2;

Leitura da luminosidade (em Lumi) eksternal.

· Konektar o LED dengan D1 digital;

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 atau Botão na saída digital D3;

Este Botão será responsável pela mudança de estado do relé.

Langkah 3: PROGRAMA - Menginstal Python, Bibliotecas Adicionais E Defino Dos Pinos Na Dragonboard

Bahasa yang digunakan untuk menggunakan Python.

Lebih lanjut tentang instalasi python, das bibliotecas adicionais, protokol SPI dan definição de pinos na Dragonboard, sesuai dengan instruksi seguintes:

Inisialmente abra o terminal e eksekusi;

  • sudo apt-get update
  • sudo apt-get upgrade
  • sudo apt-get dist-upgrade

Editor teks

  • 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 reboot

LIBSOC

  • git clone
  • cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
  • sudo membuat
  • sudo make install
  • sudo ldconfig /usr/local/lib
  • sudo reboot

96Papan

git clone

· Antes de instalar essa biblioteca é necessário verificar se a sua versão é compatível com a versão da LIBSOC sebelum instalada. Tidak ada arquivo /home/linaro/96boardsGPIO/Archive/lib/gpio.conf pengadaan string pela LS_SHARE dan pengganti LS_GPIO_SHARED;

  • Após prossiga com a instalação:
  • cd 96PapanGPIO/
  • sudo./autogen.sh
  • sudo./configure
  • sudo membuat
  • sudo make install
  • sudo ldconfig

SPIDEV

  • Para acesso aos sensores analógico é utilizado o protokol SPI. A instalação da biblioteca é explicada a seguir:
  • git clone
  • cd py-spidev
  • sudo python setup.py install
  • sudo ldconfig
  • sudo reboot
  • Informasi yang diperlukan sudo gedit /usr/local/etc/libsoc.conf a seguinte definição GPIO-CS = 18 dan GPIO-12 = 18.

Para que as funções POST e GET funcionem com o site dweet.io é necessário install a biblioteca “requests”. O procedimento é mostrado abaixo:

sudo pip permintaan instal

Langkah 4: PROGRAMA - Código Fonte Principal E Dweet

PROGRAMA - Código Fonte Principal E Dweet
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 for acesso ao portal dweet (nuvem). Lakukan semua ini untuk mengembangkan estar dan mesma pasta executar atau programa.

Para pelaksana atau dweet menggunakan perintah seguinte: sudo/home/linaro/…/dweet.py

Para pelaksana o programa fonte principal menggunakan perintah seguinte: sudo python /home/linaro/…/ smartHome_valerio_M6.py

O funcionamento melakukan dasar-dasar perangkat lunak secara konsisten

1) Importao de bibliotecas adicionais, importar gpio, GPIO dan Dweet de bibliotecas adicionais.

Identificacação dos sensores and atuadores nas portas onde são conectados, bem como, definir a função in/out dos respectivos pinos.

Konfigurasikan SPI untuk melakukan sensor de luminosidade untuk masuk ke 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 na tela "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 de estado de ligado para desligado ou de desligado para ligado, e essa mudança de estado do rel, 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 o valor do estado. Ainda so mostrados na tela o valor da variável status dan tombol Cloud

A comunicação com a nuvem é feita através do comando:

dweet.dweet_by_name(name="projeto_val", data={"rele":0, "Luminosidade":nilai, "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 dapatkan para verificar na nuvem as informações do systema.

Langkah 5: Konfigurasikan Situs Dweet

Mengkonfigurasição Lakukan Situs Dweet
Mengkonfigurasição Lakukan Situs Dweet
Mengkonfigurasição Lakukan Situs Dweet
Mengkonfigurasição Lakukan Situs Dweet

O próximo passo é acessar o serviço da nuvem.

Tidak ada navegador o situs Dweet.io klik dan aba "Mainkan" dan seguida klik POST(/dweet/for/{thing})

Criar uma {thing} digitando no campo thing: projeto_val

Obs: A thing criada deve ser a mesma presente no programa do código fonte python, no caso, projeto_val.

Konten preencha o campo sesuai dengan indikasi abaixo e em seguida klik "Cobalah!":

{

"rele":0, “Luminosidade”:550, "Luz":0, }

Veja menghapus nas figuras acima.

Sebuah verifikasi dos dados recebidos pelo dweet é feita pelo GET.

Klik dan DAPATKAN /get/latest/dweets/for/{thing}

Digite no campo thing: projeto_val (obs: mesma {thing} criada no POST).

Klik mereka "Cobalah!"

Em Response Body em "konten" teremos a informação recebida:

{

"rele":0, “Luminosidade”:550, "Luz":0, }

Veja menghapus nas figuras acima.

O exposto acima trata-se dos métodos "posting" dan "get", respectivamente, 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 "Cobalah". Halaman GET lakukan dweet são visualizadas as informaes atualizadas do "rele", "Luminosidade" dan "Luz" klik "Cobalah".

Langkah 6: APLICATIVO - Instação Do Ionic

Aplikasi untuk desenvolvido em uma plataforma híbrida utilizando o Kerangka ionik.

Antes desenvolver o aplikativo para o smartphone, é instal presisi o Ionic no computador pessoal. Os passos para a instalação dan verificação se a mesma foi bem-sucedida é mostrado abaixo:

  • Tidak ada situs: https://nodejs.org/en/ e faça o download da versão mais recente LTS do Node
  • Instal o Node no seu computador pessoal
  • Envie os comandos lakukan prompt de comandos (cmd) untuk verifikasi se a instalação foi feita com sucesso:

simpul -v

npm -v

Instal com Ionic os comandos abaixo através lakukan prompt de comandos (cmd):

npm install –g cordova ionic

npm install –g cordova

Verifikasi se o Ionic foi instalado com sucesso usando o comando abaixo:

ionik -v

Langkah 7: APLICATIVO - Desenvolvimento E Operação

APLICATIVO - Desenvolvimento E Operação
APLICATIVO - Desenvolvimento E Operação

Apresentamos o desenvolvimento do aplicativo com o framework Ionic, que irá se comunicar com o dweet.io 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 blank (gunakan o nome do projeto)

Lihat Kode Visual Studio IDE untuk memilih pasta yang dapat diterapkan di branco (smart_home_valerio_M6) dan foram alterados os seguintes arquivos:

  • home.html (src/pages/home) bagian visual lakukan aplikasi
  • home.ts (src/pages/home) direalisasikan sebagai kesenangan lakukan código dan alterações das propriedades da tela
  • app.module.ts (src/aplikasi)

Tidak ada home.html dan home.ts - foram alteraes conforme need do projeto para comunicar-se de forma adequada com o dweet.io

Tidak ada app.modules.ts - modifikasi untuk izin komunikasi

Em sguida foi necessário criar um arquivo para a comunicação com o dweet. Abrindo um prompt tidak ada próprio Visual Studio aberto dan digitando:

penyedia pembangkit ionik 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 informaes do dweet. (Dapatkan)
  • com a criação de um método para fazer o set das variações (postingan)
  • criação de uma variável = baseURL para definir que está usando o dweet como provenor

Perubahan terakhir pada aplikasi smart_home_valerio_M6 dimulai dari awal hingga selesai.

Agora para abrir o aplikasi basta digitar no mesmo prompt lakukan Visual Studio Code o perintah para abrir o aplikasi:

servis ionik

O aplicativo será aberto no seu navegador (visual na figura acima) dan 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 dan tuaadores.

  • 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.

Direkomendasikan: