Spisu treści:

SHIOT: 6 kroków
SHIOT: 6 kroków

Wideo: SHIOT: 6 kroków

Wideo: SHIOT: 6 kroków
Wideo: 9-latka zabija instruktora strzelectwa z karabinu UZI. 2024, Październik
Anonim
SHIOT
SHIOT

Este projeto foi desenvolvido para um sistema de iluminação przez Dweet, e foi utilizado o hardware Dragonborad 410C com uma versão linux linaro instalado.

E para o desenvolvimento zrobić aplicativo dla smartfona za pomocą jonowego, e o IDE Visual studio Code.

Krok 1: Krok 1: Materiais Uitilizados

Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados
Krok 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x antresola łącząca

1 x dioda modulo

1 x moduł temperatury

1 x moduł luminozydacji LDR

1 x czujnik dotykowy modulo

2 x moduły rele

1 x usb teclado

1 x mysz USB

1 x monitor HDMI

conexão com a internet

rezystor 1k Ohm dla adaptacji do led

Krok 2: Krok 2: Montaż

Krok 2: montaż
Krok 2: montaż
Krok 2: montaż
Krok 2: montaż
Krok 2: montaż
Krok 2: montaż

a) Wtyczka 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)Plugue o monitor bez złącza HDMI da placa Dragonboard 410C

i) Wtyczka USB do gniazda Dragonboard 410C

j) Wtyczka USB do myszy na płycie Dragonboard 410C

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

OBS 1: Devido ao modulo LED ter apenas um rezystor 82 Ohm, interfer na medição do sensor de temperatura causando valores negativos quando é acionado, senso necessário a utilização de um rezystor de pelos menos 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 de sinal no D_G da

Krok 3: Krok 3: Codigo Python

#Importuj das bibliotecas spidev e time

importuj spidev

czas importu

#importação parcial das bibliotecas

z libsoc importuj gpio

z gpio_96boards importuj GPIO

z dweet importuj 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

PRZYCISK = 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 lub OUT

piny = ((GPIO_CS, 'out'), (BUTTON, 'in'), (RELE, 'out'), (LED, 'out'), (RELE2, 'out'),)

#configurações das portas analagicas

spi = spidev. SpiDev()

spi.otwarte(0, 0)

spi.max_speed_hz = 10000

tryb spisu = 0b00

spi.bits_per_word = 8

stan_systemu = 1

dweet = dweet()

#configurações do bloco de comando LED i RELE

def readDigital(gpio):

cyfrowy = [0, 0]

digital[0] = gpio.digital_read(LED)

cyfrowy[1] = gpio.digital_read(REL)

powrót cyfrowy

def writeDigital(gpio, digital):

napisz = cyfrowy

gpio.digital_write(LED, write[0])

gpio.digital_write(RELE, napisz[1])

powrót cyfrowy

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

def detectaButton(gpio):

globalny stan_systemu

status = gpio.digital_read(BUTTON)

jeśli stan == 1:

jeśli status_systemu == 0:

stan_systemu = 1

sis_status = "Ligado"

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

w przeciwnym razie:

stan_systemu = 0

sis_status = "Odrzucono"

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

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

zwróć stan_systemu

#configuração do bloco para leitura da temperatura

def readTemp(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

czas.snu(0.0002)

gpio.digital_write(GPIO_CS, GPIO. LOW)

r = spi.xfer2([0x01, 0xA0, 0x00])

gpio.digital_write(GPIO_CS, GPIO. HIGH)

reklama = (r[1] << 8) & 0b1100000000

reklama = reklama | (r[2] i 0xff)

adc_temp = (adcout *5,0/1023-0,5)*100

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

powrót adc_temp

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

def readLumi(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

czas.snu(0.0002)

gpio.digital_write(GPIO_CS, GPIO. LOW)

r = spi.xfer2([0x01, 0x80, 0x00])

gpio.digital_write(GPIO_CS, GPIO. HIGH)

reklama = (r[1] << 8) & 0b1100000000

reklama = reklama | (r[2] i 0xff)

zwrot reklamy

#execução dos blocos de comandos

jeśli _nazwa_=='_main_':

z GPIO(pinami) jako gpio:

podczas gdy prawda:

cyfrowy = [0, 0]

jeśli DetectaButton(gpio) == 1:

lumi = czytajLumi(gpio)

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

jeśli światło < 400:

gpio.digital_write(RELE2, GPIO. HIGH)

luz_status = "Ligado"

w przeciwnym razie:

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'][0]['content']['led']

digital[1] = resposta['with'][0]['content']['rele']

writeDigital(gpio, cyfrowe)

temp = odczytaj Temp (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])

drukuj ("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, " system:sis_status})

#tempo para cada leitura

czas.sen(5)

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

Krok 4: Krok 4: Tweet

Krok 4: Tweet
Krok 4: Tweet
Krok 4: Tweet
Krok 4: Tweet
Krok 4: Tweet
Krok 4: Tweet

Em dweet.io, klika em PLAY.

Em dweets: Twórz lub czytaj tweety w krótkoterminowej pamięci podręcznej, na aba:

POST /dweet/cicho/dla/{rzecz}

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

- em treść escreva:

Que são os paras enviados do dweet dla Dragonboard410C, wyślij 0 dla delegowania i 1 dla ligado.

e Clique no botão WYPRÓBUJ.

Wykonaj program bez terminala z Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba OTRZYMAJ:

POBIERZ /get/dweets/for/{thing}

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

e Clique no botão WYPRÓBUJ.

Em Response Body é obtido algo podobne:

{ "this": "succeeded", "by": "getting", "the": "dweets", "with": [{ "thing": "shiot", "created": "2017-12-03T19: 30:11.458Z", "treść": { "Temperatura": 25.2688172043, "led": 0, "Luminosidade": 504, "Luz_externa": "Apagado", "sistema": "Ligado", "rele": 0 } }, Sendo „udało się”, identificando que a conexão foi feito com sucesso e são os parametros osbtidos da Dragonboard410C.

Krok 5: Krok 5: Kod Ionic E Virtual Studio

Krok 5: Kod wirtualnego studia Ionic E
Krok 5: Kod wirtualnego studia Ionic E

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

brak podpowiedzi de comando do windows:

jonowy start shiot

abra o Visual Studio Code

para construir jako paginas html:

Em SRC =>strony=>Strona główna =>home.html

codigo conforme arquivo homehtml.txt

Em SRC =>strony=> Strona główna => 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:

dostawca generowania jonów dweet

Em SRC =>dostawcy=> dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importação para comunicação

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

codigo conforme arquivo appmodulets.txt

Krok 6: Krok 6: Finalizacja

Krok 6: Finalizacja
Krok 6: Finalizacja
Krok 6: Finalizacja
Krok 6: Finalizacja

Brak szybkiego de comando da pasta do projeto:

jonowa porcja

Sera aberto no navegador

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

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

Monitorowanie monitoringu Temperatura, Iluminação, Luz externa, e Sistema.

mais detalhes do funcionamento no arquivo Dragon.pdf

Zalecana: