Sadržaj:

SHIOT: 6 koraka
SHIOT: 6 koraka

Video: SHIOT: 6 koraka

Video: SHIOT: 6 koraka
Video: 6 ЛАЙФХАКОВ ДЕТЕЙ СССР 2024, Studeni
Anonim
SHIOT
SHIOT

Este projekto foi desenvolvido para um system de illuminação via Dweet, e foi useado hardverski Dragonborad 410C com uma verão linux linaro instalado.

E para o desenvolvimento do aplicativo para ili smartphone za korištenje o ionic, ili o IDE Visual Studio Code.

Korak 1: Korak 1: Materiais Uitilizados

Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados
Korak 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x poveznica Mezanin

1 x modulo LED

1 x temperatura po modulu

1 x modularno luminosidade LDR

1 x modularni osjetnik na dodir

2 x modulos rele

1 x teclado usb

1 x USB miš

1 x Hdmi monitor

conexão com internet

otpornik od 1 k Ohma za prilagodbu LED -a

Korak 2: Korak 2: Montaža

Korak 2: Montaža
Korak 2: Montaža
2. korak: Montagem
2. korak: Montagem
2. korak: Montagem
2. korak: Montagem

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

b) Uključivanje o modulu temperature bez konektora do ADC2 u polukatu

c) Priključak o modulo senzora za osvjetljavanje bez priključka do ADC1 u polukatu

d) Uključite ili isključite osjetnik po modulu bez priključka do D1 u polukatu

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

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

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

h) Priključite monitor ili priključak bez priključka HDMI za Dragonboard 410C

i) Priključite USB priključak na ploču Dragonboard 410C

j) Priključite miš na USB na ploči Dragonboard 410C

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

OBS 1: Devido ili modularni LED termalni otpornik s otpornikom od 82 Ohma, smetnje na mediju do osjetnika temperature koji uzrokuju negativne utjecaje na akciju, osjetnik mora upotrijebiti otpornik na mjerilu od 1 k Ohma u skladu sa slikom.

OBS 2: Devido ao kit da mezzanine ima dodatne apene po modulu rele, za potrebe adaptacije um modulo rele generico, ne koristi spojni element D4 u međukatu, interligando cabo VCC nema VCC, GND nema GND, e o de sinal no D_G da međukat

Korak 3: Korak 3: Codigo Python

#importação das bibliotecas spidev e time

uvoz spidev

vrijeme uvoza

#importação parcial das bibliotecas

iz libsoc import gpio

s gpio_96boards uvozite GPIO

from dweet import Dweet

# definição das porta analogica, o sensor de luminosidade e de temperature 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')

#konfiguracija za GPIOS se IN OU OUT

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

sustav_status = 1

dweet = Dweet ()

#konfiguracije do bloka de komande LED i RELE

def readDigital (gpio):

digitalno = [0, 0]

digitalno [0] = gpio.digital_read (LED)

digitalno [1] = gpio.digital_read (RELE)

digitalni povrat

def writeDigital (gpio, digitalno):

write = digitalno

gpio.digital_write (LED, upišite [0])

gpio.digital_write (RELE, upišite [1])

digitalni povrat

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

def detectaButton (gpio):

globalni sustav_statusa

status = gpio.digital_read (BUTTON)

ako je status == 1:

ako je system_status == 0:

sustav_status = 1

sis_status = "Ligado"

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

drugo:

sustav_status = 0

sis_status = "Desligado"

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

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

return system_status

#configuração do bloco para leitura da temperatura

def readTemp (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

vrijeme.spavanje (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)

vrati adc_temp

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

def readLumi (gpio):

gpio.digital_write (GPIO_CS, GPIO. HIGH)

vrijeme.spavanje (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)

povratiti adcout

#execução dos blocos de comandos

ako je _name _ == '_ main_':

s GPIO -om (pinovi) kao gpio:

dok je istina:

digitalno = [0, 0]

ako je detectaButton (gpio) == 1:

lumi = čitajLumi (gpio)

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

ako je lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Ligado"

drugo:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Apagado"

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

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

digitalno [0] = resposta ['s'] [0] ['sadržaj'] ['led']

digitalno [1] = odgovor ['s'] [0] ['sadržaj'] ['rele']

writeDigital (gpio, digitalno)

temp = readTemp (gpio)

digital = čitanjeDigital (gpio)

#imprime os valores de luminosidade, temperatura

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

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

sis_status = "Ligado"

#envio de dados para o dweet

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

#tempo para cada leitura

vrijeme.spavanje (5)

#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programu bez pythona.

Korak 4: Korak 4: Slatko

Korak 4: Slatko
Korak 4: Slatko
Korak 4: Slatko
Korak 4: Slatko
Korak 4: Slatko
Korak 4: Slatko

Em dweet.io, clique em IGRAJ.

Em dweets: Stvaranje ili čitanje dweetova u kratkoročnoj predmemoriji, na aba:

POST/dweet/tiho/za/{thing}

- no parametro thing escreva shiot, conforme programa feito no python.

- em sadržaj escreva:

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

e clique no botão ISPROBAJTE.

Izvršite program bez terminala za Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba DOBIJI:

GET/get/dweets/for/{thing}

- no parametro thing escreva shiot, conforme programa feito no python.

e clique no botão ISPROBAJTE.

Em Response Body je sličan:

Korak 5: Korak 5: Kôd virtualnog studija Ionic E

Korak 5: Ionic E Virtual Studio Code
Korak 5: Ionic E Virtual Studio Code

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

nema obavijesti o komandama za prozore:

ionski startni shiot

abra o Visual Studio Code

para konstruiran kao html stranice:

Em SRC => stranice => Početna => home.html

codigo conforme arquivo homehtml.txt

Em SRC => stranice => Početna => home.tscodigo conforme arquivo homets.txt

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

na promptu de comando na tjestenini do projeto:

ionic generirati dweet

Em SRC => pružatelji usluga => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importação para comunicação

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

codigo conforme arquivo appmodulets.txt

Korak 6: Korak 6: Finalização

Korak 6: Finalização
Korak 6: Finalização
Korak 6: Finalização
Korak 6: Finalização

No prompt de comando da pasta do projeto:

ionski servis

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 monitorramento de Temperatura, Iluminação, Luz externa, e Sistema.

mais detalhes do funcionamento no arquivo Dragon.pdf

Preporučeni: