Turinys:
Video: ŠŪVAS: 6 žingsniai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Este projeto foi desenvolvido para um system de iluminação via Dweet, and foi utilization or hardware Dragonborad 410C com versumao linux linaro instalado.
Naudodami išmanųjį telefoną naudokite jonų ir „IDE Visual Studio Code“kodą.
1 veiksmas: 1 žingsnis: Materiais Uitilizados
1 x „Dragonboard 410C“
1 x linkeris „Mezzanine“
1 x modulio šviesos diodas
1 x temperatūros modulis
1 x LDR modulio šviesa
1 x modulinis jutiklinis jutiklis
2 x modulio išleidimas
1 x teclado usb
1 x USB pelė
1 x Hdmi monitorius
prisijungus prie interneto
1k omų rezistorius, pritaikytas LED
2 žingsnis: 2 žingsnis: montažas
a) „Plugue“arba „Linker Mezzanine“ir „Dragonboard 410C“vieta
b) Temperatūros kištukas be ADC2 mezzanine jungties
c) Šviesos diodo kištukas be jungiklio be ADC1 mezzanine
d) Jutiklio kištukas arba modulis, kurio jungtis neturi D1 da mezzanine
e) D2 da mezzanine kištukas arba modulio išleidimo jungtis
f) „Plugue o modulo Led“be D3 da mezzanine jungties
g) D4 da mezzanine kištukas arba modulio de rele no conector do
h) Kištukas arba monitorius be jungties HDMI prie „Dragonboard 410C“
i) USB jungtis ir „Dragonboard 410C“plokštė
j) USB kištukas arba pelė su „Dragonboard 410C“
l) „Dragonboard 410C“fonte de alimentação na placa kištukas
OBS 1: Devido ao modulo LED ter apenas um 82 rezistorius, 82 omų, trukdyti medijos jutikliui, esant temperatūrai, nes jis neigiamai reaguoja į neigiamą reakciją, o taip pat būtina naudoti ir naudoti rezistorių, skirtą 1k omų konfigūracijai.
OBS 2: „Devido ao kit da mezzanine possuir apenas“modulio leidimas, būtinas adaptacijos pritaikymas modulio leidimui generiškai, naudojimas be jungiklio „D4 da mezzanine“, tarp lygių kabina „VCC no VCC“, „GND no GND“, „e o de sinal no D_G da mezzanine“
3 žingsnis: 3 žingsnis: „Codigo Python“
#importação das bibliotecas spidev e time
importuoti spidev
importo laikas
#importação parcial das bibliotecas
iš libsoc import gpio
iš „gpio_96boards“importuokite GPIO
iš dweet importo Dweet
# definição das porta analogica, o šviesos diodų jutiklis ir temperatūros serijos apibrėžimas.
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“)
#konfigūruoti GPIOS įeinant į išorę
kaiščiai = ((GPIO_CS, „išėjimas“), (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 ()
#sukonfigūruoti šviesos diodai ir „RELE“
def readDigital (gpio):
skaitmeninis = [0, 0]
skaitmeninis [0] = gpio.digital_read (LED)
skaitmeninis [1] = gpio.digital_read (RELE)
grąžinti skaitmeniniu būdu
def writeDigital („gpio“, skaitmeninis):
rašyti = skaitmeninis
gpio.digital_write (LED, rašyti [0])
gpio.digital_write (RELE, rašyti [1])
grąžinti skaitmeniniu būdu
#sukonfigūruoti blokavimą, prisilietimą, sistemos ar sistemos ar sistemos nustatymą
defectaButton (gpio):
pasaulinė sistema_status
status = gpio.digital_read (BUTTON)
jei būsena == 1:
jei system_status == 0:
system_status = 1
sis_status = "Ligado"
spausdinti ("Estado do Sistema %s" %sis_status)
Kitas:
system_status = 0
sis_status = "Desligado"
spausdinti ("Estado do Sistema %s" %sis_status)
dweet.dweet_by_name (vardas = "shiot", duomenys = {"sistema": sis_status})
return system_status
#sukonfigūruoti bloko para leitura da temperatura
def readTemp (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
laikas. miegas (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) ir 0b1100000000
adcout = adcout | (r [2] ir 0xff)
adc_temp = (adcout *5,0/1023-0,5) *100
#print ("Temperatūra: %2.1f" %adc_temp)
grąžinti adc_temp
#sukonfigūruoti bloko para leitura da luminosidade.
def readLumi (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
laikas. miegas (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) ir 0b1100000000
adcout = adcout | (r [2] ir 0xff)
grąžinti skelbimą
#execução dos blocos de comandos
jei _vardas _ == '_ pagrindinis_':
su GPIO (smeigtukais) kaip gpio:
nors tiesa:
skaitmeninis = [0, 0]
jei detectaButton (gpio) == 1:
lumi = skaitytiLumi (gpio)
# verificação da luminosidade para acionamento do rele do doctor D4
jei šviesa <400:
gpio.digital_write (RELE2, GPIO. HIGH)
luz_status = "Ligado"
Kitas:
gpio.digital_write (RELE2, GPIO. LOW)
luz_status = "Apagadas"
#verificação no dweet para acionamento do led e/ou rele
resposta = dweet.latest_dweet (name = "shiot")
skaitmeninis [0] = resposta ['with'] [0] ['content'] ['led']
skaitmeninis [1] = resposta ['with'] [0] ['content'] ['rele']
writeDigital (gpio, skaitmeninis)
temp = readTemp (gpio)
digital = readDigital (gpio)
#imprime os valores de luminosidade, temperatura
spausdinti "Temp: %2.1f / nlumi: %d / nled: %d / nrele: %d / n" %(temp, lumi, digital [0], digital [1])
spausdinti ("Luz Externa: %s" %luz_status)
sis_status = "Ligado"
#envio de dados para o dweet
dweet.dweet_by_name (vardas = "shiot", data = {"led": digital [0], "rele": digital [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " sistema ": sis_status})
#tempo para cada leitura
laikas miegoti (5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programa no python.
4 žingsnis: 4 žingsnis: mielasis
Em dweet.io, paspauskite žaidimą PLAY.
Em dweets: sukurkite arba perskaitykite „dweets“trumpalaikėje talpykloje, bet ne:
POST/dweet/tyliai/dėl/{thing}
- no parametro thing escreva shiot, conforme programa feito no python.
- turinio escreva:
Kai kurie parametrai yra entuziastingi „Dragonboard410C“, 0 siuntimo ir 1 paraiškos.
e clique no botão Išbandykite.
Vykdykite programą „Dragonboard 410C“(terminalas nekonfigūruotas internete):
sudo python smart.py
Na bet GET:
GET/get/dweets/for/{thing}
- no parametro thing escreva shiot, conforme programa feito no python.
e clique no botão Išbandykite.
„Em Response Body“ir panašiai:
5 veiksmas: 5 veiksmas: „Ionic E Virtual Studio Code“
para criar pastas e os arquivos para requiredários do app
nereikia raginimo atlikti langų:
joninis paleidimo šūdas
abra o „Visual Studio Code“
Parengti kaip puslapio html:
Em SRC => puslapiai => Pagrindinis => namas.html
codigo conforme arquivo homehtml.txt
Em SRC => puslapiai => Pagrindinis puslapis>> namas.tscodigo conforme arquivo homets.txt
būtinai reikia gerar arba dweet.ts para comunicar corretamente HTTP ir dweet
greitas komandų ir makaronų projektavimas:
jonų generatorius dweet
Em SRC => teikėjai => dweet => dweet.ts
codigo conforme arquivo dweetts.txt
importação para comunicação
Čia SRC => app => app.module.ts
codigo conforme arquivo appmodulets.txt
6 veiksmas: 6 žingsnis: baigimas
Nėra greito de comando da pasta do projeto:
joninė tarnauti
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".
Temperatūros stebėjimas, apšvietimas, išorinis Luz ir Sistema.
daugiau detalės padaryti funkcinį pamoką be arquivo Dragon.pdf