Mục lục:

SHIOT: 6 bước
SHIOT: 6 bước

Video: SHIOT: 6 bước

Video: SHIOT: 6 bước
Video: 6 bước học học mọi loại đàn #shots 2024, Tháng mười một
Anonim
SHIOT
SHIOT

Este projeto foi desenvolvido para um sistema de iluminação qua Dweet, e foi useizado o phần cứng Dragonborad 410C com uma versão linux linaro instalado.

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

Bước 1: Bước 1: Materiais Uitilizados

Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados
Bước 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x tầng lửng liên kết

1 x led modulo

1 x modulo de temperatura

1 x modulo de luminosidade LDR

1 x cảm biến cảm ứng modulo

2 x mô-đun xuống hạng

1 x usb teclado

1 x chuột usb

1 x màn hình hdmi

conexão com một internet

điện trở de 1k Ohms para adaptação do led

Bước 2: Bước 2: Montagem

Bước 2: Montagem
Bước 2: Montagem
Bước 2: Montagem
Bước 2: Montagem
Bước 2: Montagem
Bước 2: Montagem

a) Plugue o Linker Mezzanine na sa khoáng da Dragonboard 410C

b) Plugue o modulo de temperatura no conector do ADC2 da lửng

c) Plugue o modulo de sensor de luminosidade no conector do ADC1 da lửng

d) Plugue o modulo de sensor toque no conector do D1 da lửng

e) Plugue o modulo de des no conector do D2 da lửng

f) Plugue o modulo Led không có đầu nối hình nón do D3 da lửng

g) Plugue o modulo de des no conector do D4 da lửng

h) Đầu cắm o màn hình không có đầu cắm HDMI da sa khoáng Dragonboard 410C

i) Plugue o teclado USB na nhau Bảng rồng 410C

j) Đầu cắm o chuột USB na nhau Bảng rồng 410C

l) Plugue a fonte de alimentação na sa khoáng Bảng rồng 410C

OBS 1: Devido ao modulo LED ter apenas um điện trở de 82 Ohms, giao thoa na trung gian do cảm biến de temperatura causando valores negativos quando é acionado, senso needário a useização de um điện trở de pelos menos de 1k Ohms conforme figura.

OBS 2: Bộ áo khoác Devido da lửng có thể sở hữu các loài vượn cáo um modulo xuống, foi cần thiết phải điều chỉnh bộ thích ứng um modulo xuống chi tiết, thiết bị có hình nón D4 da lửng, interligando cabo VCC không có VCC, GND không GND, e o de sinal no D_G da lửng

Bước 3: Bước 3: Codigo Python

# importação das bibliotecas spidev e time

nhập khẩu spidev

thời gian nhập khẩu

# importação parcial das bibliotecas

từ libsoc nhập gpio

từ gpio_96boards nhập GPIO

từ dweet nhập Dweet

# Defção das porta analogica, o sensor de luminosidade e de temperatura serão Defdas por endereçamento.

GPIO_CS = GPIO.gpio_id ('GPIO_CS')

# Defção 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')

# configurações das GPIOS se IN ou OUT

các chân = ((GPIO_CS, 'out'), (NÚT, '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):

kỹ thuật số = [0, 0]

kỹ thuật số [0] = gpio.digital_read (LED)

kỹ thuật số [1] = gpio.digital_read (RELE)

trả lại kỹ thuật số

def writeDigital (gpio, digital):

ghi = kỹ thuật số

gpio.digital_write (LED, ghi [0])

gpio.digital_write (RELE, viết [1])

trả lại kỹ thuật số

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

def DetaButton (gpio):

global system_status

status = gpio.digital_read (BUTTON)

nếu trạng thái == 1:

nếu system_status == 0:

system_status = 1

sis_status = "Ligado"

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

khác:

system_status = 0

sis_status = "Desligado"

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

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

trả về system_status

# 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 ("Temperatura:% 2.1f"% adc_temp)

trả lại 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)

trả lại adcout

# executeução dos blocos de comandos

if _name _ == '_ main_':

với GPIO (chân) dưới dạng gpio:

trong khi Đúng:

kỹ thuật số = [0, 0]

nếu detaButton (gpio) == 1:

lumi = readLumi (gpio)

# Verificação da luminosidade para acionamento do eval do conector D4

nếu lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Ligado"

khác:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Apagado"

# Verificação no dweet para acionamento đã dẫn đầu e / ou xuống hạng

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

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

kỹ thuật số [1] = resposta ['với'] [0] ['nội dung'] ['xuống hạng']

writeDigital (gpio, kỹ thuật số)

temp = readTemp (gpio)

kỹ thuật số = 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], "eval": digital [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " Sistema ": sis_status})

#tempo para cada leitura

time.sleep (5)

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

Bước 4: Bước 4: Dweet

Bước 4: Dweet
Bước 4: Dweet
Bước 4: Dweet
Bước 4: Dweet
Bước 4: Dweet
Bước 4: Dweet

Em dweet.io, clique em CHƠI.

Em dweets: Tạo hoặc đọc dweet trong bộ nhớ cache ngắn hạn, na aba:

ĐĂNG / dweet / lặng lẽ / cho / {điều}

- không có điều parametro escreva shiot, conforme programma feito không có python.

- em nội dung 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 HÃY THỬ.

Thực thi o programma no terminal da Dragonboard 410C (este deve estar conectado em uma red com internet):

sudo python smart.py

Na aba NHẬN:

GET / get / dweets / for / {thing}

- không có điều parametro escreva shiot, conforme programma feito không có python.

e clique no botão HÃY THỬ.

Em Response Body é obtido algo tương tự:

Bước 5: Bước 5: Mã Ionic E Virtual Studio Code

Bước 5: Mã Ionic E Virtual Studio
Bước 5: Mã Ionic E Virtual Studio

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

no prompt de comando do windows:

ionic start shiot

abra o Mã Visual Studio

para construir as paginas html:

Em SRC => trang => Trang chủ => home.html

codigo conforme arquivo homehtml.txt

Em SRC => trang => Trang chủ => home.tscodigo conforme arquivo homets.txt

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

na prompt de comando na pasta do projeto:

dweet nhà cung cấp tạo ion

Em SRC => nhà cung cấp => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importação para comunicação

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

codigo conforme arquivo appmodulets.txt

Bước 6: Bước 6: Finalização

Bước 6: Finalização
Bước 6: Finalização
Bước 6: Finalização
Bước 6: Finalização

No prompt de comando da pasta do projeto:

giao bóng ion

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 des que pode ser ligado ou desligado com uma "chave liga / desliga".

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

mais detalhes do funcionamento no arquivo Dragon.pdf

Đề xuất: