Table des matières:
- Étape 1: Étape 1: Matériel utilisé
- Étape 2: Étape 2: Montage
- Étape 3: Étape 3: Codigo Python
- Étape 4: Étape 4: Dweet
- Étape 5: Étape 5: Code du studio virtuel Ionic E
- Étape 6: Étape 6: Finalisation
Vidéo: SHIOT: 6 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
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é
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
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
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
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
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é:
Comment fabriquer une antenne double biquade 4G LTE en quelques étapes faciles : 3 étapes
Comment créer une antenne double biquade 4G LTE Étapes faciles : La plupart du temps, je n'ai pas une bonne force de signal pour mes travaux quotidiens. Donc. Je recherche et essaye différents types d'antenne mais ne fonctionne pas. Après une perte de temps, j'ai trouvé une antenne que j'espère fabriquer et tester, car ce n'est pas un principe de construction
Game Design dans Flick en 5 étapes : 5 étapes
Game Design dans Flick en 5 étapes : Flick est un moyen très simple de créer un jeu, en particulier quelque chose comme un puzzle, un roman visuel ou un jeu d'aventure
Système d'alerte de stationnement en marche arrière Arduino - Étapes par étape : 4 étapes
Système d'alerte de stationnement en marche arrière Arduino | Étapes par étape : dans ce projet, je vais concevoir un circuit de capteur de stationnement inversé pour voiture Arduino simple à l'aide d'un capteur à ultrasons Arduino UNO et HC-SR04. Ce système d'alerte de marche arrière basé sur Arduino peut être utilisé pour une navigation autonome, une télémétrie de robot et d'autres r
Détection de visage sur Raspberry Pi 4B en 3 étapes : 3 étapes
Détection de visage sur Raspberry Pi 4B en 3 étapes : dans ce Instructable, nous allons effectuer une détection de visage sur Raspberry Pi 4 avec Shunya O/S en utilisant la bibliothèque Shunyaface. Shunyaface est une bibliothèque de reconnaissance/détection de visage. Le projet vise à atteindre la vitesse de détection et de reconnaissance la plus rapide avec
Miroir de vanité de bricolage en étapes faciles (à l'aide de bandes lumineuses à LED): 4 étapes
Miroir de vanité DIY en étapes faciles (à l'aide de bandes lumineuses à LED) : Dans cet article, j'ai fabriqué un miroir de vanité DIY à l'aide des bandes LED. C'est vraiment cool et vous devez les essayer aussi