Tabla de contenido:
- Paso 1: Paso 1: Materiais Uitilizados
- Paso 2: Paso 2: Montagem
- Paso 3: Paso 3: Codigo Python
- Paso 4: Paso 4: Dweet
- Paso 5: Paso 5: Código de estudio virtual de Ionic E
- Paso 6: Paso 6: Finalización
Video: DISPARO: 6 Pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:44
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
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
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
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
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
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:
Cronógrafo Nerf y barril de velocidad de disparo: 7 pasos
Nerf Chronograph y Rate of Fire Barrel: Introducción Como retocador, siempre es muy satisfactorio ver los resultados numéricos de tus retoques. Muchos de nosotros hemos modificado las pistolas Nerf antes y ¿a quién no le encanta arrojar trozos de espuma por la casa a más de 100 fps? Después de modificar muchos Nerf g
Cómo hacer un circuito de disparo de alambre usando el MOSFET Z44N: 7 pasos
Cómo hacer un circuito disparador de cables usando el MOSFET Z44N: Hola amigo, hoy voy a hacer un circuito simple de disparador de cables. Si alguien corta el cable, el zumbador sonará. Hoy haré este proyecto usando IRFZ44N MOSFET. Comencemos
Cómo hacer un circuito de alarma de seguridad de disparo de alambre: 9 pasos
Cómo hacer un circuito de alarma de seguridad Wire Tripper: Hola amigo, hoy voy a hacer un circuito para la alarma de seguridad Wire Tripper usando un relé de 12V. Si alguien corta el cable, el timbre sonará y el LED se encenderá
Modificar la unidad de disparo Taigen Airsoft para Raspberry Pi: 11 pasos
Modifiy Taigen Airsoft Firing Unit para Raspberry Pi: el esquema se basa en el esquema de http://openpanzer.org/wiki/doku.php?id=wiki:tcb:tcbinstall:airsoft" Este esquema muestra la diferencia en el cableado entre stock y modificado "
Disparo remoto mecánico para Ricoh GR II Digital: 5 pasos (con imágenes)
Disparador remoto mecánico para Ricoh GR II Digital: Realmente disfruto del lente GR 28 mm de Ricoh desde que usé mi primer GR1 hace 20 años. Ahora me atrapó mi pasado y compré el GR II digital. Para el senderismo me encanta la simplicidad, el equipo pequeño y ligero: el GR II es perfecto para mis propósitos, pero el accesorio