Indholdsfortegnelse:

SHIOT: 6 trin
SHIOT: 6 trin

Video: SHIOT: 6 trin

Video: SHIOT: 6 trin
Video: Trin (Tsquad) vs Serenity (Doc) I FOLLOW @TOMMYTHECLOWN ON INSTAGRAM ​ 2024, November
Anonim
SHIOT
SHIOT

Este projeto foi desenvolvido para um system of iluminação via Dweet, e foi utilizado or hardware Dragonborad 410C com uma versão linux linaro instalado.

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

Trin 1: Trin 1: Materiais Uitilizados

Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados
Trin 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x linker Mezzanin

1 x modulo led

1 x temperaturmodul

1 x modulo de luminosidade LDR

1 x modulo touch sensor

2 x moduler rele

1 x teclado usb

1 x mus usb

1 x skærm Hdmi

conexão com et internet

modstand på 1k Ohms til tilpasning af led

Trin 2: Trin 2: Montagem

Trin 2: Montagem
Trin 2: Montagem
Trin 2: Montagem
Trin 2: Montagem
Trin 2: Montagem
Trin 2: Montagem

a) Plugue o Linker Mezzanine og placa da Dragonboard 410C

b) Plugue o temperaturo modulo no conector do ADC2 da mezzanine

c) En modul til sensorens lysopbygning uden konektor til ADC1 fra mezzanin

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) Tilslutning til skærm uden konnektor HDMI og placere Dragonboard 410C

i) USB -tilslutning til Dragonboard 410C

j) USB -stik til mus og Dragonboard 410C

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

OBS 1: LED -moduler til modstand på 82 ohm, forstyrrer temperaturen i sensoren, forårsager en negativ reaktion, en følelse, der er nødvendig for at bruge en modstand i pelosmenoerne i 1 k ohm -figurer.

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

Trin 3: Trin 3: Codigo Python

#importação das bibliotecas spidev e time

import spidev

importtid

#importação parcial das bibliotecas

fra libsoc import gpio

importere GPIO fra gpio_96boards

fra 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

BUTTON = GPIO.gpio_id ('GPIO_A')

RELE = GPIO.gpio_id ('GPIO_C')

LED = GPIO.gpio_id ('GPIO_E')

RELE2 = GPIO.gpio_id ('GPIO_G')

#konfigurações das GPIOS se IN ou OUT

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

#konfiguraçõ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 ()

#konfiguraçõ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)

returnere digitalt

def writeDigital (gpio, digital):

skrive = digital

gpio.digital_write (LED, skriv [0])

gpio.digital_write (RELE, skriv [1])

returnere digitalt

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

def detectaButton (gpio):

globalt system_status

status = gpio.digital_read (BUTTON)

hvis status == 1:

hvis systemstatus == 0:

system_status = 1

sis_status = "Ligado"

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

andet:

system_status = 0

sis_status = "Desligado"

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

dweet.dweet_by_name (navn = "shiot", data = {"system": sis_status})

returnere system_status

#konfiguraçã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)

returner adc_temp

#konfiguraçã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)

return adcout

#execução dos blocos de comandos

hvis _navn _ == '_ main_':

med GPIO (pins) som gpio:

mens det er sandt:

digital = [0, 0]

hvis detectaButton (gpio) == 1:

lumi = readLumi (gpio)

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

hvis lumi <400:

gpio.digital_write (RELE2, GPIO. HIGH)

luz_status = "Ligado"

andet:

gpio.digital_write (RELE2, GPIO. LOW)

luz_status = "Apagado"

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

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

digital [0] = resposta ['med'] [0] ['indhold'] ['led']

digital [1] = resposta ['med'] [0] ['indhold'] ['rele']

writeDigital (gpio, digital)

temp = readTemp (gpio)

digital = readDigital (gpio)

#imprime os valores de luminosidade, temperatur

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 for dweet

dweet.dweet_by_name (navn = "shiot", data = {"led": digital [0], "rele": digital [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " system ": sis_status})

#tempo for cada leitura

tid. sover (5)

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

Trin 4: Trin 4: Dweet

Trin 4: Dweet
Trin 4: Dweet
Trin 4: Dweet
Trin 4: Dweet
Trin 4: Dweet
Trin 4: Dweet

Em dweet.io, klik på PLAY.

Em dweets: Opret eller læs dweets på kort sigt cache, aba:

POST/dweet/stille/for/{ting}

- ingen parametro ting escreva shiot, conforme programa feito no python.

- em indhold escreva:

Du kan også parametre os på en måde, som du kan skrive til en Dragonboard410C, sende 0 til en enkelt del.

e clique no botão PRØV det.

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

sudo python smart.py

Na aba FÅ:

GET/get/dweets/for/{ting}

- ingen parametro ting escreva shiot, conforme programa feito no python.

e clique no botão PRØV det.

Em Response Body é obtido algo lignende:

Trin 5: Trin 5: Ionic E Virtual Studio Code

Trin 5: Ionic E Virtual Studio Code
Trin 5: Ionic E Virtual Studio Code

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

no prompt de comando do windows:

ionisk start shiot

fra Visual Studio Code

para construir as paginas html:

Em SRC => sider => Hjem => hjem.html

codigo conforme arquivo homehtml.txt

Em SRC => sider => Hjem => home.tscodigo conforme arquivo homets.txt

é nødvendigario gerar o dweet.ts para comunicar corretamente HTTP e dweet

efter en hurtig kommando til pasta til projeto:

ionisk generere udbyder dweet

Em SRC => udbydere => dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importação for comunicação

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

codigo conforme arquivo appmodulets.txt

Trin 6: Trin 6: Finalização

Trin 6: Finalização
Trin 6: Finalização
Trin 6: Finalização
Trin 6: Finalização

Ingen prompt de comando da pasta do projeto:

ionisk servering

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 monitoramento de Temperatura, Iluminação, Luz externa, e Sistema.

mais detalhes do funcionamento no arquivo Dragon.pdf

Anbefalede: