Sommario:

SHIOT: 6 Passi
SHIOT: 6 Passi

Video: SHIOT: 6 Passi

Video: SHIOT: 6 Passi
Video: The Pharcyde - Passin' Me By (Official Music Video) 2024, Dicembre
Anonim
SHIOT
SHIOT

Questo progetto consente di configurare il sistema di illuminazione tramite Dweet e di utilizzare l'hardware Dragonborad 410C con una versione di Linux in fase di installazione.

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

Fase 1: Fase 1: Materiais Uitilizados

Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados
Fase 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x linker mezzanino

1 x modulo led

1 x modulo di temperatura

1 x modulo di luminosità LDR

1 x sensore tattile modulo

2 x moduli rele

1 x teclado usb

1 x mouse USB

1 x monitor Hdmi

conexão com a internet

resistore da 1k Ohm per l'adattamento del led

Passaggio 2: Passaggio 2: Montaggio

Passaggio 2: montaggio
Passaggio 2: montaggio
Passaggio 2: montaggio
Passaggio 2: montaggio
Passaggio 2: montaggio
Passaggio 2: montaggio

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) 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) Spina o monitor senza connettore HDMI da placa Dragonboard 410C

i) Plugue o teclado USB na placa Dragonboard 410C

j) Spina o mouse USB sulla scheda Dragonboard 410C

l) Collega una fonte di alimentazione sulla 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 values negatives quando é acionado, senso necessário a utilização de um resistor de um resistor de menos de 1k Ohms conforme figura.

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

Passaggio 3: Passaggio 3: Codigo Python

#importação das bibliotecas spidev e time

import spidev

tempo di importazione

#importação parcial das bibliotecas

da libsoc import gpio

da gpio_96boards importa GPIO

da 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

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

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

stato_sistema = 1

dweet = Dweet()

#configurazioni del blocco di comando LED e RELE

def readDigital(gpio):

digitale = [0, 0]

digital[0] = gpio.digital_read(LED)

digital[1] = gpio.digital_read(RELE)

ritorno digitale

def writeDigital(gpio, digital):

scrivere = digitale

gpio.digital_write(LED, scrivi[0])

gpio.digital_write(RELE, write[1])

ritorno digitale

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

def detectaButton(gpio):

stato_sistema globale

stato = gpio.digital_read(BUTTON)

se stato == 1:

se system_status == 0:

stato_sistema = 1

sis_status = "Ligado"

print ("Stato del sistema %s" %sis_status)

altro:

stato_sistema = 0

sis_status = "Desligado"

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

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

ritorno system_status

#configuração do bloco para leitura da temperatura

def readTemp(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

tempo.sonno(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] e 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)

tempo.sonno(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] e 0xff)

ritorna adcout

#esecuzione dei blocchi di comando

if _name_=='_main_':

con GPIO (pin) come gpio:

mentre vero:

digitale = [0, 0]

if detectaButton(gpio) == 1:

lumi = readLumi(gpio)

# verifica della luminosità per l'attivazione del collegamento con il connettore D4

se lumi < 400:

gpio.digital_write(RELE2, GPIO. HIGH)

luz_status = "Ligado"

altro:

gpio.digital_write(RELE2, GPIO. LOW)

luz_status = "Apagado"

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

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

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

digital[1] = resposta['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, " sistema":sis_status})

#tempo para cada leitura

tempo.sonno(5)

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

Passaggio 4: Passaggio 4: Dweet

Passaggio 4: Dweet
Passaggio 4: Dweet
Passaggio 4: Dweet
Passaggio 4: Dweet
Passaggio 4: Dweet
Passaggio 4: Dweet

Em dweet.io, cricca em PLAY.

Em dweets: crea o leggi i dweet nella cache a breve termine, na aba:

POST /dweet/tranquillamente/per/{cosa}

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

- escreva il contenuto:

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

e clique no botão PROVALO.

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

sudo python smart.py

Na aba OTTIENI:

OTTIENI /get/dweets/per/{cosa}

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

e clique no botão PROVALO.

Em Response Body è obtido algo simile:

{ "this": "successed", "by": "getting", "the": "dweets", "with": [{ "thing": "shiot", "created": "2017-12-03T19: 30:11.458Z", "content": { "Temperatura": 25.2688172043, "led": 0, "Luminosidade": 504, "Luz_externa": "Apagado", "sistema": "Ligado ", "rele": 0 } }, invia "succeeded", identificando que a conexão foi feito com successo e são os parametro osbtidos da Dragonboard410C.

Passaggio 5: Passaggio 5: codice Ionic E Virtual Studio

Passaggio 5: codice Ionic E Virtual Studio
Passaggio 5: codice Ionic E Virtual Studio

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

nessun prompt di comando do windows:

inizio ionicoshi

abra o Visual Studio Code

para construir as paginas html:

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

codigo conforme arquivo homehtml.txt

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

è necessario gerar o dweet.ts para comunicar correttamente HTTP e dweet

na prompt de comando na pasta do projeto:

ionico genera provider dweet

Em SRC => fornitori => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importazione per la comunicazione

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

codigo conforme arquivo appmodulets.txt

Passaggio 6: Passaggio 6: Finalizzazione

Passaggio 6: finalizzazione
Passaggio 6: finalizzazione
Passaggio 6: finalizzazione
Passaggio 6: finalizzazione

No prompt de comando da pasta do projeto:

servizio ionico

Sera aberto no navegador

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 monitoraggio della temperatura, Iluminação, Luz externa, e Sistema.

maggiori dettagli sul funzionamento senza archivio Dragon.pdf

Consigliato: