Inhoudsopgave:
- Stap 1: Stap 1: Materiais Uitilizados
- Stap 2: Stap 2: Montagem
- Stap 3: Stap 3: Codigo Python
- Stap 4: Stap 4: Dweet
- Stap 5: Stap 5: Ionic E Virtual Studio-code
- Stap 6: Stap 6: Finaliseren
Video: SHIOT: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Este projeto foi desenvolvido para um sistema de iluminação via Dweet, en foi utilizado o hardware Dragonborad 410C com uma versão linux linaro instalado.
E para o desenvolvimento do aplicativo para o smartphone foi utilizado o ionic, e o IDE Visual studio Code.
Stap 1: Stap 1: Materiais Uitilizados
1 x Dragonboard 410C
1 x linker Mezzanine
1 x modulaire led
1 x temperatuurmodulo
1 x lichtmodule LDR
1 x modulo aanraaksensor
2 x modulerele
1 x teclado-usb
1 x muis-usb
1 x monitor HDMI
conexão com een internet
weerstand van 1k Ohm voor adaptaço do led
Stap 2: Stap 2: Montagem
a) Plugue o Linker Mezzanine op Dragonboard 410C
b) Plugu o modulaire temperatuur geen conector doen ADC2 da mezzanine
c) Plugue of module van sensor de luminosidade geen aansluiting op ADC1 op mezzanine
d) Plugu o module de sensor toque geen conector do D1 da mezzanine
e) Plugu o moduul de rele no conector do D2 da mezzanine
f)Plugu o modulo Led geen conector do D3 da mezzanine
g)Plugu of modulo de rele no conector do D4 da mezzanine
h)Plugu o monitor geen connector HDMI da placa Dragonboard 410C
i) Plug-up voor teclado USB op Dragonboard 410C
j) Plugu of muis USB en placa Dragonboard 410C
l) Plugue a fonte de alimentação op placa Dragonboard 410C
OBS 1: Devido en modulaire LED ter apenas um weerstand van 82 Ohm, interfereren met de temperatuursensor van de sensor, oorzaak en gevolg van negativos en acionado, Senso necessário de um weerstand de pelos menos de 1k Ohms conforme figura.
OBS 2: Devido en een kit van een mezzanine die kan worden uitgerust met een modulaire rele, die nodig is om een modulaire rele generieke aan te passen, gebruik te maken van geen connector D4 van een mezzanine, een interligando cabo VCC no VCC, GND no GND, en van een sinal no D_G da mezzanine
Stap 3: Stap 3: Codigo Python
#importação das bibliotecas spidev e time
import spidev
import tijd
#importação parcial das bibliotecas
van libsoc import gpio
van gpio_96boards importeer GPIO
van dweet import Dweet
# definição das porta analogica, of sensor de luminosidade en de temperatura serão definidas por endereçamento.
GPIO_CS = GPIO.gpio_id('GPIO_CS')
# definição das portas digitais
KNOP = 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 of OUT
pins = ((GPIO_CS, 'uit'), (BUTTON, 'in'), (RELE, 'uit'), (LED, 'uit'), (RELE2, 'uit'),)
#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 do bloco de comando LED en RELE
def readDigital(gpio):
digitaal = [0, 0]
digital[0] = gpio.digital_read(LED)
digitaal[1] = gpio.digitale_read(RELE)
digitaal retourneren
def writeDigital(gpio, digitaal):
schrijven = digitaal
gpio.digital_write(LED, schrijven[0])
gpio.digital_write(RELE, schrijf[1])
digitaal retourneren
#configuração do bloco para o touch, para o sistema ou ligar o sistema
def detectaButton(gpio):
globale systeemstatus
status = gpio.digital_read(BUTTON)
als status == 1:
als systeemstatus == 0:
system_status = 1
sis_status = "Ligado"
print ("Estado do Sistema %s" %sis_status)
anders:
systeemstatus = 0
sis_status = "Desligado"
print ("Estado do Sistema %s" %sis_status)
dweet.dweet_by_name(name="shiot", data={"sistema":sis_status})
return system_status
#configuração do bloco para leitura da temperatura
def readTemp(gpio):
gpio.digital_write(GPIO_CS, GPIO. HIGH)
tijd.slaap(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("Temperatuur:%2.1f" %adc_temp)
return adc_temp
#configuração do bloco para leitura da luminosidade.
def leesLumi(gpio):
gpio.digital_write(GPIO_CS, GPIO. HIGH)
tijd.slaap(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)
retour advertentie
#execução dos blocos de comandos
if _name_=='_main_':
met GPIO(pinnen) als gpio:
terwijl waar:
digitaal = [0, 0]
if detectaButton(gpio) == 1:
lumi = leesLumi(gpio)
# verificação da luminosidade para acionamento do rele do conector D4
als lumi < 400:
gpio.digital_write(RELE2, GPIO. HIGH)
luz_status = "Ligado"
anders:
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']
schrijvenDigitaal(gpio, digitaal)
temp = leesTemp (gpio)
digitaal = leesDigitaal(gpio)
#imprime os valores de luminosidade, temperatuur
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, " sistema":sis_status})
#tempo para cada leitura
tijd.slaap(5)
#devido a metodologia do dweet, deve ser configurado o dweet antes de executar of programa no python.
Stap 4: Stap 4: Dweet
Em dweet.io, kliek en PLAY.
Em dweets: maak of lees dweets in cache voor de korte termijn, na aba:
POST /dweet/stil/voor/{thing}
- geen parametro ding escreva shiot, conforme programa feito geen python.
- em inhoud escreva:
U kunt kiezen voor een van de parameters die u kunt gebruiken voor Dragonboard410C, 0 verzenden voor desligado en 1 voor ligado.
e clique no botão PROBEER het uit.
Voer een programma uit zonder terminal da Dragonboard 410C (este deve estar conectado em uma rede com internet):
sudo python smart.py
Na aba GET:
GET /get/dweets/for/{thing}
- geen parametro ding escreva shiot, conforme programa feito geen python.
e clique no botão PROBEER het uit.
Em Response Body é obtido algo vergelijkbaar:
{ "this": "geslaagd", "by": "getting", "the": "dweets", "with": [{ "thing": "shiot", "created": "2017-12-03T19: 30:11.458Z", "content": { "Temperatura": 25.2688172043, "led": 0, "Luminosidade": 504, "Luz_externa": "Apagado", "sistema": "Ligado", "rele": 0 } }, sendo "geslaagd", identificando que a conexão foi feito com sucesso e são os parametros osbtidos da Dragonboard410C.
Stap 5: Stap 5: Ionic E Virtual Studio-code
para criar pasta's en arquivos para necessários do app
geen prompt de command do windows:
ionische start shiot
abra o Visual Studio Code
para construir als pagina's html:
Em SRC =>pages=> Home => home.html
codigo conforme arquivo homehtml.txt
Em SRC =>pages=> Home => home.tscodigo conforme arquivo homets.txt
e necessario gerar o dweet.ts para comunicar corretamente HTTP en dweet
na prompt de comando na pasta do projeto:
ionische generator dweet
Em SRC =>providers=> dweet => dweet.ts
codigo conforme arquivo dweetts.txt
importação para comunicação
Em SRC =>app=> app.module.ts
codigo conforme arquivo appmodulets.txt
Stap 6: Stap 6: Finaliseren
Geen prompt de comando da pasta do projeto:
ionische serve
Sera aberto geen navegador
Sendo gerado uma com Led que pode ser ligado of desligado com uma "chave liga/desliga".
Sendo gerado uma com rele que pode ser ligado of desligado com uma "chave liga/desliga".
E monitoramento de Temperatura, Iluminação, Luz externa, en Sistema.
meer informatie over het functioneren van Dragon.pdf
Aanbevolen:
Game Design in Flick in 5 stappen: 5 stappen
Game-ontwerp in Flick in 5 stappen: Flick is een heel eenvoudige manier om een game te maken, vooral zoiets als een puzzel, visuele roman of avonturengame
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: 3 stappen
Gezichtsdetectie op Raspberry Pi 4B in 3 stappen: In deze Instructable gaan we gezichtsdetectie uitvoeren op Raspberry Pi 4 met Shunya O/S met behulp van de Shunyaface-bibliotheek. Shunyaface is een bibliotheek voor gezichtsherkenning/detectie. Het project streeft naar de hoogste detectie- en herkenningssnelheid met
Doe-het-zelfspiegel in eenvoudige stappen (met LED-stripverlichting): 4 stappen
DIY make-upspiegel in eenvoudige stappen (met behulp van LED-stripverlichting): In dit bericht heb ik een doe-het-zelfspiegel gemaakt met behulp van de LED-strips. Het is echt gaaf en je moet ze ook proberen
Hoe plug-ins in WordPress te installeren in 3 stappen: 3 stappen
Hoe plug-ins in WordPress te installeren in 3 stappen: In deze tutorial laat ik je de essentiële stappen zien om de WordPress-plug-in op je website te installeren. In principe kunt u plug-ins op twee verschillende manieren installeren. De eerste methode is via ftp of via cpanel. Maar ik zal het niet opsommen, want het is echt compl
Akoestische levitatie met Arduino Uno stap voor stap (8 stappen): 8 stappen
Akoestische levitatie met Arduino Uno Stap voor stap (8-stappen): ultrasone geluidstransducers L298N Vrouwelijke DC-adapter voeding met een mannelijke DC-pin Arduino UNOBreadboardHoe dit werkt: eerst upload je code naar Arduino Uno (het is een microcontroller uitgerust met digitale en analoge poorten om code te converteren (C++)