Isi kandungan:

SHIOT: 6 Langkah
SHIOT: 6 Langkah

Video: SHIOT: 6 Langkah

Video: SHIOT: 6 Langkah
Video: 6 weeks newborn photo shoot can be harrrrrrd! #newbornphotography 2024, Oktober
Anonim
KEDAI
KEDAI

Este projeto foi desenvolvido para um sistema de iluminação via Dweet, dan juga penggunaan perkakasan Dragonborad 410C com uma versão linux linaro instalado.

E para o desenvolvimento do aplicativo para o telefon pintar juga telah menggunakan ionik, e o IDE Visual studio Code.

Langkah 1: Langkah 1: Materiais Uitilizados

Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados
Langkah 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x penghubung Mezzanine

1 x modulo led

1 x modulo de temperatura

1 x modulo de luminosidade LDR

1 x sensor sentuh modulo

2 x modulos rele

1 x teclado usb

1 x usb tetikus

1 x monitor Hdmi

conexão com internet

perintang de 1k Ohms untuk adaptação do led

Langkah 2: Langkah 2: Montagem

Langkah 2: Montagem
Langkah 2: Montagem
Langkah 2: Montagem
Langkah 2: Montagem
Langkah 2: Montagem
Langkah 2: Montagem

a) Plugue o Linker Mezzanine na placa da Dragonboard 410C

b) Plugue o modulo de temperatura no conector melakukan ADC2 da mezzanine

c) Plugue o modulo de sensor de luminosidade no conector melakukan ADC1 da mezzanine

d) Plugue o modulo de sensor toque no conector do D1 da mezzanine

e) Plugue o modulo de rele no conector do D2 da mezzanine

f) Plugue o modulo Led no conector do D3 da mezzanine

g) Plugue o modulo de rele no conector do D4 da mezzanine

h) Palam o monitor tiada konektor HDMI da placa Dragonboard 410C

i) Plugue o teclado USB na placa Dragonboard 410C

j) Pasangkan tetikus USB na placa Dragonboard 410C

l) Pasangkan fonte de alimentação na placa Dragonboard 410C

OBS 1: Devido ao modulo LED ter apenas um resistor de 82 Ohms, mengganggu na medição do sensor de temperatura causando valores negativos quando é acionado, senso Needário a utilização de um resistor de pelos menos de 1k Ohms menyesuaikan figura.

OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, juga perlu adaptor um modulo rele generico, utilizado no conector D4 da mezzanine, interligando cabo VCC no VCC, GND no GND, e o de sinal no D_G da mezzanine

Langkah 3: Langkah 3: Codigo Python

# importação das bibliotecas spidev masa

import spidev

masa import

# importação parcial das bibliotecas

dari libsoc import gpio

dari gpio_96boards import GPIO

dari Dweet import Dweet

# definição das porta analogica, o sensor de luminosidade e de temperatura serão definidas por endereçamento.

GPIO_CS = GPIO.gpio_id ('GPIO_CS')

# definição das portas digitais

BUTTON = GPIO.gpio_id ('GPIO_A')

RELE = GPIO.gpio_id ('GPIO_C')

LED = GPIO.gpio_id ('GPIO_E')

RELE2 = GPIO.gpio_id ('GPIO_G')

# configurações das GPIOS SETIAP OUT

pin = ((GPIO_CS, 'out'), (BUTTON, 'in'), (RELE, 'out'), (LED, 'out'), (RELE2, 'out'),)

# configurações das portas analagicas

spi = spidev. SpiDev ()

spi.open (0, 0)

spi.max_speed_hz = 10000

spi.mode = 0b00

spi.bits_per_word = 8

sistem_status = 1

dweet = Dweet ()

# configurações do bloco de comando LED e RELE

def readDigital (gpio):

digital = [0, 0]

digital [0] = gpio.digital_read (LED)

digital [1] = gpio.digital_read (RELE)

pulangkan digital

def writeDigital (gpio, digital):

tulis = digital

gpio.digital_write (LED, tulis [0])

gpio.digital_write (RELE, tulis [1])

pulangkan digital

# configuração do bloco para o touch, para o sistema ou ligar o sistema

def DetectaButton (gpio):

sistem_status global

status = gpio.digital_read (BUTTON)

jika status == 1:

jika sistem_status == 0:

sistem_status = 1

sis_status = "Ligado"

cetak ("Estado do Sistema% s"% sis_status)

lain:

sistem_status = 0

sis_status = "Desligado"

cetak ("Estado do Sistema% s"% sis_status)

dweet.dweet_by_name (name = "shiot", data = {"sistema": sis_status})

mengembalikan sistem_status

# configuração do bloco para leitura da temperatura

def readTemp (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

masa. tidur (0.0002)

gpio.digital_write (GPIO_CS, GPIO. LOW)

r = spi.xfer2 ([0x01, 0xA0, 0x00])

gpio.digital_write (GPIO_CS, GPIO. HIGH)

adcout = (r [1] << 8) & 0b1100000000

adcout = adcout | (r [2] & 0xff)

adc_temp = (adcout * 5.0 / 1023-0.5) * 100

#print ("Temperatura:% 2.1f"% adc_temp)

kembali adc_temp

# configuração do bloco para leitura da luminosidade.

def bacaLumi (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

masa. tidur (0.0002)

gpio.digital_write (GPIO_CS, GPIO. LOW)

r = spi.xfer2 ([0x01, 0x80, 0x00])

gpio.digital_write (GPIO_CS, GPIO. HIGH)

adcout = (r [1] << 8) & 0b1100000000

adcout = adcout | (r [2] & 0xff)

kembali iklan

# execução dos blocos de comandos

jika _nama _ == '_ main_':

dengan GPIO (pin) sebagai gpio:

Walaupun Betul:

digital = [0, 0]

jika DeteksiButton (gpio) == 1:

lumi = bacaLumi (gpio)

# verificação da luminosidade para acionamento do rele do conector D4

jika lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Ligado"

lain:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Apagado"

# verificação no dweet para acionamento do led e / ou rele

resposta = dweet.latest_dweet (nama = "shiot")

digital [0] = resposta ['with'] [0] ['content'] ['led']

digital [1] = resposta ['with'] [0] ['content'] ['rele']

tulisDigital (gpio, digital)

temp = bacaTemp (gpio)

digital = bacaDigital (gpio)

#imprime os valores de luminosidade, temperatura

cetak "Temp:% 2.1f / nlumi:% d / nled:% d / nrele:% d / n"% (temp, lumi, digital [0], digital [1])

cetak ("Luz Externa:% s"% luz_status)

sis_status = "Ligado"

#envio de dados para o dweet

dweet.dweet_by_name (name = "shiot", data = {"led": digital [0], "rele": digital [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " sistema ": sis_status})

#tempo para cada leitura

masa. tidur (5)

#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programa no python.

Langkah 4: Langkah 4: Dweet

Langkah 4: Dweet
Langkah 4: Dweet
Langkah 4: Dweet
Langkah 4: Dweet
Langkah 4: Dweet
Langkah 4: Dweet

Em dweet.io, klik PLAY.

Em dweets: Buat atau baca dweets dalam cache jangka pendek, na aba:

POST / dweet / senyap / untuk / {perkara}

- tidak ada perkara parametro escreva shiot, sesuai programa feito no python.

- em kandungan escreva:

Que são os para os parametros enviados melakukan dweet untuk Dragonboard410C, sendo 0 para desligado e 1 para ligado.

e clique no botão Cubalah.

Jalankan programa no terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba DAPATKAN:

DAPATKAN / dapatkan / dweets / untuk / {perkara}

- tidak ada perkara parametro escreva shiot, sesuai programa feito no python.

e clique no botão Cubalah.

Em Response Body adalah sama seperti:

Langkah 5: Langkah 5: Kod Studio Maya Ionic E

Langkah 5: Kod Studio Maya Ionic E
Langkah 5: Kod Studio Maya Ionic E

para criar pasta e os arquivos para requários do app

tidak ada tetingkap permintaan segera:

kekacauan mula ionik

abra o Visual Studio Code

para construir sebagai paginas html:

Em SRC => pages => Home => home.html

codigo confige arquivo homehtml.txt

Em SRC => pages => Home => home.tscodigo comple arquivo homets.txt

Perlu gerak o dweet.ts untuk comunicar corretamente HTTP dan dweet

na prompt de comando na pasta lakukan projeto:

Dweet pembekal ionik

Em SRC => penyedia => dweet => dweet.ts

codigo confe arquivo dweetts.txt

importação para comunicação

Em SRC => app => app.module.ts

codigo confige arquivo appmodulets.txt

Langkah 6: Langkah 6: Finalização

Langkah 6: Finalização
Langkah 6: Finalização
Langkah 6: Finalização
Langkah 6: Finalização

Tiada permintaan segera untuk membuat projeto:

hidangan ionik

Sera aberto no navegador https:// localhost: 8100 /

Sendo gerado uma tela com Led que pode ser ligado ou desligado com uma "chave liga / desliga".

Sendo gerado uma tela com rele que pode ser ligado ou desligado com uma "chave liga / desliga".

E monitoramento de Temperatura, Iluminação, Luz externa, e Sistema.

mais detalhes do funcionamento no arquivo Dragon.pdf

Disyorkan: