สารบัญ:

Projeto SmartHome - ที่เก็บของ Alimento Para Pet + Controle De Iluminação: 7 Steps
Projeto SmartHome - ที่เก็บของ Alimento Para Pet + Controle De Iluminação: 7 Steps

วีดีโอ: Projeto SmartHome - ที่เก็บของ Alimento Para Pet + Controle De Iluminação: 7 Steps

วีดีโอ: Projeto SmartHome - ที่เก็บของ Alimento Para Pet + Controle De Iluminação: 7 Steps
วีดีโอ: ✨A Will Eternal EP 01 - 106 Full Version [MULTI SUB] 2024, มิถุนายน
Anonim
Projeto SmartHome - ที่เก็บของ Alimento Para Pet + Controle De Iluminação
Projeto SmartHome - ที่เก็บของ Alimento Para Pet + Controle De Iluminação

Este tutorial apresenta uma solução 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, แรงจูงใจจาก Viagem, ระบบปฏิบัติการที่ไม่สะดวกในที่เดียวกัน โรงแรมที่พักอาศัยในที่พักอาศัย สัตว์เลี้ยง ou não ter com quem deixá-lo, e muitas vezes até o cancelamento da viagem

โปรเจ็กต์ที่ใช้ o hardware Dragonboard 410C กับ linux linaro instalada e um kit Linker Mezzanine

(placa, sensor de luminosidade, LED, relé e botão). O ระบบที่เป็นไปได้ การสื่อสาร com um servidor cloud, neste caso o Dweet.io, e assim, เป็นไปได้ การสื่อสาร entre o equipamento local e um aplicativo desenvolvido com Ionic, que realiza nota o, หน้าแรก e controlar o สถานะทำ sistema remotamente

Segue na figura anexa หรือไดอะแกรม em blocos da solução.

Os sensores และ atuadores deste projeto serão capazes de:

a) Ler เป็นข้อมูลของ luminosidade de um ambiente através do sensor de luminosidade (LDR) e controlar automaticamente o acionameto de uma lâmpada (led) dependendo do nível de luminosidade programado

b) ที่เก็บของ é 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 สัตว์เลี้ยง

ขั้นตอนที่ 1: Lista Dos Materiais

Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
Lista Dos Materiais
  • · ดราก้อนบอร์ด 410C
  • 1 x Linker Mezzanine
  • 1 x โมดูล LED
  • · 1 x โมดูโล Relé
  • · 1 x เซ็นเซอร์เดอลูมิโนซิเดด (LDR)
  • · 1 x botão de pressão
  • 1 x teclado USB
  • · 1 x เมาส์ USB
  • · 1 x จอภาพ HDMI
  • · Conexão กับอินเทอร์เน็ต

ขั้นตอนที่ 2: CONEXÕES

CONEXÕES
CONEXÕES

Conectar o เซ็นเซอร์ของ luminosidade และ entrada analógica ADC2;

Leitura da luminosidade (em Lumi) ภายนอก

· Conectar หรือ LED กับ Digital D1;

Esta saída será utilizada para simular a luz para iluminação จำเป็น

Conectar หรือ Relé na saída digital D2;

Este Relé será responsável por acionar o dispositivo de reposição de จัดสรร.

Conectar หรือ Botão na saída digital D3;

Este Botão será ตอบกลับ pela mudança de estado do relé

ขั้นตอนที่ 3: โปรแกรม - Instalação Do Python, Bibliotecas Adicionais E Definição Dos Pinos Na Dragonboard

ภาษาโปรแกรม de programação utilizada foi o Python

เดิมจาก instalação do python, das bibliotecas adicionais, protocolo SPI e definição de pinos na Dragonboard, ปฏิบัติตามคำแนะนำ:

เริ่มต้น abra o เทอร์มินัล e ดำเนินการ;

  • sudo apt-get update
  • sudo apt-get อัพเกรด
  • sudo apt-get dist-upgrade

บรรณาธิการ texto

  • sudo apt-get ติดตั้ง gedit
  • sudo apt-get ติดตั้ง python-pip

