Tabla de contenido:

DISPARO: 6 Pasos
DISPARO: 6 Pasos

Video: DISPARO: 6 Pasos

Video: DISPARO: 6 Pasos
Video: Cómo dominar los tiempo de disparo en 3 pasos | 6 parte 2024, Octubre
Anonim
DISPARO
DISPARO

Este proyecto para desenvolvimiento para um sistema de iluminación a través de Dweet, y para uso o hardware Dragonborad 410C com uma versión linux linaro instalado.

E para o desenvolvimento do aplicativo para o smartphone foi utilizado o ionic, e o IDE Visual studio Code.

Paso 1: Paso 1: Materiais Uitilizados

Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados
Paso 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x entrepiso enlazador

1 x módulo led

1 x módulo de temperatura

1 x módulo de luminosidad LDR

1 x sensor táctil módulo

2 x modulos rele

1 x teclado usb

1 x ratón usb

1 x monitor Hdmi

conexão com a internet

resistor de 1k Ohms para adaptação do led

Paso 2: Paso 2: Montagem

Paso 2: montaje
Paso 2: montaje
Paso 2: montaje
Paso 2: montaje
Paso 2: montaje
Paso 2: montaje

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

b) Plugue o modulo de temperatura sin conector do ADC2 da mezzanine

c) Plugue o modulo de sensor de luminosidade sin conector do ADC1 da mezzanine

d) Plugue o módulo de sensor toque sin conector do D1 da mezzanine

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

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

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

h) Plugue o monitor sin conector HDMI da placa Dragonboard 410C

i) Plugue o teclado USB en placa Dragonboard 410C

j) Plugue o mouse USB en placa Dragonboard 410C

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

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

OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, foi needário adaptador 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

Paso 3: Paso 3: Codigo Python

# importação das bibliotecas spidev e time

importar spidev

tiempo de importación

# importação parcial das bibliotecas

de libsoc importar gpio

de gpio_96boards importar GPIO

de 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

BOTÓN = 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 se IN ou OUT

pines = ((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

system_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)

volver digital

def writeDigital (gpio, digital):

escribir = digital

gpio.digital_write (LED, escribe [0])

gpio.digital_write (RELE, escribe [1])

volver digital

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

def detectaButton (gpio):

estado_sistema global

status = gpio.digital_read (BOTÓN)

si estado == 1:

si system_status == 0:

system_status = 1

sis_status = "Ligado"

print ("Estado del Sistema% s"% sis_status)

demás:

system_status = 0

sis_status = "Desligado"

print ("Estado del Sistema% s"% sis_status)

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

return system_status

# configuração do bloco para leitura da temperatura

def readTemp (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

time.sleep (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] y 0xff)

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

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

return adc_temp

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

def readLumi (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

time.sleep (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] y 0xff)

volver adcout

# ejecução dos blocos de comandos

si _name _ == '_ main_':

con GPIO (pines) como gpio:

mientras que es cierto:

digital = [0, 0]

si detectaButton (gpio) == 1:

lumi = readLumi (gpio)

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

si lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Ligado"

demás:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Apagado"

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

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

digital [0] = resposta ['con'] [0] ['contenido'] ['led']

digital [1] = resposta ['con'] [0] ['contenido'] ['rele']

writeDigital (gpio, digital)

temp = readTemp (gpio)

digital = readDigital (gpio)

#imprime os valores de luminosidade, temperatura

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

print ("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 ": estado_sis})

#tempo para cada leitura

hora de dormir (5)

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

Paso 4: Paso 4: Dweet

Paso 4: Dweet
Paso 4: Dweet
Paso 4: Dweet
Paso 4: Dweet
Paso 4: Dweet
Paso 4: Dweet

Em dweet.io, clique em PLAY.

Em dweets: crea o lee dweets en caché a corto plazo, na aba:

POST / dweet / quietly / for / {cosa}

- sin parametro cosa escreva shiot, conforme programa feito no python.

- em contenido escreva:

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

e camarilla no botão PRUÉBALO.

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

sudo python smart.py

Na aba OBTENER:

OBTENER / conseguir / dweets / por / {cosa}

- sin parametro cosa escreva shiot, conforme programa feito no python.

e camarilla no botão PRUÉBALO.

Em Response Body é obtido algo similar:

Paso 5: Paso 5: Código de estudio virtual de Ionic E

Paso 5: Código de estudio virtual de Ionic E
Paso 5: Código de estudio virtual de Ionic E

para criar pastas e os arquivos para necessários do app

no hay comando de comando para Windows:

shiot de inicio iónico

abra o Código de Visual Studio

para construir como paginas html:

Em SRC => páginas => Inicio => inicio.html

codigo conforme arquivo homehtml.txt

Em SRC => páginas => Inicio => home.tscodigo conforme arquivo homets.txt

é necessario gerar o dweet.ts para comunicar corretamente HTTP e dweet

na prompt de comando na pasta do projeto:

proveedor de generación iónica dweet

Em SRC => proveedores => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importação para comunicação

Em SRC => aplicación => app.module.ts

codigo conforme arquivo appmodulets.txt

Paso 6: Paso 6: Finalización

Paso 6: Finalización
Paso 6: Finalización
Paso 6: Finalización
Paso 6: Finalización

No prompt de comando da pasta do projeto:

servicio iónico

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 con rele que pode ser ligado o desligado com uma "chave liga / desliga".

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

mais detalhes do funcionamento no arquivo Dragon.pdf

Recomendado: