Inhoudsopgave:

SHIOT: 6 stappen
SHIOT: 6 stappen

Video: SHIOT: 6 stappen

Video: SHIOT: 6 stappen
Video: Architectuurfotografie voor beginners (in 6 stappen) | Canon Nederland 2024, November
Anonim
SHIOT
SHIOT

Este projeto foi desenvolvido para um sistema de iluminação via Dweet, en foi utilizado o 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.

Stap 1: Stap 1: Materiais Uitilizados

Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados
Stap 1: Materiais Uitilizados

1 x Dragonboard 410C

1 x linker Mezzanine

1 x modulaire led

1 x temperatuurmodulo

1 x lichtmodule LDR

1 x modulo aanraaksensor

2 x modulerele

1 x teclado-usb

1 x muis-usb

1 x monitor HDMI

conexão com een internet

weerstand van 1k Ohm voor adaptaço do led

Stap 2: Stap 2: Montagem

Stap 2: Montagem
Stap 2: Montagem
Stap 2: Montagem
Stap 2: Montagem
Stap 2: Montagem
Stap 2: Montagem

a) Plugue o Linker Mezzanine op Dragonboard 410C

b) Plugu o modulaire temperatuur geen conector doen ADC2 da mezzanine

c) Plugue of module van sensor de luminosidade geen aansluiting op ADC1 op mezzanine

d) Plugu o module de sensor toque geen conector do D1 da mezzanine

e) Plugu o moduul de rele no conector do D2 da mezzanine

f)Plugu o modulo Led geen conector do D3 da mezzanine

g)Plugu of modulo de rele no conector do D4 da mezzanine

h)Plugu o monitor geen connector HDMI da placa Dragonboard 410C

i) Plug-up voor teclado USB op Dragonboard 410C

j) Plugu of muis USB en placa Dragonboard 410C

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

OBS 1: Devido en modulaire LED ter apenas um weerstand van 82 Ohm, interfereren met de temperatuursensor van de sensor, oorzaak en gevolg van negativos en acionado, Senso necessário de um weerstand de pelos menos de 1k Ohms conforme figura.

OBS 2: Devido en een kit van een mezzanine die kan worden uitgerust met een modulaire rele, die nodig is om een modulaire rele generieke aan te passen, gebruik te maken van geen connector D4 van een mezzanine, een interligando cabo VCC no VCC, GND no GND, en van een sinal no D_G da mezzanine

Stap 3: Stap 3: Codigo Python

#importação das bibliotecas spidev e time

import spidev

import tijd

#importação parcial das bibliotecas

van libsoc import gpio

van gpio_96boards importeer GPIO

van dweet import Dweet

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

GPIO_CS = GPIO.gpio_id('GPIO_CS')

# definição das portas digitais

KNOP = 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 of OUT

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

#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 en RELE

def readDigital(gpio):

digitaal = [0, 0]

digital[0] = gpio.digital_read(LED)

digitaal[1] = gpio.digitale_read(RELE)

digitaal retourneren

def writeDigital(gpio, digitaal):

schrijven = digitaal

gpio.digital_write(LED, schrijven[0])

gpio.digital_write(RELE, schrijf[1])

digitaal retourneren

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

def detectaButton(gpio):

globale systeemstatus

status = gpio.digital_read(BUTTON)

als status == 1:

als systeemstatus == 0:

system_status = 1

sis_status = "Ligado"

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

anders:

systeemstatus = 0

sis_status = "Desligado"

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

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

return system_status

#configuração do bloco para leitura da temperatura

def readTemp(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

tijd.slaap(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("Temperatuur:%2.1f" %adc_temp)

return adc_temp

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

def leesLumi(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

tijd.slaap(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)

retour advertentie

#execução dos blocos de comandos

if _name_=='_main_':

met GPIO(pinnen) als gpio:

terwijl waar:

digitaal = [0, 0]

if detectaButton(gpio) == 1:

lumi = leesLumi(gpio)

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

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

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

schrijvenDigitaal(gpio, digitaal)

temp = leesTemp (gpio)

digitaal = leesDigitaal(gpio)

#imprime os valores de luminosidade, temperatuur

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], "rele": digital[1], "Temperatura":temp, "Luminosidade": lumi, "Luz_externa": luz_status, " sistema":sis_status})

#tempo para cada leitura

tijd.slaap(5)

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

Stap 4: Stap 4: Dweet

Stap 4: Dweet
Stap 4: Dweet
Stap 4: Dweet
Stap 4: Dweet
Stap 4: Dweet
Stap 4: Dweet

Em dweet.io, kliek en PLAY.

Em dweets: maak of lees dweets in cache voor de korte termijn, na aba:

POST /dweet/stil/voor/{thing}

- geen parametro ding escreva shiot, conforme programa feito geen python.

- em inhoud escreva:

U kunt kiezen voor een van de parameters die u kunt gebruiken voor Dragonboard410C, 0 verzenden voor desligado en 1 voor ligado.

e clique no botão PROBEER het uit.

Voer een programma uit zonder terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba GET:

GET /get/dweets/for/{thing}

- geen parametro ding escreva shiot, conforme programa feito geen python.

e clique no botão PROBEER het uit.

Em Response Body é obtido algo vergelijkbaar:

{ "this": "geslaagd", "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 } }, sendo "geslaagd", identificando que a conexão foi feito com sucesso e são os parametros osbtidos da Dragonboard410C.

Stap 5: Stap 5: Ionic E Virtual Studio-code

Stap 5: Ionic E Virtual Studio-code
Stap 5: Ionic E Virtual Studio-code

para criar pasta's en arquivos para necessários do app

geen prompt de command do windows:

ionische start shiot

abra o Visual Studio Code

para construir als pagina's html:

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

codigo conforme arquivo homehtml.txt

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

e necessario gerar o dweet.ts para comunicar corretamente HTTP en dweet

na prompt de comando na pasta do projeto:

ionische generator dweet

Em SRC =>providers=> dweet => dweet.ts

codigo conforme arquivo dweetts.txt

importação para comunicação

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

codigo conforme arquivo appmodulets.txt

Stap 6: Stap 6: Finaliseren

Stap 6: Finaliseren
Stap 6: Finaliseren
Stap 6: Finaliseren
Stap 6: Finaliseren

Geen prompt de comando da pasta do projeto:

ionische serve

Sera aberto geen navegador

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

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

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

meer informatie over het functioneren van Dragon.pdf

Aanbevolen: