Spisu treści:
- Krok 1: Krok 1: Materiais Uitilizados
- Krok 2: Krok 2: Montaż
- Krok 3: Krok 3: Codigo Python
- Krok 4: Krok 4: Tweet
- Krok 5: Krok 5: Kod Ionic E Virtual Studio
- Krok 6: Krok 6: Finalizacja
Wideo: SHIOT: 6 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Este projeto foi desenvolvido para um sistema de iluminação przez Dweet, e foi utilizado o hardware Dragonborad 410C com uma versão linux linaro instalado.
E para o desenvolvimento zrobić aplicativo dla smartfona za pomocą jonowego, e o IDE Visual studio Code.
Krok 1: Krok 1: Materiais Uitilizados
1 x Dragonboard 410C
1 x antresola łącząca
1 x dioda modulo
1 x moduł temperatury
1 x moduł luminozydacji LDR
1 x czujnik dotykowy modulo
2 x moduły rele
1 x usb teclado
1 x mysz USB
1 x monitor HDMI
conexão com a internet
rezystor 1k Ohm dla adaptacji do led
Krok 2: Krok 2: Montaż
a) Wtyczka 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) Plugue o modulo de sensor toque no conector do D1 da mezzanine
e) Plugue o modulo de rele no conector do D2 da mezzanine
f)Plugue o modulo Led no conector do D3 da mezzanine
g)Plugue o modulo de rele no conector do D4 da mezzanine
h)Plugue o monitor bez złącza HDMI da placa Dragonboard 410C
i) Wtyczka USB do gniazda Dragonboard 410C
j) Wtyczka USB do myszy na płycie Dragonboard 410C
l) Plugue a fonte de alimentação na placa Dragonboard 410C
OBS 1: Devido ao modulo LED ter apenas um rezystor 82 Ohm, interfer na medição do sensor de temperatura causando valores negativos quando é acionado, senso necessário a utilização de um rezystor 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 de sinal no D_G da
Krok 3: Krok 3: Codigo Python
#Importuj das bibliotecas spidev e time
importuj spidev
czas importu
#importação parcial das bibliotecas
z libsoc importuj gpio
z gpio_96boards importuj GPIO
z dweet importuj 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')
# definição das portas digitais
PRZYCISK = 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 lub OUT
piny = ((GPIO_CS, 'out'), (BUTTON, 'in'), (RELE, 'out'), (LED, 'out'), (RELE2, 'out'),)
#configurações das portas analagicas
spi = spidev. SpiDev()
spi.otwarte(0, 0)
spi.max_speed_hz = 10000
tryb spisu = 0b00
spi.bits_per_word = 8
stan_systemu = 1
dweet = dweet()
#configurações do bloco de comando LED i RELE
def readDigital(gpio):
cyfrowy = [0, 0]
digital[0] = gpio.digital_read(LED)
cyfrowy[1] = gpio.digital_read(REL)
powrót cyfrowy
def writeDigital(gpio, digital):
napisz = cyfrowy
gpio.digital_write(LED, write[0])
gpio.digital_write(RELE, napisz[1])
powrót cyfrowy
#configuração do bloco para o touch, para o sistema ou ligar o sistema
def detectaButton(gpio):
globalny stan_systemu
status = gpio.digital_read(BUTTON)
jeśli stan == 1:
jeśli status_systemu == 0:
stan_systemu = 1
sis_status = "Ligado"
print ("Estado do Sistema %s" %sis_status)
w przeciwnym razie:
stan_systemu = 0
sis_status = "Odrzucono"
print ("Estado do Sistema %s" %sis_status)
dweet.dweet_by_name(name="shiot", data={"sistema":sis_status})
zwróć stan_systemu
#configuração do bloco para leitura da temperatura
def readTemp(gpio):
gpio.digital_write(GPIO_CS, GPIO. HIGH)
czas.snu(0.0002)
gpio.digital_write(GPIO_CS, GPIO. LOW)
r = spi.xfer2([0x01, 0xA0, 0x00])
gpio.digital_write(GPIO_CS, GPIO. HIGH)
reklama = (r[1] << 8) & 0b1100000000
reklama = reklama | (r[2] i 0xff)
adc_temp = (adcout *5,0/1023-0,5)*100
#print("Temperatura:%2.1f " %adc_temp)
powrót adc_temp
#configuração do bloco para leitura da luminosidade.
def readLumi(gpio):
gpio.digital_write(GPIO_CS, GPIO. HIGH)
czas.snu(0.0002)
gpio.digital_write(GPIO_CS, GPIO. LOW)
r = spi.xfer2([0x01, 0x80, 0x00])
gpio.digital_write(GPIO_CS, GPIO. HIGH)
reklama = (r[1] << 8) & 0b1100000000
reklama = reklama | (r[2] i 0xff)
zwrot reklamy
#execução dos blocos de comandos
jeśli _nazwa_=='_main_':
z GPIO(pinami) jako gpio:
podczas gdy prawda:
cyfrowy = [0, 0]
jeśli DetectaButton(gpio) == 1:
lumi = czytajLumi(gpio)
# verificação da luminosidade para acionamento do rele do conector D4
jeśli światło < 400:
gpio.digital_write(RELE2, GPIO. HIGH)
luz_status = "Ligado"
w przeciwnym razie:
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")
digital[0] = resposta['with'][0]['content']['led']
digital[1] = resposta['with'][0]['content']['rele']
writeDigital(gpio, cyfrowe)
temp = odczytaj Temp (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])
drukuj ("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 para cada leitura
czas.sen(5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar o programa no python.
Krok 4: Krok 4: Tweet
Em dweet.io, klika em PLAY.
Em dweets: Twórz lub czytaj tweety w krótkoterminowej pamięci podręcznej, na aba:
POST /dweet/cicho/dla/{rzecz}
- no parametro thing escreva shiot, konforme programa feito no python.
- em treść escreva:
Que são os paras enviados do dweet dla Dragonboard410C, wyślij 0 dla delegowania i 1 dla ligado.
e Clique no botão WYPRÓBUJ.
Wykonaj program bez terminala z Dragonboard 410C (este deve estar conectado em uma rede com internet):
sudo python smart.py
Na aba OTRZYMAJ:
POBIERZ /get/dweets/for/{thing}
- no parametro thing escreva shiot, konforme programa feito no python.
e Clique no botão WYPRÓBUJ.
Em Response Body é obtido algo podobne:
{ "this": "succeeded", "by": "getting", "the": "dweets", "with": [{ "thing": "shiot", "created": "2017-12-03T19: 30:11.458Z", "treść": { "Temperatura": 25.2688172043, "led": 0, "Luminosidade": 504, "Luz_externa": "Apagado", "sistema": "Ligado", "rele": 0 } }, Sendo „udało się”, identificando que a conexão foi feito com sucesso e são os parametros osbtidos da Dragonboard410C.
Krok 5: Krok 5: Kod Ionic E Virtual Studio
para criar makarony e os arquivos para necessários do app
brak podpowiedzi de comando do windows:
jonowy start shiot
abra o Visual Studio Code
para construir jako paginas html:
Em SRC =>strony=>Strona główna =>home.html
codigo conforme arquivo homehtml.txt
Em SRC =>strony=> Strona główna => home.tscodigo conforme arquivo homets.txt
é necessario gerar o dweet.ts para comunicar corretamente HTTP e dweet
na prompt de comando na pasta do projeto:
dostawca generowania jonów dweet
Em SRC =>dostawcy=> dweet => dweet.ts
codigo conforme arquivo dweetts.txt
importação para comunicação
Em SRC => aplikacja => app.module.ts
codigo conforme arquivo appmodulets.txt
Krok 6: Krok 6: Finalizacja
Brak szybkiego de comando da pasta do projeto:
jonowa porcja
Sera aberto no navegador
Sendo gerado uma tela com Led que pode ser ligado lub desligado com uma "chave liga/desliga".
Sendo gerado uma tela com rele que pode ser ligado lub desligado com uma "chave liga/desliga".
Monitorowanie monitoringu Temperatura, Iluminação, Luz externa, e Sistema.
mais detalhes do funcionamento no arquivo Dragon.pdf
Zalecana:
Licznik kroków - Micro:Bit: 12 kroków (ze zdjęciami)
Licznik kroków - Micro:Bit: Ten projekt będzie licznikiem kroków. Do pomiaru kroków użyjemy czujnika przyspieszenia wbudowanego w Micro:Bit. Za każdym razem, gdy Micro:Bit się trzęsie, dodamy 2 do licznika i wyświetlimy go na ekranie
Lewitacja akustyczna z Arduino Uno krok po kroku (8 kroków): 8 kroków
Lewitacja akustyczna z Arduino Uno Krok po kroku (8-kroków): ultradźwiękowe przetworniki dźwięku Zasilacz żeński L298N Dc z męskim pinem dc Arduino UNOBreadboardJak to działa: Najpierw wgrywasz kod do Arduino Uno (jest to mikrokontroler wyposażony w cyfrowy oraz porty analogowe do konwersji kodu (C++)
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: 6 kroków
Jak używać silnika krokowego jako enkodera obrotowego i wyświetlacza OLED dla kroków: W tym samouczku dowiemy się, jak śledzić kroki silnika krokowego na wyświetlaczu OLED. Obejrzyj film demonstracyjny.Kredyt samouczka oryginalnego trafia do użytkownika YouTube „sky4fly”
Bolt - DIY Wireless Charging Night Clock (6 kroków): 6 kroków (ze zdjęciami)
Bolt - DIY Wireless Charging Night Clock (6 kroków): Ładowanie indukcyjne (znane również jako ładowanie bezprzewodowe lub ładowanie bezprzewodowe) to rodzaj bezprzewodowego przesyłania energii. Wykorzystuje indukcję elektromagnetyczną do dostarczania energii elektrycznej do urządzeń przenośnych. Najpopularniejszym zastosowaniem jest stacja ładowania bezprzewodowego Qi
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: 13 kroków (ze zdjęciami)
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: To jest instrukcja demontażu komputera. Większość podstawowych komponentów ma budowę modułową i jest łatwa do usunięcia. Jednak ważne jest, abyś był w tym zorganizowany. Pomoże to uchronić Cię przed utratą części, a także ułatwi ponowny montaż