Biblioteca adicionais

  • sudo apt-get ติดตั้ง build-essential autoconf automake libtool-bin pkg-config python-dev
  • sudo รีบูต

LIBSOC

  • โคลน git
  • cd libsoc sudo autoreconf -i sudo./configure --enable-python=2 --enableboard= dragonboard410c --with-board-configs
  • sudo make
  • sudo ทำการติดตั้ง
  • sudo ldconfig /usr/local/lib
  • sudo รีบูต

96บอร์ด

โคลน git

· การติดตั้ง 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 จัดหา pela string LS_SHARE และ substitua por LS_GPIO_SHARED;

  • Após prossiga com a instalação:
  • cd 96บอร์ดGPIO/
  • sudo./autogen.sh
  • sudo./configure
  • sudo make
  • sudo ทำการติดตั้ง
  • sudo ldconfig

SPIDEV

  • Para acesso aos เซ็นเซอร์ แอนะล็อก é utilizado o protocolo SPI instalação da biblioteca é คำอธิบาย a seguir:
  • โคลน git
  • cd py-spidev
  • sudo python setup.py ติดตั้ง
  • sudo ldconfig
  • sudo รีบูต
  • Será necessário incluir no arquivo sudo gedit /usr/local/etc/libsoc.conf a seguinte definição GPIO-CS = 18 และ GPIO-12 = 18

Para que as funções POST e GET funcionem com o site dweet.io é necessário instalar a biblioteca "คำขอ" O ขั้นตอน é Mostrado abaixo:

คำขอติดตั้ง sudo pip

ขั้นตอนที่ 4: โปรแกรม - Código Fonte Principal E Dweet

โปรแกรม - Código Fonte Principal E Dweet
โปรแกรม - 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 เป็น funções necessárias para acesso ao portal dweet (nuvem) ระบบปฏิบัติการ dois arquivos devem estar na mesma พาสต้า executar หรือ programa

ผู้บริหารระดับสูง o dweet ใช้ o seguinte comando: sudo/home/linaro/…/dweet.py

Para executar o programa fonte principal ใช้ o seguinte comando: sudo python /home/linaro/…/ smartHome_valerio_M6.py

O funcionameto do software basicamente ประกอบด้วย

1) Importação de bibliotecas adicionais, นำเข้า 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 เข้า/ออก เกี่ยวกับ pinos

การกำหนดค่า SPI do sensor de luminosidade para a entrada ADC2.

2) def readLDR (gpio)

Realiza a leitura do sensor de luminosidade e o valor de leitura é นำเสนอ na tela como " Valor do LDR:xxx"

3) if_name_=='_main_':

บนชั้นที่ 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 Ledado e na é apresent "Luz: acesa". Quando o nível de luminosidade สำหรับ 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 estsa mudancivo rel disposito เดอ, que อนุญาต 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 valor do estado Ainda são mostrados na tela o valor da variável status e Cloud button

การสื่อสาร com a nuvem é feita através do comando:

dweet.dweet_by_name(name="projeto_val", data={"rele":0, "Luminosidade":value, "Luz":luz_status})

enviando เป็น Informações de estado do rele, a leitura do sensor de sensibilidade e se Luz está acesa ou aapagada.

Seguem anexo o código fonte หลัก smartHome_valerio_M6.py e o codigo fonte dweet.py

รหัสผ่าน é criar ไม่มีไซต์ dweet.io: โพสต์สำหรับใบอนุญาตหรือสิทธิ์ใช้งาน ou desacionamento do relé remotamente e um get para verificar na nuvem as informações do sistema

ขั้นตอนที่ 5: กำหนดค่า Do Site Dweet

กำหนดค่า Do Site Dweet
กำหนดค่า Do Site Dweet
กำหนดค่า Do Site Dweet
กำหนดค่า Do Site Dweet

O próximo passo é acessar o บริการ da nuvem.

Abrir no seu navegador o เว็บไซต์ Dweet.io clicar na aba "Play" e em seguida clicar em POST(/dweet/for/{thing})

