Cuprins:

SHIOT: 6 pași
SHIOT: 6 pași

Video: SHIOT: 6 pași

Video: SHIOT: 6 pași
Video: TZANCA URAGANU - SE MISCA PE BEAT (VIDEOCLIP OFICIAL) 2024, Noiembrie
Anonim
SHIOT
SHIOT

Acest proiect a fost dezvoltat pentru un sistem de iluminare prin Dweet, și a fost folosit de hardware-ul Dragonborad 410C cu versiunea liniară instalată.

E pentru o dezvoltare a aplicației pentru smartphone a fost utilizat o ionică, e o IDE Visual studio Code.

Pasul 1: Pasul 1: Materiale Uitilizados

Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados
Pasul 1: Materiale Uitilizados

1 x Dragonboard 410C

1 x linker Mezanin

1 x led modulo

1 x modul de temperatura

1 x modul de lumină LDR

1 x senzor tactil modulo

2 x modulos rele

1 x teclado USB

1 x mouse usb

1 x monitor Hdmi

conexão com a internet

rezistor de 1k Ohms pentru adaptare la led

Pasul 2: Pasul 2: Montagem

Pasul 2: Montagem
Pasul 2: Montagem
Pasul 2: Montagem
Pasul 2: Montagem
Pasul 2: Montagem
Pasul 2: Montagem

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

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

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

d) Conectați modulul senzorului fără conector la D1 da mezanin

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

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

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

h) Conectare sau monitorizare fără conector HDMI de pe placa Dragonboard 410C

i) Conectare o tastatură USB pe placa Dragonboard 410C

j) Conectați mouse-ul USB pe 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 când este acționat, sens necesar la utilizarea de um resistor de pelos less de 1k Ohms conforme figura.

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

Pasul 3: Pasul 3: Codigo Python

# importação das bibliotecas spidev e time

import spidev

timpul de import

# importação parcial das bibliotecas

din libsoc import gpio

din gpio_96boards import GPIO

de la import trebuie Dweet

# definição das porta analogica, o sensor de luminozitate și de temperatură serão definidas por endereçamento.

GPIO_CS = GPIO.gpio_id („GPIO_CS”)

# definição das portas digitais

BUTON = 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

pini = ((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 comandă LED și RELE

citește Digital (gpio):

digital = [0, 0]

digital [0] = gpio.digital_read (LED)

digital [1] = gpio.digital_read (RELE)

reveniți digital

Def writeDigital (gpio, digital):

scrie = digital

gpio.digital_write (LED, scrie [0])

gpio.digital_write (RELE, scrie [1])

reveniți digital

# configuração do bloco para o touch, pentru o sistem sau ligar o sistem

def detectaButton (gpio):

status_status global

status = gpio.digital_read (BUTON)

dacă starea == 1:

dacă system_status == 0:

system_status = 1

sis_status = "Ligado"

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

altceva:

system_status = 0

sis_status = "Desligado"

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

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

returnează starea_sistem

# configuração do bloco para leitura da temperatura

read 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] & 0xff)

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

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

returnează adc_temp

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

read read Lumi (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] & 0xff)

returnează adcout

# execução dos blocos de comandos

dacă _name _ == '_ main_':

cu GPIO (pini) ca gpio:

în timp ce este adevărat:

digital = [0, 0]

dacă detectaButton (gpio) == 1:

lumi = readLumi (gpio)

# verificarea da luminozitatea pentru acționarea do rele do conector D4

dacă lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Ligado"

altceva:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Apagado"

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

răspuns = dweet.latest_dweet (name = "shiot")

digital [0] = răspuns ['cu'] [0] ['conținut'] ['led']

digital [1] = răspuns ['with'] [0] ['content'] ['rele']

writeDigital (gpio, digital)

temp = readTemp (gpio)

digital = readDigital (gpio)

#imprime os valores de luminosidade, temperatura

print "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, " sistem ": sis_status})

#tempo para cada leitura

time.sleep (5)

#devido a metodologia do dweet, trebuie să fie configurat sau trebuie înainte de executarea programului python.

Pasul 4: Pasul 4: Dweet

Pasul 4: Dweet
Pasul 4: Dweet
Pasul 4: Dweet
Pasul 4: Dweet
Pasul 4: Dweet
Pasul 4: Dweet

Trebuie să fiu, să te joci.

Trebuie să creați sau să citiți fișiere în cache pe termen scurt, na aba:

POST / dweet / quietly / for / {thing}

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

- em conținut escreva:

Que são os para os parametros enviados do dweet for a Dragonboard410C, sendo 0 pentru desligado și 1 pentru ligado.

e clique no botão ÎNCERCAȚI.

Execute o program no terminal da Dragonboard 410C (acesta trebuie să fie conectat la uma rede com internet):

sudo python smart.py

Na aba OBȚINE:

GET / get / dweets / for / {thing}

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

e clique no botão ÎNCERCAȚI.

Corpul de răspuns la em este ceva similar:

Pasul 5: Pasul 5: Codul Ionic E Virtual Studio

Pasul 5: Codul Ionic E Virtual Studio
Pasul 5: Codul Ionic E Virtual Studio

pentru criar pastas și os arquivos pentru necesarii do app

fără prompt de comandă pentru Windows:

ionic start shiot

abra o Visual Studio Code

pentru a construi ca pagini html:

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

codigo conforme arquivo homehtml.txt

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

este necesar gerar o dweet.ts pentru comunicare corect HTTP și dweet

na prompt de comanda na pasta do project:

ionic generează furnizorul trebuie să fie

Em SRC => providers => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importație pentru comunicație

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

codigo conforme arquivo appmodulets.txt

Pasul 6: Pasul 6: Finalização

Pasul 6: Finalização
Pasul 6: Finalização
Pasul 6: Finalização
Pasul 6: Finalização

Fără prompt de comandă de paste de proiect:

servire ionică

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

Sendo gerado uma tela com Led that you can ser ligado ou desligado com uma "chave liga / desliga".

Sendo gerado uma tela com rele that you can ser ligado ou desligado com uma "chave liga / desliga".

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

mai multe detalii nu funcționează fără Dragon.pdf

Recomandat: