Cuprins:
- Pasul 1: Pasul 1: Materiale Uitilizados
- Pasul 2: Pasul 2: Montagem
- Pasul 3: Pasul 3: Codigo Python
- Pasul 4: Pasul 4: Dweet
- Pasul 5: Pasul 5: Codul Ionic E Virtual Studio
- Pasul 6: Pasul 6: Finalização
Video: SHIOT: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Acest proiect a fost dezvoltat pentru un sistem de iluminare prin Dweet, și a fost folosit de hardware-ul Dragonborad 410C cu versiunea liniară instalată.
E pentru o dezvoltare a aplicației pentru smartphone a fost utilizat o ionică, e o IDE Visual studio Code.
Pasul 1: Pasul 1: Materiale Uitilizados
1 x Dragonboard 410C
1 x linker Mezanin
1 x led modulo
1 x modul de temperatura
1 x modul de lumină LDR
1 x senzor tactil modulo
2 x modulos rele
1 x teclado USB
1 x mouse usb
1 x monitor Hdmi
conexão com a internet
rezistor de 1k Ohms pentru adaptare la led
Pasul 2: Pasul 2: Montagem
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) Conectați modulul senzorului fără conector la D1 da mezanin
e) Plugue o modulo de rele no conector do D2 da mezzanine
f) Plugue o modulo Led nu conector do D3 da mezzanine
g) Plugue o modulo de rele no conector do D4 da mezzanine
h) Conectare sau monitorizare fără conector HDMI de pe placa Dragonboard 410C
i) Conectare o tastatură USB pe placa Dragonboard 410C
j) Conectați mouse-ul USB pe placa Dragonboard 410C
l) Plugue a fonte de alimentação na 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 valores negativos când este acționat, sens necesar la utilizarea de um resistor de pelos less de 1k Ohms conforme 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
Pasul 3: Pasul 3: Codigo Python
# importação das bibliotecas spidev e time
import spidev
timpul de import
# importação parcial das bibliotecas
din libsoc import gpio
din gpio_96boards import GPIO
de la import trebuie Dweet
# definição das porta analogica, o sensor de luminozitate și de temperatură serão definidas por endereçamento.
GPIO_CS = GPIO.gpio_id („GPIO_CS”)
# definição das portas digitais
BUTON = 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
pini = ((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
system_status = 1
dweet = Dweet ()
# configurações do bloco de comandă LED și RELE
citește Digital (gpio):
digital = [0, 0]
digital [0] = gpio.digital_read (LED)
digital [1] = gpio.digital_read (RELE)
reveniți digital
Def writeDigital (gpio, digital):
scrie = digital
gpio.digital_write (LED, scrie [0])
gpio.digital_write (RELE, scrie [1])
reveniți digital
# configuração do bloco para o touch, pentru o sistem sau ligar o sistem
def detectaButton (gpio):
status_status global
status = gpio.digital_read (BUTON)
dacă starea == 1:
dacă system_status == 0:
system_status = 1
sis_status = "Ligado"
print ("Estado do Sistema% s"% sis_status)
altceva:
system_status = 0
sis_status = "Desligado"
print ("Estado do Sistema% s"% sis_status)
dweet.dweet_by_name (name = "shiot", data = {"sistema": sis_status})
returnează starea_sistem
# configuração do bloco para leitura da temperatura
read 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)
returnează adc_temp
# configuração do bloco para leitura da luminosidade.
read read Lumi (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)
returnează adcout
# execução dos blocos de comandos
dacă _name _ == '_ main_':
cu GPIO (pini) ca gpio:
în timp ce este adevărat:
digital = [0, 0]
dacă detectaButton (gpio) == 1:
lumi = readLumi (gpio)
# verificarea da luminozitatea pentru acționarea do rele do conector D4
dacă lumi <400:
gpio.digital_write (RELE2, GPIO. HIGH)
luz_status = "Ligado"
altceva:
gpio.digital_write (RELE2, GPIO. LOW)
luz_status = "Apagado"
# verificação no dweet for acionamento do led e / ou rele
răspuns = dweet.latest_dweet (name = "shiot")
digital [0] = răspuns ['cu'] [0] ['conținut'] ['led']
digital [1] = răspuns ['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, " sistem ": sis_status})
#tempo para cada leitura
time.sleep (5)
#devido a metodologia do dweet, trebuie să fie configurat sau trebuie înainte de executarea programului python.
Pasul 4: Pasul 4: Dweet
Trebuie să fiu, să te joci.
Trebuie să creați sau să citiți fișiere în cache pe termen scurt, na aba:
POST / dweet / quietly / for / {thing}
- no parametro thing escreva shiot, conforme programa feito no python.
- em conținut escreva:
Que são os para os parametros enviados do dweet for a Dragonboard410C, sendo 0 pentru desligado și 1 pentru ligado.
e clique no botão ÎNCERCAȚI.
Execute o program no terminal da Dragonboard 410C (acesta trebuie să fie conectat la uma rede com internet):
sudo python smart.py
Na aba OBȚINE:
GET / get / dweets / for / {thing}
- no parametro thing escreva shiot, conforme program feito no python.
e clique no botão ÎNCERCAȚI.
Corpul de răspuns la em este ceva similar:
Pasul 5: Pasul 5: Codul Ionic E Virtual Studio
pentru criar pastas și os arquivos pentru necesarii do app
fără prompt de comandă pentru Windows:
ionic start shiot
abra o Visual Studio Code
pentru a construi ca pagini html:
Em SRC => pages => Home => home.html
codigo conforme arquivo homehtml.txt
Em SRC => pages => Home => home.tscodigo conforme arquivo homets.txt
este necesar gerar o dweet.ts pentru comunicare corect HTTP și dweet
na prompt de comanda na pasta do project:
ionic generează furnizorul trebuie să fie
Em SRC => providers => dweet => dweet.ts
codigo conforme arquivo dweetts.txt
importație pentru comunicație
Em SRC => app => app.module.ts
codigo conforme arquivo appmodulets.txt
Pasul 6: Pasul 6: Finalização
Fără prompt de comandă de paste de proiect:
servire ionică
Sera aberto no navegador https:// localhost: 8100 /
Sendo gerado uma tela com Led that you can ser ligado ou desligado com uma "chave liga / desliga".
Sendo gerado uma tela com rele that you can ser ligado ou desligado com uma "chave liga / desliga".
E monitoramento de Temperatura, Iluminação, Luz externa, e Sistema.
mai multe detalii nu funcționează fără Dragon.pdf
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Cum să faci un contor de pași ?: 3 pași (cu imagini)
Cum să fac un contor de pași ?: obișnuiam să performez bine la multe sporturi: mersul pe jos, alergatul, mersul pe bicicletă, jocul de badminton etc. Îmi place să călăresc să călătoresc în preajmă. Ei bine, uită-te la burtica mea ostilă …… Ei bine, oricum, decid să reîncep să fac mișcare. Ce echipament ar trebui să pregătesc?