Inhaltsverzeichnis:

SHIOT: 6 Schritte
SHIOT: 6 Schritte

Video: SHIOT: 6 Schritte

Video: SHIOT: 6 Schritte
Video: City Lights only - Portraits bei Dunkelheit - 6 Schritte zum Erfolg - Teil 1 2024, November
Anonim
SHIOT
SHIOT

Es ist ein Projekt für die Installation von Beleuchtungssystemen über Dweet und die Verwendung von Hardware Dragonborad 410C für eine Linux-Installation.

E para o desenvolvimento do aplicativo for o Smartphone foi utilizado o ionic, e o IDE Visual Studio Code.

Schritt 1: Schritt 1: Materiais Uitilizados

Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados
Schritt 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x Linker Mezzanine

1 x Modulo-LED

1 x Modulo de Temperatur

1 x Modulo de Luminosidade LDR

1 x Modulo-Touchsensor

2 x Modulos-Rele

1 x Teclado-USB

1 x Maus usb

1 x Monitor HDMI

conexão com ein Internet

Widerstand de 1k Ohm zur Anpassung an LED

Schritt 2: Schritt 2: Montagem

Schritt 2: Montagem
Schritt 2: Montagem
Schritt 2: Montagem
Schritt 2: Montagem
Schritt 2: Montagem
Schritt 2: Montagem

a) Plugue o Linker Mezzanine an der Stelle von 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) Stecker oder Monitor kein Anschluss HDMI da placa Dragonboard 410C

i) Plugue oder Teclado USB auf dem Dragonboard 410C

j) Stecker oder Maus USB auf Dragonboard 410C. anschließen

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

OBS 1: Devido ao modulo LED ter apenas um Widerstand von 82 Ohm, interferieren mit medição do sensor de temperature causando valores negatives quando é acionado, senso notário and use of the pelos menos de 1k Ohm konforme Figur.

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

Schritt 3: Schritt 3: Codigo-Python

#importação das bibliotecas spidev e time

spidev. importieren

Importzeit

#importação parcial das bibliotecas

aus libsoc importieren gpio

aus gpio_96boards GPIO importieren

von dweet importieren Dweet

# definição das porta analogica, oder sensor de luminosidade e de temperatura serão definidas por endereçamento.

GPIO_CS = GPIO.gpio_id('GPIO_CS')

# definição das portas digitais

TASTE = 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 oder OUT

Pins = ((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)

digital zurück

def writeDigital(gpio, digital):

schreiben = digital

gpio.digital_write(LED, write[0])

gpio.digital_write(RELE, schreiben[1])

zurück digital

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

def DetectaButton (gpio):

globaler system_status

status = gpio.digital_read(BUTTON)

wenn Status == 1:

if system_status == 0:

system_status = 1

sis_status = "Ligado"

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

anders:

system_status = 0

sis_status = "Desligado"

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

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

Systemstatus zurückgeben

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

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

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

Rückkehr 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] & 0xff)

Rückwerber

#execução dos blocos de comandos

wenn _name_=='_main_':

mit GPIO(Pins) als gpio:

während Wahr:

digital = [0, 0]

if DetectaButton(gpio) == 1:

lumi = readLumi(gpio)

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

wenn Lumi < 400:

gpio.digital_write(RELE2, GPIO. HIGH)

luz_status = "Ligado"

anders:

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

digital[0] = resposta['with']['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])

drucken ("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, " sisema":sis_status})

#tempo para cada leitura

Zeit. Schlaf(5)

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

Schritt 4: Schritt 4: Dweet

Schritt 4: Dweet
Schritt 4: Dweet
Schritt 4: Dweet
Schritt 4: Dweet
Schritt 4: Dweet
Schritt 4: Dweet

Em dweet.io, clique in PLAY.

Em Dweets: Dweets im Kurzzeit-Cache erstellen oder lesen, na aba:

POST /dweet/quietly/for/{thing}

- kein parametro Ding escreva shiot, konformes programa feito kein Python.

- em Inhalt escreva:

Diese Parameter sind für Dragonboard410C geeignet, 0 für Liga und 1 für Liga.

e clique no botão PROBIEREN Sie es aus.

Führen Sie o programa no terminal da Dragonboard 410C aus (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba GET:

GET /get/dweets/for/{thing}

- kein parametro Ding escreva shiot, konformes programa feito kein Python.

e clique no botão PROBIEREN Sie es aus.

Em Response Body é obtido algo ähnlich:

{ "this": "succeeded", "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 } }, sende "erfolgreich", identificando que a conexão foi feito com sucesso and sao of parametros osbtidos da Dragonboard410C.

Schritt 5: Schritt 5: Ionic E Virtual Studio Code

Schritt 5: Ionic E Virtual Studio Code
Schritt 5: Ionic E Virtual Studio Code

Para criar Pastas e os arquivos para necessários do app

no prompt de comando do windows:

ionischer Startschuss

abra oder Visual Studio Code

para construir als paginas html:

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

codigo konforme arquivo homehtml.txt

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

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

na prompt de comando na Pasta do projeto:

ionisch generieren Anbieter dweet

Em SRC =>Anbieter=> dweet => dweet.ts

codigo konforme arquivo dweetts.txt

importieren für die

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

codigo konforme arquivo appmodulets.txt

Schritt 6: Schritt 6: Finalização

Schritt 6: Finalisierung
Schritt 6: Finalisierung
Schritt 6: Finalisierung
Schritt 6: Finalisierung

Keine Aufforderung de comando da Pasta do projeto:

ionischer Aufschlag

Sera aberto kein Navigator

Sendo gerado uma tela com Led que pode ser ligado oder desligado com uma "chave liga/desliga".

Sendo gerado uma tela com rele que pode ser ligado oder desligado com uma "chave liga/desliga".

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

mais detalhes do funcionamento no arquivo Dragon.pdf

Empfohlen: