Kazalo:
- 1. korak: 1. korak: Materiais Uitilizados
- 2. korak: 2. korak: Montagem
- 3. korak: 3. korak: Codigo Python
- 4. korak: 4. korak: sladko
- 5. korak: 5. korak: Koda virtualnega studia Ionic E
- Korak 6: Korak 6: Dokončanje
Video: SHIOT: 6 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
Este projeto foi desenvolvido for um system of iluminação via Dweet, and the foi useado of hardware Dragonborad 410C com uma verão linux linaro instalado.
E para o desenvolvimento do aplicativo para or smartphone fori useado o ionic, e IDE Visual studio Code.
1. korak: 1. korak: Materiais Uitilizados
1 x Dragonboard 410C
1 x povezovalnik Mezzanine
1 x modularna LED
1x modularna temperatura
1 x modularno luminosidna LDR
1x modularni senzor na dotik
2 x modulo rele
1x teclado usb
1x USB miška
1 x monitor Hdmi
conexão com internet
upor 1k ohmov za prilagoditev LED
2. korak: 2. korak: Montagem
a) Plugue o Linker Mezzanine na placa da Dragonboard 410C
b) Priključite o po modulu temperature brez priključka do ADC2 v medetaži
c) Priključek o modulo senzorja za luminosidado brez priključka do ADC1 v medetaži
d) Priključite o po modulu senzorja, da ne povežete priključka do D1 z medetažo
e) Plugue o modulo de rele no conector do D2 da medetaža
f) Plugue o modulo Led no conector do D3 da medetaža
g) Plugue o modulo de rele no conector do D4 da medetaža
h) Vključite monitor ali priključek brez priključka HDMI na ploščo Dragonboard 410C
i) Priključite USB priključek na ploščo Dragonboard 410C
j) Priključite USB na miško na plošči Dragonboard 410C
l) Plugue a fonte de alimentação na placa Dragonboard 410C
OBS 1: Devido ali modularni LED terpenski upor z upornostjo 82 Ohmov, moti na medij do senzorja temperature, kar povzroči negativne učinke, ki so potrebni za delovanje, senzor pa potrebuje uporabo upora za upor, ki vsebuje 1 Ohm, ki ustreza sliki.
OBS 2: Devido ao kit da mezzanine possuir apenas um modulo rele, foi needário adaptador um modulo rele generico, izkoristiti brez konektorja D4 v medetaži, interligando cabo VCC no VCC, GND ne GND, e o de sinal no D_G da medetaža
3. korak: 3. korak: Codigo Python
#importação das bibliotecas spidev e time
uvoz spidev
čas uvoza
#importação parcial das bibliotecas
iz libsoc import gpio
z gpio_96boards uvozite GPIO
iz dweet uvoz Dweet
# definira das porta analogica, o senzorju za luminosidade in de temperaturo serão definidas por endereçamento.
GPIO_CS = GPIO.gpio_id ('GPIO_CS')
# definição das portas digitais
BUTTON = GPIO.gpio_id ('GPIO_A')
RELE = GPIO.gpio_id ('GPIO_C')
LED = GPIO.gpio_id ('GPIO_E')
RELE2 = GPIO.gpio_id ('GPIO_G')
#konfiguracije za GPIOS se VSTOPAJO
nožice = ((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 = sladko ()
#konfiguracije za bloco de comando LED e RELE
def readDigital (gpio):
digitalno = [0, 0]
digitalno [0] = gpio.digital_read (LED)
digitalno [1] = gpio.digital_read (RELE)
digitalno vrnitev
def writeDigital (gpio, digitalno):
pisati = digitalno
gpio.digital_write (LED, napišite [0])
gpio.digital_write (RELE, napišite [1])
digitalno vrnitev
#konfiguracija do bloka za dotik, za sistem ali vaš sistem
def detectaButton (gpio):
globalni sistemski_status
status = gpio.digital_read (BUTTON)
če je status == 1:
če je sistemski_status == 0:
system_status = 1
sis_status = "Ligado"
print ("Estado do Sistema %s" %sis_status)
drugače:
system_status = 0
sis_status = "Desligado"
print ("Estado do Sistema %s" %sis_status)
dweet.dweet_by_name (name = "shiot", podatki = {"sistema": sis_status})
return system_status
#configuração do bloco para leitura da temperatura
def 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)
vrni adc_temp
#configuração do bloco para leitura da luminosidade.
def readLumi (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)
vrniti adcout
#execução dos blocos de comandos
če _name _ == '_ main_':
z GPIO (zatiči) kot gpio:
medtem ko je res:
digitalno = [0, 0]
če je detectaButton (gpio) == 1:
lumi = beriLumi (gpio)
# verificação da luminosidade para acionamento do rele do konektor D4
če je lumi <400:
gpio.digital_write (RELE2, GPIO. HIGH)
luz_status = "Ligado"
drugače:
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")
digitalno [0] = odziv ['z'] [0] ['vsebina'] ['led']
digitalno [1] = odgovor ['z'] [0] ['vsebina'] ['rele']
writeDigital (gpio, digitalno)
temp = readTemp (gpio)
digital = readDigital (gpio)
#imprime os valores de luminosidade, temperatura
natisni "Temp: %2.1f / nlumi: %d / nled: %d / nrele: %d / n" %(temp, lumi, digitalno [0], digitalno [1])
print ("Luz Externa: %s" %luz_status)
sis_status = "Ligado"
#envio de dados para o dweet
dweet.dweet_by_name (name = "shiot", data = {"led": digitalno [0], "rele": digitalno [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " sistem ": sis_status})
#tempo para cada leitura
time.sleep (5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programu brez pythona.
4. korak: 4. korak: sladko
Em dweet.io, clique em PLAY.
Em dweets: Ustvarite ali preberite dweets v kratkoročnem predpomnilniku, na aba:
POST/dweet/tiho/za/{thing}
- no parametro thing escreva shiot, conforme program feito no python.
- em vsebina escreva:
Que são os para parametros enviados do dweet para a Dragonboard410C, sendo 0 para desligado e 1 para ligado.
e clique no botão PREIZKUSITE.
Izvedite program brez terminala za Dragonboard 410C (este deve estar conectado em uma rede com internet):
sudo python smart.py
Na aba GET:
GET/get/dweets/for/{thing}
- no parametro thing escreva shiot, conforme program feito no python.
e clique no botão PREIZKUSITE.
Em Response Body je podobno:
5. korak: 5. korak: Koda virtualnega studia Ionic E
para criar testenine e os arquivos para needários do app
brez poziva de comando do windows:
ionski zagonski shiot
abra o Koda Visual Studio
para konstruira kot html paginas:
Em SRC => strani => Domov => home.html
codigo conforme arquivo homehtml.txt
Em SRC => strani => Domov => home.tscodigo conforme arquivo homets.txt
é needario gerar o dweet.ts para comunicar corretamente HTTP in dweet
na prompt de comando na testenine do projeto:
ionic generira dweet ponudnika
Em SRC => ponudniki => dweet => dweet.ts
codigo conforme arquivo dweetts.txt
importação para comunicação
Em SRC => app => app.module.ts
codigo conforme arquivo appmodulets.txt
Korak 6: Korak 6: Dokončanje
No prompt de comando da pasta do projeto:
ionski servis
Sera aberto no navegador https:// localhost: 8100/
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 monitorramento de Temperatura, Iluminação, Luz externa, e Sistema.
več podrobnosti o funkcionamentu brez arquivo Dragon.pdf
Priporočena:
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Vijak - Nočna ura za brezžično polnjenje DIY (6 korakov): 6 korakov (s slikami)
Bolt - Nočna ura za brezžično polnjenje DIY (6 korakov): Induktivno polnjenje (znano tudi kot brezžično polnjenje ali brezžično polnjenje) je vrsta brezžičnega prenosa energije. Za zagotavljanje električne energije prenosnim napravam uporablja elektromagnetno indukcijo. Najpogostejša aplikacija je brezžično polnjenje Qi
Merilnik korakov 1. del: Enobarvni zaslon 128x32 in Arduino: 5 korakov
Pedometer 1. del: Enobarvni zaslon 128x32 in Arduino: To je osnovna vadnica, ki uči, kako uporabljati zaslon OLED s svojim Arduinom. Uporabljam zaslon velikosti 128x32, lahko pa uporabite tudi drugačen zaslon z ločljivostjo in po potrebi spremenite ločljivost/koordinate. V tem delu vam bom pokazal, kako
Preklopna obremenitvena banka z manjšo velikostjo korakov: 5 korakov
Preklopna banka odpornikov obremenitve z manjšo velikostjo korakov: Banke uporovnih obremenitev so potrebne za preskušanje energetskih proizvodov, za karakterizacijo sončnih kolektorjev, v preskusnih laboratorijih in v industriji. Reostati zagotavljajo stalno spreminjanje odpornosti na obremenitev. Ker pa se vrednost upora zmanjša, moč