Sommario:
- Fase 1: Fase 1: Materiais Uitilizados
- Passaggio 2: Passaggio 2: Montaggio
- Passaggio 3: Passaggio 3: Codigo Python
- Passaggio 4: Passaggio 4: Dweet
- Passaggio 5: Passaggio 5: codice Ionic E Virtual Studio
- Passaggio 6: Passaggio 6: Finalizzazione
Video: SHIOT: 6 Passi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Questo progetto consente di configurare il sistema di illuminazione tramite Dweet e di utilizzare l'hardware Dragonborad 410C con una versione di Linux in fase di installazione.
E para o desenvolvimento do aplicativo para o smartphone foi utilizado o ionic, e o IDE Visual studio Code.
Fase 1: Fase 1: Materiais Uitilizados
1 x Dragonboard 410C
1 x linker mezzanino
1 x modulo led
1 x modulo di temperatura
1 x modulo di luminosità LDR
1 x sensore tattile modulo
2 x moduli rele
1 x teclado usb
1 x mouse USB
1 x monitor Hdmi
conexão com a internet
resistore da 1k Ohm per l'adattamento del led
Passaggio 2: Passaggio 2: Montaggio
a) Plugue o Linker Mezzanine na placa da Dragonboard 410C
b) Plugue o modulo de temperatura 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) Spina o monitor senza connettore HDMI da placa Dragonboard 410C
i) Plugue o teclado USB na placa Dragonboard 410C
j) Spina o mouse USB sulla scheda Dragonboard 410C
l) Collega una fonte di alimentazione sulla placa Dragonboard 410C
OBS 1: Devido ao modulo LED ter apenas um resistor de 82 Ohms, interfere na medição do sensor de temperatura causando values negatives quando é acionado, senso necessário a utilização de um resistor de um resistor de menos de 1k Ohms conforme figura.
OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, foi necessário adapter 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
Passaggio 3: Passaggio 3: Codigo Python
#importação das bibliotecas spidev e time
import spidev
tempo di importazione
#importação parcial das bibliotecas
da libsoc import gpio
da gpio_96boards importa GPIO
da 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
PULSANTE = 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
pin = ((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
stato_sistema = 1
dweet = Dweet()
#configurazioni del blocco di comando LED e RELE
def readDigital(gpio):
digitale = [0, 0]
digital[0] = gpio.digital_read(LED)
digital[1] = gpio.digital_read(RELE)
ritorno digitale
def writeDigital(gpio, digital):
scrivere = digitale
gpio.digital_write(LED, scrivi[0])
gpio.digital_write(RELE, write[1])
ritorno digitale
#configuração do bloco para o touch, para o sistema ou ligar o sistema
def detectaButton(gpio):
stato_sistema globale
stato = gpio.digital_read(BUTTON)
se stato == 1:
se system_status == 0:
stato_sistema = 1
sis_status = "Ligado"
print ("Stato del sistema %s" %sis_status)
altro:
stato_sistema = 0
sis_status = "Desligado"
print ("Stato do Sistema %s" %sis_status)
dweet.dweet_by_name(name="shiot", data={"sistema":sis_status})
ritorno system_status
#configuração do bloco para leitura da temperatura
def readTemp(gpio):
gpio.digital_write(GPIO_CS, GPIO. HIGH)
tempo.sonno(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] e 0xff)
adc_temp = (adcout *5.0/1023-0.5)*100
#print("Temperatura:%2.1f " %adc_temp)
return adc_temp
#configuração do bloco para leitura da luminosidade.
def readLumi(gpio):
gpio.digital_write(GPIO_CS, GPIO. HIGH)
tempo.sonno(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] e 0xff)
ritorna adcout
#esecuzione dei blocchi di comando
if _name_=='_main_':
con GPIO (pin) come gpio:
mentre vero:
digitale = [0, 0]
if detectaButton(gpio) == 1:
lumi = readLumi(gpio)
# verifica della luminosità per l'attivazione del collegamento con il connettore D4
se lumi < 400:
gpio.digital_write(RELE2, GPIO. HIGH)
luz_status = "Ligado"
altro:
gpio.digital_write(RELE2, GPIO. LOW)
luz_status = "Apagado"
#verificação no dweet para acionamento do led e/ou rele
risposta = dweet.latest_dweet(name="shiot")
digital[0] = resposta['with'][0]['content']['led']
digital[1] = resposta['with'][0]['content']['rele']
writeDigital(gpio, digital)
temp = readTemp(gpio)
digital = 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], "rele": digital[1], "Temperatura":temp, "Luminosidade": lumi, "Luz_externa": luz_status, " sistema":sis_status})
#tempo para cada leitura
tempo.sonno(5)
#devido una metodologia do dweet, deve ser configurado o dweet antes de executar o programa no python.
Passaggio 4: Passaggio 4: Dweet
Em dweet.io, cricca em PLAY.
Em dweets: crea o leggi i dweet nella cache a breve termine, na aba:
POST /dweet/tranquillamente/per/{cosa}
- no parametro cosa escreva shiot, conforme programa feito no python.
- escreva il contenuto:
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 PROVALO.
Esegui o programa no terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):
sudo python smart.py
Na aba OTTIENI:
OTTIENI /get/dweets/per/{cosa}
- no parametro cosa escreva shiot, conforme programa feito no python.
e clique no botão PROVALO.
Em Response Body è obtido algo simile:
{ "this": "successed", "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 } }, invia "succeeded", identificando que a conexão foi feito com successo e são os parametro osbtidos da Dragonboard410C.
Passaggio 5: Passaggio 5: codice Ionic E Virtual Studio
para criar pastas e os arquivos para necessários do app
nessun prompt di comando do windows:
inizio ionicoshi
abra o Visual Studio Code
para construir as paginas html:
Em SRC =>pagine => Home => home.html
codigo conforme arquivo homehtml.txt
Em SRC =>pagine=> Home => home.tscodigo conforme arquivo homets.txt
è necessario gerar o dweet.ts para comunicar correttamente HTTP e dweet
na prompt de comando na pasta do projeto:
ionico genera provider dweet
Em SRC => fornitori => dweet => dweet.ts
codigo conforme arquivo dweetts.txt
importazione per la comunicazione
Em SRC =>app => app.module.ts
codigo conforme arquivo appmodulets.txt
Passaggio 6: Passaggio 6: Finalizzazione
No prompt de comando da pasta do projeto:
servizio ionico
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 monitoraggio della temperatura, Iluminação, Luz externa, e Sistema.
maggiori dettagli sul funzionamento senza archivio Dragon.pdf
Consigliato:
Orologio di posizione "Weasley" con 4 lancette: 11 passi (con immagini)
Orologio di posizione "Weasley" a 4 lancette: quindi, con un Raspberry Pi che funzionava da un po', volevo trovare un bel progetto che mi permettesse di sfruttarlo al meglio. Mi sono imbattuto in questo fantastico Instructable Build Your Own Weasley Location Clock di ppeters0502 e ho pensato che
Orologio meccanico con display a sette segmenti: 7 passi (con immagini)
Orologio meccanico con display a sette segmenti: un paio di mesi fa ho costruito un display meccanico a 7 segmenti a due cifre che ho trasformato in un timer per il conto alla rovescia. È uscito abbastanza bene e un certo numero di persone ha suggerito di raddoppiare il display per creare un orologio. Il problema era che ero già scappato
Orologio a punta di freccia: 10 passi (con immagini)
Orologio a punta di freccia: questo incredibile orologio a punta di freccia è unico nel suo genere. Ho cercato ovunque per cercare di trovare anche qualcosa di simile e non ho trovato nulla. È un ottimo progetto per chiunque sia interessato all'arredamento dei nativi americani; storia; scheggia di pietra focaia; raccolta di rocce
Crea il tuo ventilatore USB - Inglese/Francese: 3 Passi
Crea il tuo ventilatore USB | English / Francais: ENGLISH Oggi, ho visto sui siti che potremmo acquistare un ventilatore USB. Ma ho detto perché non fare il mio? Cosa ti serve: - Nastro adesivo da elettricista o anatra - Una ventola per PC - Un cavo USB che non ti serve - Un tagliafili - Un cacciavite - Una vongola
IL MODO PI SEMPLICE PER FARE UNA LUCE COMPATTA!! 3 SEMPLICI PASSI!!: 3 Passi
IL MODO PI SEMPLICE PER FARE UNA LUCE COMPATTA!! 3 SEMPLICI PASSI!!: Cosa ti servirà - foglio di stagnola 1 batteria AA (alcune batterie AAA funzioneranno) 1 mini lampadina (lampadine utilizzate per la maggior parte delle torce elettriche; fare riferimento all'immagine) Righello (se necessario)