Criar uma {สิ่งที่} digitando สิ่งไม่มีแคมโป: 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 สอดคล้องกัน abaixo e em seguida clique em "Try it out!":

{

“รีเล”:0, “ลูมิโนซิเดด”:550, “ลูซ”:0, }

Veja แยกแยะความแตกต่างระหว่าง acima

การยืนยัน dos dados recebidos pelo dweet é feita pelo GET

คลิก GET /get/latest/dweets/for/{thing}

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

Clique em "ลองดูสิ!"

Em Response Body em "เนื้อหา" เป็นข้อมูลที่ได้รับ:

{

“รีเล”:0, “ลูมิโนซิเดด”:550, “ลูซ”:0, }

Veja แยกแยะความแตกต่างระหว่าง acima

O exposto acima trata-se dos métodos "post" e "get", เคารพ, 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" อยู่ที่หน้า POSTe do dweet clicando em "ลองดูสิ" หน้า GET do dweet são visualizadas as informações atualizadas do "rele", "Luminosidade" e "Luz" clicando em "Try it out".

ขั้นตอนที่ 6: APLICATIVO - Instação Do Ionic

ใช้งานจริง foi desenvolvido em uma plataforma híbrida utilizando o Ionic framework

Antes de desenvolver หรือ aplicativo para o smartphone, é preciso instalar o Ionic no computador pessoal. รหัสผ่านสำหรับ a instalação e verificação se a mesma foi bem-sucedida é Mostrado abaixo:

  • ไม่มีไซต์: https://nodejs.org/en/ e faça o ดาวน์โหลด da versão mais lateste LTS do Node
  • ติดตั้ง o Node no seu computador pessoal
  • Envie os comandos do prompt de comandos (cmd) para verificar se a instalação foi feita com ประสบความสำเร็จ:

โหนด -v

npm -v

ติดตั้ง o Ionic com os comandos abaixo através do prompt de comandos (cmd):

npm ติดตั้ง –g Cordova ionic

npm ติดตั้ง –g คอร์โดวา

ตรวจสอบความถูกต้องของ Ionic foi instalado com sucesso usando o comando abaixo:

ไอออนิก -v

ขั้นตอนที่ 7: APLICATIVO - Desenvolvimento E Operação

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

การนำเสนอหรือการใช้งานร่วมกันบนเฟรมเวิร์ก 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 ว่างเปล่า (ใช้ o nome do projeto)

เพิ่มเติม กับ IDE Visual Studio Code สำหรับ พาสต้า การโต้แย้ง หรือ การใช้งาน ใช้งาน (smart_home_valerio_M6) และ ฟอรัมอื่น ระบบปฏิบัติการ seguintes arquivos:

  • home.html (src/pages/home) parte visual do aplicativo
  • home.ts (src/pages/home) realiza เป็น funções do código e alterações das propriedades da tela
  • app.module.ts (src/app)

ไม่มี home.html และ home.ts - foram alterações conforme necessidade do projeto para comunicar-se de forma adequada com o dweet.io

ไม่มี 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 และ digitando:

ผู้ให้บริการสร้างไอออนิก 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 เป็นข้อมูลที่ทำ dweet (รับ)
  • com a criação de um método para fazer o set das variações (โพสต์)
  • criação de uma variável = baseURL para definir que está usando o dweet como ตัวพิสูจน์

Finalizadas alterações o aplicativo smart_home_valerio_M6 está pronto e segue em anexo completo com todos ระบบปฏิบัติการ arquivos

Agora para abrir o aplicativo basta digitar no mesmo prompt ทำ Visual Studio Code o comando para abrir o aplicativo:

เสิร์ฟไอออนิก

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 a กระดานมังกรสำหรับเซ็นเซอร์สถานะ dos atu

  • สัตว์เลี้ยง Alimentação - Muda estado do relé, que aciona o dispositivo de alimentação do pet
  • ลูมิโนซิเดด - Mostra หรือ valor de luminosidade
  • Luz - ข้อมูล se a luz está apagada ou acesa

แนะนำ: