Table des matières:

SHIOT: 6 étapes
SHIOT: 6 étapes

Vidéo: SHIOT: 6 étapes

Vidéo: SHIOT: 6 étapes
Vidéo: 6 étapes pour APPRENDRE LE RAPPEL à mon chien ! 2024, Octobre
Anonim
MERDE
MERDE

Ce projet a été conçu pour un système d'éclairage via Dweet, et pour l'utilisation du matériel Dragonborad 410C avec une version linux de l'installation.

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

Étape 1: Étape 1: Matériel utilisé

Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados
Étape 1: Matériaux Uitilizados

1 x Dragonboard 410C

1 x éditeur de liens Mezzanine

1 x led modulo

1 x modulo de température

1 x modulo de luminosidade LDR

1 x capteur tactile modulo

2 x modulos rele

1 x usb technique

1 x souris usb

1 x moniteur HDMI

conexão com un internet

résistance de 1k Ohms pour adaptação do led

Étape 2: Étape 2: Montage

Étape 2: Montage
Étape 2: Montage
Étape 2: Montage
Étape 2: Montage
Étape 2: Montage
Étape 2: Montage

a) Plugue o Linker Mezzanine sur la place du Dragonboard 410C

b) Plugue o modulo de temperature 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 no conector HDMI da placa Dragonboard 410C

i) Plugue o teclado USB na placa Dragonboard 410C

j) Plugue o mouse USB na placa Dragonboard 410C

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

OBS 1: Devido ao modulo LED ter apenas um résistance de 82 Ohms, interfère avec le capteur de température causando valores negativos quando é acionado, senso necessário a utilização de um resistance de pelos menos de 1k Ohms conform 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 o de sinal no D_G da mezzanine

Étape 3: Étape 3: Codigo Python

#importação das bibliotecas spidev e time

importer spidev

heure d'importation

#importação parcial das bibliotecas

depuis libsoc importer gpio

depuis gpio_96boards importer GPIO

de dweet importer Dweet

# definição das porta analogica, o sensor de luminosidade e de temperature serão definidas por endereçamento.

GPIO_CS = GPIO.gpio_id('GPIO_CS')

# definição das portas digitais

BOUTON = 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

broches = ((GPIO_CS, 'out'), (BUTTON, '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

état_système = 1

dweet = Dweet()

#configurações do bloco de commando LED e RELE

def readDigital(gpio):

numérique = [0, 0]

digital[0] = gpio.digital_read(LED)

numérique[1] = gpio.digital_read(RELE)

retour numérique

def writeDigital (gpio, numérique):

écrire = numérique

gpio.digital_write(LED, écriture[0])

gpio.digital_write(RELE, écrire[1])

retour numérique

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

def detectaButton(gpio):

état_système global

status = gpio.digital_read(BUTTON)

si état == 1:

si état_système == 0:

état_système = 1

sis_status = "Ligade"

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

autre:

état_système = 0

sis_status = "Desligado"

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

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

retourner system_status

#configuração do bloco para leitura da temperatura

def readTemp(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

temps.sommeil(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("Température:%2.1f " %adc_temp)

retourner adc_temp

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

def readLumi(gpio):

gpio.digital_write(GPIO_CS, GPIO. HIGH)

temps.sommeil(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 annonce

#execução dos blocos de commandos

si _name_=='_main_':

avec GPIO (broches) comme gpio:

tant que vrai:

numérique = [0, 0]

si detectaButton(gpio) == 1:

lumi = lireLumi(gpio)

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

si lumi < 400:

gpio.digital_write(RELE2, GPIO. HIGH)

luz_status = "Ligado"

autre:

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, numérique)

temp = readTemp(gpio)

numérique = lireDigital(gpio)

#imprime os valores de luminosidade, temperature

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 = "Ligade"

#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, " système":sis_status})

#tempo para cada leitura

heure.sommeil(5)

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

Étape 4: Étape 4: Dweet

Étape 4: Dweet
Étape 4: Dweet
Étape 4: Dweet
Étape 4: Dweet
Étape 4: Dweet
Étape 4: Dweet

Em dweet.io, clique em PLAY.

Em dweets: Créer ou lire des dweets dans un cache à court terme, na aba:

POST /dweet/silencieusement/pour/{chose}

- aucune chose parametro escreva shiot, conforme programa feito no python.

- em contenu escreva:

Que são os para os parametros enviados do doweet para a Dragonboard410C, sendo 0 para desligado e 1 para ligado.

e clique no botão ESSAYEZ-LE.

Exécutez o programa no terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):

sudo python smart.py

Na aba OBTENIR:

GET /get/dweets/for/{chose}

- aucune chose parametro escreva shiot, conforme programa feito no python.

e clique no botão ESSAYEZ-LE.

Em Response Body é obtido algo similaire:

{ "this": "succeeded", "by": "getting", "the": "dweets", "with": [{ "chose": "shiot", "created": "2017-12-03T19: 30:11.458Z", "content": { "Temperatura": 25.2688172043, "led": 0, "Luminosidade": 504, "Luz_externa": "Apagado", "sistema": "Ligado ", "rele": 0 } }, envoyer "réussi", identificando que a conexão fo feito com successo e são os parametros osbtidos da Dragonboard410C.

Étape 5: Étape 5: Code du studio virtuel Ionic E

Étape 5: Code du studio virtuel Ionic E
Étape 5: Code du studio virtuel Ionic E

pour les pâtes e os arquivos para necessários do app

pas d'invite de commande pour windows:

shit de démarrage ionique

ouvrir le code Visual Studio

para construir comme paginas html:

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

codigo conforme arquivo homehtml.txt

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

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

na prompt de commande na pasta do projeto:

fournisseur de génération ionique dweet

Em SRC =>fournisseurs=> dweet => dweet.ts

code conforme arquivo dweetts.txt

importation pour la communication

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

codigo conforme arquivo appmodulets.txt

Étape 6: Étape 6: Finalisation

Étape 6: Finalisation
Étape 6: Finalisation
Étape 6: Finalisation
Étape 6: Finalisation

Pas d'invite de commande de pasta do projeto:

service ionique

Sera aberto no navegador

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

Conseillé: