Talaan ng mga Nilalaman:
Video: SHIOT: 6 na Hakbang
2025 May -akda: John Day | [email protected]. Huling binago: 2025-01-13 06:58
Maaari mong gawin ito para sa iyong sistema sa pamamagitan ng Dweet, at maaari mong gamitin ang hardware Dragonborad 410C para sa lahat ng mga linux linaro install.
Para sa desenvolvimento gawin aplicativo para sa iyong smartphone sa paggamit ng ionic, at IDE Visual studio Code.
Hakbang 1: Hakbang 1: Materiais Uitilizados
1 x Dragonboard 410C
1 x linker na Mezzanine
1 x modulo na humantong
1 x modulo de temperatura
1 x modulo de luminosidade LDR
1 x modulo touch sensor
2 x modulos ang pinakawalan
1 x teclado usb
1 x mouse usb
1 x subaybayan ang Hdmi
conexão com isang internet
resistor de 1k Ohms para adaptação do led
Hakbang 2: Hakbang 2: Montagem
a) Plugue o Linker Mezzanine na placa da Dragonboard 410C
b) Plugin o modulo de temperatura walang konektor na gawin ang ADC2 da mezzanine
c) Plugue o modulo de sensor de luminosidade no conector do ADC1 da mezzanine
d) Plugin o modulo de sensor toque no conector do D1 da mezzanine
e) Plugin o modulo de magpalabas ng walang konektor gawin D2 at mezzanine
f) Plugue o modulo Humantong walang konektor gawin D3 da mezzanine
g) Plugin o modulo de magpalabas ng walang konektor gawin ang D4 da mezzanine
h) Plugin o monitor walang konektor HDMI da placa Dragonboard 410C
i) Plugue o teclado USB na placa Dragonboard 410C
j) I-plug o mouse USB ang iyong Dragonboard 410C
l) I-plug ang isang fonte de alimentação na placa Dragonboard 410C
OBS 1: Devido at modulo LED ter apenas um resistor de 82 Ohms, makagambala sa pamamagitan ng sensor ng temperatura causando valores negativos quando é acionado, para sa isang kinakailangang paggamit ng isang resistor de pelos menos de 1k Ohms na umaayon sa figura.
OBS 2: Devido ao kit da mezzanine possuir apenas um modulo release, kailangan ding adaptador ng modulo na naglalabas ng generico, ginagamit na walang conector D4 mula sa mezzanine, interligando cabo VCC no VCC, GND no GND, e o de sinal no D_G da mezzanine
Hakbang 3: Hakbang 3: Codigo Python
# importação das bibliotecas spidev sa oras
i-import ang spidev
oras ng pag-import
# importação parcial das bibliotecas
mula sa libsoc import gpio
mula sa gpio_96boards import GPIO
mula sa dweet import Dweet
# definição das porta analogica, o sensor de luminosidade at de temperatura 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')
# 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
system_status = 1
dweet = Dweet ()
# configurações gawin ang bloco de comando LED at RELE
def readDigital (gpio):
digital = [0, 0]
digital [0] = gpio.digital_read (LED)
digital [1] = gpio.digital_read (RELE)
bumalik digital
def writeDigital (gpio, digital):
sumulat = digital
gpio.digital_write (LED, isulat [0])
gpio.digital_write (RELE, sumulat ng [1])
bumalik digital
# configuração do bloco para sa touch, para sa iyong sistema o sistema
def detecta Button (gpio):
pandaigdigang system_status
katayuan = gpio.digital_read (BUTTON)
kung katayuan == 1:
kung system_status == 0:
system_status = 1
sis_status = "Ligado"
print ("Estado do Sistema% s"% sis_status)
iba pa:
system_status = 0
sis_status = "Desligado"
print ("Estado do Sistema% s"% sis_status)
dweet.dweet_by_name (pangalan = "shiot", data = {"sistema": sis_status})
ibalik ang system_status
# configuração do bloco para sa temperatura ng temperatura
def readTemp (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
oras. tulog (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)
ibalik ang adc_temp
# configuração do bloco para leitura da luminosidade.
def readLumi (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
oras. tulog (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)
ibalik ang adcout
# execução dos blocos de comandos
kung _name _ == '_ main_':
may GPIO (mga pin) bilang gpio:
habang Totoo:
digital = [0, 0]
kung nakilala ang Button (gpio) == 1:
lumi = readLumi (gpio)
# verificação da luminosidade para sa acionamento do release do conector D4
kung lumi <400:
gpio.digital_write (RELE2, GPIO. HIGH)
luz_status = "Ligado"
iba pa:
gpio.digital_write (RELE2, GPIO. LOW)
luz_status = "Apagado"
# verificação no dweet para sa acionamento do led e / ou release
resposta = dweet.latest_dweet (pangalan = "shiot")
digital [0] = resposta ['with'] [0] ['content'] ['led']
digital [1] = resposta ['with'] [0] ['content'] ['release']
magsulatDigital (gpio, digital)
temp = readTemp (gpio)
digital = readDigital (gpio)
#imprime os valores de luminosidade, temperatura
i-print ang "Temp:% 2.1f / nlumi:% d / nled:% d / nrele:% d / n"% (temp, lumi, digital [0], digital [1])
i-print ("Luz Externa:% s"% luz_status)
sis_status = "Ligado"
#envio de magiging para o dweet
dweet.dweet_by_name (name = "shiot", data = {"led": digital [0], "release": digital [1], "Temperatura": temp, "Luminosidade": lumi, "Luz_externa": luz_status, " sistema ": sis_status})
#tempo para cada leitura
oras. tulog (5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programa no python.
Hakbang 4: Hakbang 4: Dweet
Em dweet.io, clique em PLAY.
Em dweets: Lumikha o magbasa ng mga dweets sa maikling kataga ng cache, na:
I-post / i-tweet / tahimik / para sa / {bagay}
- walang parametro bagay na escreva shiot, umaayon sa programa feito no python.
- Ang nilalamang ito escreva:
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 TRY it out.
Ipatupad ang programa walang terminal sa Dragonboard 410C (maaari mong makita ang koneksyon sa internet):
sudo python matalino.py
Na aba GET:
GET / get / dweets / for / {bagay}
- walang parametro bagay na escreva shiot, umaayon sa programa feito no python.
e clique no botão TRY it out.
Ang Katawan ng Tugon ay nakakakuha ng katulad na katulad:
Hakbang 5: Hakbang 5: Ionic E Virtual Studio Code
para sa mga likas na pastas at os arquivos para sa mga kinakailangan gawin app
walang prompt de comando gawin windows:
ionic start shiot
abra o Visual Studio Code
para construir bilang paginas html:
Em SRC => pages => Home => home.html
codigo conforme arquivo homehtml.txt
Em SRC => pages => Home => home.tscodigo conforme arquivo homets.txt
Ito ay kinakailangan gerar o dweet.ts para sa comunicar corretamente HTTP at dweet
na prompt de comando na pasta gawin ang projeto:
ionic bumubuo ng provider dweet
Em SRC => provider => dweet => dweet.ts
sumunod ang codigo arquivo dweetts.txt
importação para comunicação
Em SRC => app => app.module.ts
codigo conforme arquivo appmodulets.txt
Hakbang 6: Hakbang 6: Finalização
Walang prompt de comando da pasta gawin ang projeto:
ionic maglingkod
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 monitoramento de Temperatura, Iluminação, Luz externa, at Sistema.
mais detalhes gawin funcionamento walang arquivo Dragon.pdf