Cov txheej txheem:
- Kauj Ruam 1: Kauj Ruam 1: Cov Khoom Siv Uitilizados
- Kauj Ruam 2: Kauj Ruam 2: Montagem
- Kauj Ruam 3: Kauj Ruam 3: Codigo Python
- Kauj Ruam 4: Kauj Ruam 4: Dweet
- Kauj Ruam 5: Kauj Ruam 5: Ionic E Virtual Studio Code
- Kauj Ruam 6: Kauj Ruam 6: Kawg
Video: SHIOT: 6 Cov kauj ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:30
Este projeto foi desenvolvido para um sistema de iluminação via Dweet, e foi utilizado o hardware Dragonborad 410C com uma versão linux linaro instalado.
Txhawm rau kom ua tau raws li qhov xav tau ntawm lub xov tooj ntawm tes siv los ntawm ionic, e IDE Visual studio Code.
Kauj Ruam 1: Kauj Ruam 1: Cov Khoom Siv Uitilizados
1 x Dragonboard 410C
1 x txuas Mezzanine
1 x modulo coj
1 x modulo de kub
1 x modulo de luminosidade LDR
1 x modulo kov sensor
2 x modulos tso
1 x teclado usb
1x usb mus
1 x saib Hdmi
conexão com hauv internet
resistor de 1k Ohms rau kev hloov pauv coj
Kauj Ruam 2: Kauj Ruam 2: Montagem
a) Plugue lossis Linker Mezzanine nrog rau ntawm Dragonboard 410C
b) Plugue lossis modulo de temperatura no conector do ADC2 da mezzanine
c) Plugue lossis modulo de sensor de luminosidade tsis muaj txuas rau ADC1 da mezzanine
d) Plugue o modulo de sensor toque no conector do D1 da mezzanine
e) Plugue lossis modulo de rele no conector ua D2 da mezzanine
f) Plugue lossis modulo Led tsis muaj kev sib txuas ua D3 da mezzanine
g) Plugue lossis modulo de rele no conector ua D4 da mezzanine
h) Txuas los yog saib tsis muaj tus txuas HDMI thiab tso rau Dragonboard 410C
i) Txuas los ntawm teclado USB thiab tso rau Dragonboard 410C
j) Txuas lossis nas USB nrog rau Dragonboard 410C
l) Txuas lub fonte de alimentação na placa Dragonboard 410C
OBS 1: Devido ao modulo LED ter apenas um resistor de 82 Ohms, cuam tshuam rau nruab nrab ua qhov ntsuas hluav taws xob ua rau lub cev ua rau muaj txiaj ntsig tsis zoo negativos quando é acionado, senso necessário a utilização de um resistor de pelos menos 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
Kauj Ruam 3: Kauj Ruam 3: Codigo Python
#importação das bibliotecas spidev e lub sijhawm
ntshuam spidev
lub sij hawm ntshuam
#importação parcial das bibliotecas
los ntawm libsoc ntshuam gpio
los ntawm gpio_96boards ntshuam GPIO
los ntawm 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')
# lub ntsiab lus tseem ceeb 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')
#configurações das GPIOS se IN ou OUT
pins = ((GPIO_CS, 'tawm'), (BUTTON, 'hauv'), (RELE, 'tawm'), (LED, 'tawm'), (RELE2, 'tawm'),)
#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 ()
#teeb tsa ua bloco de comando LED e RELE
def nyeemDigital (gpio):
cov = [0, 0]
cov [0] = gpio.digital_read (LED)
digital [1] = gpio.digital_read (RELE)
rov qab digital
def sauDigital (gpio, digital):
sau = digital
gpio.digital_write (LED, sau [0])
gpio.digital_write (RELE, sau [1])
rov qab digital
#teeb tsa ua rau bloco rau o kov, para o sistema ou ligar o sistema
def detectaButton (gpio): cov
ntiaj teb system_status
xwm txheej = gpio.digital_read (BUTTON)
yog xwm txheej == 1:
yog system_status == 0:
system_status = 1
sis_status = "Ligado"
print ("Estado do Sistema %s" %sis_status)
lwm tus:
system_status = 0
sis_status = "Desligado"
print ("Estado do Sistema %s" %sis_status)
dweet.dweet_by_name (name = "shiot", data = {"system": sis_status})
rov qab system_status
#configuração ua bloco para leitura da temperatura
def nyeemTemp (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
lub sij hawm.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 ("Kub: %2.1f" %adc_temp)
rov adc_temp
#teeb tsa koj cov bloco para leitura da luminosidade.
def nyeemLumi (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
lub sij hawm.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)
rov adcout
#execução dos blocos de comandos
yog _name _ == '_ main_':
nrog GPIO (pins) ua gpio:
thaum Muaj Tseeb:
cov = [0, 0]
yog tias detectaButton (gpio) == 1:
lumi = nyeemLumi (gpio)
# verificação da luminosidade para acionamento do rele do conector D4
Yog hais tias lumi <400:
gpio.digital_write (RELE2, GPIO. HIGH)
luz_status = "Ligado"
lwm tus:
gpio.digital_write (RELE2, GPIO. LOW)
luz_status = "Apagado"
#verificação tsis muaj dweet para acionamento coj e/ou tso
resposta = dweet.latest_dweet (lub npe = "shiot")
digital [0] = resposta ['nrog'] [0] ['content'] ['led']
digital [1] = resposta ['nrog'] [0] ['content'] ['rele']
writeDigital (gpio, digital)
temp = nyeemTemp (gpio)
cov = 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, " system ": sis_status})
#tempo rau cada leitura
sijhawm.sleep (5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programa no sej.
Kauj Ruam 4: Kauj Ruam 4: Dweet
Em dweet.io, nyem rau ntawm PLAY.
Em dweets: Tsim lossis nyeem dweets nyob rau hauv lub sijhawm luv luv, thiab yog:
POST/dweet/ntsiag to/rau/{yam}
- tsis muaj qhov tseem ceeb tshaj plaws escreva shiot, ua raws txoj haujlwm feito tsis muaj nab hab sej.
- Cov ntsiab lus escreva:
Que são os para os parametros enviados do dweet para a Dragonboard410C, sendo 0 para desligado e 1 para ligado.
e clique tsis muaj botão sim nws tawm.
Ua tiav qhov programa tsis muaj dav hlau ya Dragonboard 410C (este deve estar conectado em uma rede com internet):
sudo nab hab sej smart.py
Hais txog GET:
Tau txais/tau/dweets/rau/{khoom}
- tsis muaj qhov tseem ceeb tshaj plaws escreva shiot, ua raws txoj haujlwm feito tsis muaj nab hab sej.
e clique tsis muaj botão sim nws tawm.
Em Teb Lub Cev é obtido algo zoo sib xws:
Kauj Ruam 5: Kauj Ruam 5: Ionic E Virtual Studio Code
para criar pastas e os arquivos para necessários ua app
tsis muaj qhov nrawm de comando ua windows:
ionic pib shiot
abra o Visual Studio Code
para construir as paginas html:
Em SRC => nplooj ntawv => Tsev => home.html
codigo ua raws arquivo homehtml.txt
Em SRC => nplooj ntawv => Tsev => tsev.tscodigo ua raws arquivo homets.txt
é necessario gerar o dweet.ts para comunicar corretamente HTTP e dweet
na prompt de comando na pasta do projeto:
ionic tsim tus muab kev pabcuam dweet
Em SRC => cov muab kev pabcuam => dweet => dweet.ts
codigo conforme arquivo dweetts.txt
Qhov tseem ceeb rau kev sib txuas
Em SRC => app => app.module.ts
codigo ua raws arquivo appmodulets.txt
Kauj Ruam 6: Kauj Ruam 6: Kawg
Tsis muaj qhov xav tau tam sim no ntawm comando da pasta do projeto:
siv ionic
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 tso que pode ser ligado ou desligado com uma "chave liga/desliga".
Kev saib xyuas ntawm Temperatura, Iluminação, Luz externa, e Sistema.
mais detalhes ua funcionamento tsis muaj arquivo Dragon.pdf
Pom zoo:
Hloov-Hloov Cov Khoom Ua Si: Cov Khoom Ua Si Cov Khoom Ua Si Ua Tau Zoo!: 7 Cov Kauj Ruam (nrog Duab)
Hloov-Hloov Cov Khoom Ua Si: Cov Khoom Siv Hluav Taws Xob Ua Tau Zoo!: Qho khoom ua si hloov pauv qhib txoj hauv kev tshiab thiab kev daws teeb meem kom tso cai rau menyuam yaus uas muaj lub cev muaj peev xwm txwv lossis kev xiam oos qhab kev loj hlob los cuam tshuam nrog cov khoom ua si ntawm nws tus kheej. Hauv ntau qhov xwm txheej, cov menyuam yaus uas xav tau cov khoom ua si hloov pauv tsis tuaj yeem nkag mus
Cov av noo noo Cov Lus Qhia Tswj Xyuas Internet Txuas Cov Dej Dej (ESP32 thiab Blynk): 5 Cov Kauj Ruam
Cov av noo noo Cov lus pom zoo Tswj Xyuas Internet Txuas Cov Dej Dej (ESP32 thiab Blynk): Tsis txhawj xeeb txog koj lub vaj lossis nroj tsuag thaum koj mus rau hnub so ntev, lossis tsis nco qab ywg dej koj cov nroj tsuag txhua hnub. Zoo ntawm no yog kev daws teeb meem Nws cov av ya raws tswj hwm thiab thoob ntiaj teb txuas nrog cov dej txau dej tswj los ntawm ESP32 ntawm software pem hauv ntej kuv
Ua Cov Phiaj Xwm Zoo Los Ntawm Cov Ntaub Ntawv Nyob Arduino (thiab Txuag Cov Ntaub Ntawv rau Excel): 3 Cov Kauj Ruam
Ua Cov Phiaj Xwm Zoo Los Ntawm Cov Ntaub Ntawv Nyob Arduino (thiab Txuag Cov Ntaub Ntawv rau Excel): Peb txhua tus nyiam ua si nrog peb tus lej L … cov ntsiab lus tau ntxiv thiab nws tsis tshwj xeeb rau lub qhov muag. Arduino IDE cov phiaj xwm tsis
Cov Ntawv Cim Hluav Taws Xob LED Taws Teeb Cov Neeg Hlau Cov Ntawv Cim - Cov Khoom Siv Soldering: 11 Kauj Ruam
Cov Khoom Siv Hluav Taws Xob LED Taws Teeb Cov Neeg Hlau Daim Npav - Cov Khoom Siv Soldering: Kab lus no tau txaus siab txhawb nqa los ntawm PCBWAY.PCBWAY ua cov qauv zoo PCBs rau tib neeg thoob plaws ntiaj teb. Sim nws rau koj tus kheej thiab tau txais 10 PCBs rau tsuas yog $ 5 ntawm PCBWAY nrog qhov ua tau zoo heev, Ua tsaug PCBWAY. Robadge#1 uas kuv tau tsim rau
Windows 7: Cov Ntsiab Lus Cov Ntawv Cov Khoom Tsis Muaj: 3 Cov Kauj Ruam
Windows 7: Cov Ntawv Qhia Cov Khoom Uas Tsis Muaj: Thaum twg los peb xaiv ntau dua 15 cov ntaub ntawv hauv Windows. qee yam khoom los ntawm cov ntawv qhia zaub mov ploj mus … Cov ntawv qhia no yuav qhia koj yuav ua li cas kom tau txais cov khoom ntawd rov qab los ntawm cov ntawv qhia zaub mov