Съдържание:

SHIOT: 6 стъпки
SHIOT: 6 стъпки

Видео: SHIOT: 6 стъпки

Видео: SHIOT: 6 стъпки
Видео: Ъпсурт - 3 в 1 [Official HD Video] 2024, Ноември
Anonim
SHIOT
SHIOT

Това е проектирано за десенволвидуване на системата за осветяване чрез Dweet, за използване на хардуерен Dragonborad 410C, който е инсталиран на Linux linaro.

E para o desenvolvimento do applicativo para or smartphone fori utiado o ionic, e IDE Visual studio Code.

Стъпка 1: Стъпка 1: Materiais Uitilizados

Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados
Стъпка 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x линкер мецанин

1 x модулен светодиод

1 x температура по модул

1 x модул за осветяване LDR

1 x модулен сензор за докосване

2 x модулни реле

1 x teclado usb

1 x USB мишка

1 x монитор Hdmi

conexão com интернет

резистор от 1k ома за адаптиране на светодиоди

Стъпка 2: Стъпка 2: Монтаж

Стъпка 2: Монтаж
Стъпка 2: Монтаж
Стъпка 2: Монтаж
Стъпка 2: Монтаж
Стъпка 2: Монтаж
Стъпка 2: Монтаж

а) Plugue o Linker Mezzanine на плаката да Dragonboard 410C

б) Plugue o по модул на температура без конектор до ADC2 до мецанин

в) Plugue o по модул на сензора за осветяване без конектор до ADC1 до мецанин

г) Плъзнете o по модула на сензора, за да няма конектор до D1 до мецанин

д) Plugue o modulo de rele no conector do D2 да мецанин

е) Plugue o по модул Led no conector do D3 да мецанин

ж) Plugue o modulo de rele no conector do D4 да мецанин

з) Изключете монитора без конектор HDMI за Dragonboard 410C

i) Plugue или teclado USB на платка Dragonboard 410C

j) Включете USB мишката на платката Dragonboard 410C

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

OBS 1: Devido ao по модул LED терминали с резистор um 82 ома, смущават медиите до сензора за температура, причинени от отрицателни стойности, които са в действие, сензорът е необходим за използване на резистор на ум с денонощни стойности от 1 k ома, отговарящи на фигурата.

OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, foi needá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 да мецанин

Стъпка 3: Стъпка 3: Codigo Python

#importação das bibliotecas spidev e time

внос spidev

време за импортиране

#importação parcial das bibliotecas

от libsoc import gpio

от gpio_96boards импортирайте GPIO

от dweet внос Dweet

# дефинира das porta analogica, o сензор за осветление и de температура serão definidas por endereçamento.

GPIO_CS = GPIO.gpio_id ('GPIO_CS')

# дефинира 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')

#конфигурации за GPIOS се ВХОДЯТ

пинове = ((GPIO_CS, 'out'), (BUTTON, 'in'), (RELE, 'out'), (LED, 'out'), (RELE2, 'out'),)

#конфигурации 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 ()

#конфигурации за блокиране на светодиоди и RELE

def readDigital (gpio):

цифров = [0, 0]

цифров [0] = gpio.digital_read (LED)

цифров [1] = gpio.digital_read (RELE)

връщане в цифров вид

def writeDigital (gpio, цифров):

write = цифров

gpio.digital_write (LED, запис [0])

gpio.digital_write (RELE, напишете [1])

връщане в цифров вид

#configuração do bloco para o touch, para o systemu или ligar o system

def detectaButton (gpio):

глобален system_status

status = gpio.digital_read (BUTTON)

ако статус == 1:

ако system_status == 0:

system_status = 1

sis_status = "Лигадо"

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

иначе:

system_status = 0

sis_status = "Desligado"

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

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

връщане system_status

#конфигурация за блокиране за температура до температура

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 ("Температура: %2.1f" %adc_temp)

връщане 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)

връщане adcout

#execução dos blocos de comandos

if _name _ == '_ main_':

с GPIO (пинове) като gpio:

докато е вярно:

цифров = [0, 0]

ако detectaButton (gpio) == 1:

lumi = четенеLumi (gpio)

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

ако lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Лигадо"

иначе:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Апагадо"

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

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

цифров [0] = отговор ['с'] [0] ['съдържание'] ['led']

цифров [1] = отговор ['с'] [0] ['съдържание'] ['rele']

writeDigital (gpio, цифров)

temp = readTemp (gpio)

digital = readDigital (gpio)

#imprime os valores de luminosidade, температура

отпечатайте "Temp: %2.1f / nlumi: %d / nled: %d / nrele: %d / n" %(temp, lumi, digital [0], digital [1])

печат ("Luz Externa: %s" %luz_status)

sis_status = "Лигадо"

#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, " система ": sis_status})

#tempo para cada leitura

time.sleep (5)

#devido a metodologia do dweet, deve ser configurado o dweet antes de executar за програма без python.

Стъпка 4: Стъпка 4: Сладко

Стъпка 4: Сладко
Стъпка 4: Сладко
Стъпка 4: Сладко
Стъпка 4: Сладко
Стъпка 4: Сладко
Стъпка 4: Сладко

Em dweet.io, клика em PLAY.

Em dweets: Създавайте или четете duweets в краткосрочен кеш, на аба:

POST/dweet/тихо/за/{thing}

- без parametro нещо escreva shiot, conforme програма feito без python.

- em съдържание escreva:

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 ОПИТАЙТЕ го.

Изпълнете програмата без терминал до Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

На аба ВЗЕМЕТЕ:

GET/get/dweets/for/{thing}

- без parametro нещо escreva shiot, conforme програма feito без python.

e clique no botão ОПИТАЙТЕ го.

Em Response Body е подобно на:

Стъпка 5: Стъпка 5: Ionic E Virtual Studio Code

Стъпка 5: Ionic E Virtual Studio Code
Стъпка 5: Ionic E Virtual Studio Code

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

няма подкана за управление на Windows:

йонно стартиране

abra o Visual Studio Code

para construir като html на paginas:

Em SRC => страници => Начало => home.html

codigo conforme arquivo homehtml.txt

Em SRC => страници => Начало => home.tscodigo conforme arquivo homets.txt

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

на бърз де командо на паста до проето:

ionic генерира dweet на доставчика

Em SRC => доставчици => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

импортиране на комуникационен

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

codigo conforme arquivo appmodulets.txt

Стъпка 6: Стъпка 6: Финализация

Стъпка 6: Финализация
Стъпка 6: Финализация
Стъпка 6: Финализация
Стъпка 6: Финализация

Без подкана de comando da pasta do projeto:

йонно обслужване

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 мониторинг на температурата, Iluminação, Luz externa, e Sistema.

повече подробности за функционирането на Arquivo Dragon.pdf

Препоръчано: