![Start et smart hjem - Projeto Final: 6 trinn Start et smart hjem - Projeto Final: 6 trinn](https://i.howwhatproduce.com/images/006/image-17142-14-j.webp)
Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
![Starter et smart hjem - Projeto Final Starter et smart hjem - Projeto Final](https://i.howwhatproduce.com/images/006/image-17142-15-j.webp)
Projeto apresentado é parte do projeto final do curso de IoT aplicado a Smart Home
O projeto mostrado a seguir é parte do projeto final a ser apresentado no curso de IoT aplicada a Smart Home, que consiste de sensores e atuadores conectados na DrangonBoard + Linker Mezzanine, um aplicativo desenvolvido com o ionic (a ser incluido em breve) e as informações/dados das "coisas" serão salvados og cloud da AWS. Para uma primeira iteração com a DragonBoard e IoT como um todo, decidiu-se fazer um system of acendimento automático de luzes, com um sensor de luminosidade, uma chave liga/desliga para ativar um aparelho de ar-condicionado de acordo com uma temperatura pre -setada e um sensor de proximidade que será instalado no portão de uma garagem, com a intenção de informar ao proprietário da casa se o portão encontra-se aberto ou fechado.
Trinn 1: Materias Necessários
![Materias Necessários Materias Necessários](https://i.howwhatproduce.com/images/006/image-17142-16-j.webp)
![Materias Necessários Materias Necessários](https://i.howwhatproduce.com/images/006/image-17142-17-j.webp)
- Plasser DragonBoard.
- 96Boards Linker Mezzanine
- Sensor de luminozidade (LDR) som følger med en Linker Mezzanine.
- Sensor de temperatura que acompanha og Linker Mezzanine.
- Du kan også få kontakt med Linker Mezzanine.
- Relé acompanha a Linker Mezzanine, utlizado para ligar or systema de A/C.
- LED acompanha a Linker Mezzanine, que representará a iluminação a ser ativada.
- Instalação das bibliotecas citadas no passo 5.
Trinn 2: Sensorer, Atuadores E Conexões
![Sensores, Atuadores E Conexões Sensores, Atuadores E Conexões](https://i.howwhatproduce.com/images/006/image-17142-18-j.webp)
![Sensores, Atuadores E Conexões Sensores, Atuadores E Conexões](https://i.howwhatproduce.com/images/006/image-17142-19-j.webp)
1. Linker Mezzanine:
Será nødvendigário conectar a placa Mezzanine and dragonboard. For detaljer, konsulentlenk
2. Sensor luminosidade (LDR)
O sensor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC1. Para detalhes técnicos:
3. Sensor de Temperatura
O sensor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC2. Para detalhes técnicos:
4. Botão Touch
O sensor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D1. Este botão irá ligar/desligar o sistema como um todo. O acesso a este botão é somente local. Para detalhes técnicos: https://linksprite.com/wiki/index.php5? Title = Touch_…
5. Relé
O relé é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D2. Ele será utiizado para ligar/desligar o sistema de A/C.
6. LED
O LED er et parte kit for Linker Mezzanine og deverá ser conectado na entrada D4. O LED -representasjon eller system for iluminação de uma casa, seja algum cômodo interno da casa ou externo, como a iluminação de um jardim. Foi adicionado um resistor de 10k ohm em sério com o já existente para diminuir a corrente utilizada pelo system, ja que em experiências anteriores verificou-se conflitos com as portas analógicas. Para detalhes técnicos:
7. Sensor de contato magnético
Este sensor foi comprado a parte e não faz parte do Kit da Linker Mezzanine. Ele será usado em uma janela ou no portão de uma garagem para informar se a janela/garagem está aberta ou fechada. O sensor é um conjunto formado por 2 pequenas peças (ver photo do Step acima), o sensor proprimamente dito e um pequeno "imã", que ao aproximar-se do sensor irá alterar o estado do sensor. O sensor utlizado neste projeto foi um N/A (normalmente aberto). Hva er en sensor eller en sensorrapport? Det er en sensor som kan brukes til å rapportere en serie.
Trinn 3: Aplicativo Para Controle Remoto
![Aplicativo Para Controle Remoto Aplicativo Para Controle Remoto](https://i.howwhatproduce.com/images/006/image-17142-20-j.webp)
O aplicativo foi desenvolvido com o Ionic Framework, https://ionicframework.com/. Será nødvendigár fazer o last ned e a instalação da ultima versão.
O aplicativo irá se comunicar (ler e atualizar os dados) com a cloud da AWS (AWS IoT- https://aws.amazon.com/iot/), que posteriormente será acessada pela placa dragonboard para atualização dos status dos sensores e atuadores.
- Sistema de Iluminação mostra o estado do sitesma de iluminação, ligado ou desligado. Quando o nível de luminosidade baixar do valor configurado, as luzes se acenderão automaticamente. Quando a intensidade de luz aumentar além do valor definido, as luzes se apagarão.
- O botão A/C acionará o relé, que por sua vez acionará o sistema de A/C da casa. Também é possível definir o valor desejado da temperatura. Det kan oppnås en temperatur som kan oppnå en temperatur, eller a/C kan brukes til å definere en temperatur. Det kan for eksempel regnes som en temperatur på 23 grader. Med en temperatur på innvendig eddik på 24 grader, kan A/C brukes på en permanent temperatur og på en temperatur på 20 gram. Depois o ciclo se repetirá.
- Garagem informará a atual posição da garagem, se aberta ou fechada.
- Temperatur og informasjon om interiøret i interiøret.
- Luminosidade é apesas informativa e mostra o valor da luminosidade atual.
Segue em anexo os arquivos home.html e home.ts contendos os códigos para comunicação com a cloud AWS e atualização do app.
Trinn 4: Criando Uma "coisa" Na AWS IoT
![Criando Uma Criando Uma](https://i.howwhatproduce.com/images/006/image-17142-21-j.webp)
For oppsettet for IoT og AWS, kan vi også fortelle følgende:
1) Criar um projeto no AWS IoT atravé do link:
2) Klikk "lag en ting" og então, "Lag en enkelt ting". Klikk her for å klikke på neste.
3) Klikk på "Lag en ting uten sertifikat". Nesse -opplæringen kan brukes av sertifikater for spørsmål som vi kan anbefale, og som kan anbefales for bruk av IoT som sertifikater.
4) Nesse momento, sua "coisa" já estará criada. Klikk no botão da "coisa" que foi criado para abrir a tela com as opções. Nessa tela podemos ver os tópicosMQTT que podem ser usados para fazer and atualização dos dados and serem enviados para a Could, assim como é uma ótima ferramenta para troubleshooting. No código em Python que será apresentado em breve, foram utlizados alguns destes tópicos. Du kan også se en "skygge" som gir informasjon om dragonboard -refletida og AWS Cloud.
Trinn 5: Programa Em Python
Som seguintes bibliotecas serão necessárias para a execução do programa:
import spidevimport tid import logging import json import argparse
fra libsoc import gpio
fra tid importer søvn fra datetime import dato, datetime fra gpio_96boards importer GPIO fra AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTClient fra AWSIoTPythonSDK. MQTTLib
Segue abaixo código completeo to programa:
import spidevimport tid import logging import json import argparse
fra libsoc import gpio
fra tid import søvn fra datetime import dato, datetime fra gpio_96boards importer GPIO fra AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTClient fra AWSIoTPythonSDK. MQTTLib import AWSIoTMQTTShadowClient
GPIO_CS = GPIO.gpio_id ('GPIO_CS') #Analog port
BUTTON = GPIO.gpio_id ('GPIO_A') RELE = GPIO.gpio_id ('GPIO_C') LED = GPIO.gpio_id ('GPIO_G')
pins = ((GPIO_CS, 'out'), (KNAPP, 'inn'), (RELE, 'ut'), (LED, 'ut'),)
def setdevices (deltaMessagePython):
System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']
##### AC
hvis Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)
hvis Rele_Status == 0:
gpio.digital_write (RELE, GPIO. LOW)
##### Sistema de Iluminacao
hvis Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) hvis Led_Status == 0: gpio.digital_write (LED, GPIO. LOW)
def readadc (gpio):
gpio.digital_write (GPIO_CS, GPIO. HIGH)
time.sleep (0.0002) gpio.digital_write (GPIO_CS, GPIO. LOW) r = spi.xfer2 ([0x01, 0xA0, 0x00])#ADC2 - Temperatur 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
gpio.digital_write (GPIO_CS, GPIO. HIGH)
time.sleep (0.0002) gpio.digital_write (GPIO_CS, GPIO. LOW) r = spi.xfer2 ([0x01, 0x80, 0x00])#ADC1 - Luminosity gpio.digital_write (GPIO_CS, GPIO. HIGH) adcoutldr = (r [1] << 8) & 0b1100000000 adcoutldr = adcoutldr | (r [2] & 0xff) adcoutldr = str (adcoutldr) nå = datetime.utcnow () now_str = now.strftime ('%Y-%m-%dT%H:%M:%SZ') temperatura = "{:.2f} ". Format (adc_temp) payload_temp = '{" state ": {" wanted ": {" Luminosidade ":' + adcoutldr + '," Temperatura ":' + temperatura + '}}}' myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", nyttelast_temp, 0) retur r
def desliga ():
gpio.digital_write (RELE, GPIO. LOW) gpio.digital_write (LED, GPIO. LOW)
def run (gpio):
system_status = 1
mens det er sant:
time.sleep (2) button_value = gpio.digital_read (BUTTON) print ("----") time.sleep (0.25) if button_value == 1: if system_status == 0: system_status = 1 else: system_status = 0 desliga () hvis system_status == 1: verdi = readadc (gpio) skriv ut "SYSTEM_STATUS %d" %system_status time.sleep (3)
klasse shadowCallbackContainer:
def _init _ (self, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance
# Tilpasset skyggeoppringning
def customShadowCallback_Delta (self, payload, responseStatus, token): print ("Mottatt en delta -melding:") ### nyttelast oppdateringsskript payloadDict = json.loads (nyttelast) deltaMessage = json.dumps (payloadDict ["state"]) print "DELTA MESSAGE %s" %deltaMessage ### Forespørsel om oppdatering av rapporterte tilstand newPayload = '{"state": {"reported":' + deltaMessage + '}}' deltaMessagePython = json.loads (deltaMessage) setdevices (deltaMessagePython)
spi = spidev. SpiDev ()
spi.open (0, 0) spi.max_speed_hz = 10000 spi.mode = 0b00 spi.bits_per_word = 8
####### Thing definisjon
# AWS IoT -sertifikatbasert tilkobling
myMQTTClient = AWSIoTMQTTClient ("DBpyAWS1116") myMQTTClient.configureEndpoint ("a28rqf8gnpw7g.iot.us-west-2.amazonaws.com", 8883) myMQTTClient.configureCredentials ("/home/"/home/////////, "/home/linaro/shared/AWS/" SUA CHAVE "-private.pem.key", "/home/linaro/shared/AWS/" SEU CERTIFICADO "-certificate.pem.crt") myMQTTClient.configureOfflinePublishQueueing (- 1) # Uendelig frakoblet Publiser kø myMQTTClient.configureDrainingFrequency (2) # Drenering: 2 Hz myMQTTClient.configureConnectDisconnectTimeout (10) # 10 sec myMQTTClient.configureMQTTOperationTimeout (5) # 5Tilkobling (publiser my. MytKlient). coisajsb "," tilkoblet ", 0)
########################
######## Skygge definisjon
# Init AWSIoTMQTTShadowClient
myAWSIoTMQTTShadowClient = Ingen myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient ("DBpyAWS1116") myAWSIoTMQTTShadowClient.configureEndpoint ("SEU END-POINT." CA.crt ","/home/linaro/shared/AWS/"SUA CHAVE" -private.pem.key ","/home/linaro/shared/AWS/"SEU CERTIFICADO-certificate.pem.crt")
# AWSIoTMQTTShadowClient -konfigurasjonmyAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) # 10 sec myAWSIoTMQTTS.
# Koble til AWS IoT
myAWSIoTMQTTShadowClient.connect ()
# Lag en enhetsskygge med vedvarende abonnement
deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName ("DBpyAWS1116", True) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)
# Lytt til deltaer
deviceShadowHandler.shadowRegisterDeltaCallback (shadowCallbackContainer_Bot.customShadowCallback_Delta)
#########################
myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", '{"state": {"wanted": {"SystemStatus": 1, "SisIlumi": 0, "AC": 0, "Garagem": "Fechada", "Temperatura": 25, "Luminosidade": 123}}} ', 0)
hvis _name_ == "_main_":
med GPIO (pins) som gpio: run (gpio)
Trinn 6: Finalização
![Finalização Finalização](https://i.howwhatproduce.com/images/006/image-17142-22-j.webp)
Após ter concluido os passos anteriores, deve-se inicializar o sistema executando o código fornecido no passo 5 e inicializar o app através do Ionic, usando o comando Ionic serve.
For mulig feilsøking, anbefaler vi å bruke en MQTT-klienttest for AWS, og det kan også bekreftes som en dragonboard-oversikt som kan sendes til en forma correta for AWS Cloud: https://us-west-2.console.aws.amazon.com/iotv2/hom …
Anbefalt:
Plug & Play CO2 -sensordisplay med NodeMCU/ESP8266 for skoler, barnehager eller ditt hjem: 7 trinn
![Plug & Play CO2 -sensordisplay med NodeMCU/ESP8266 for skoler, barnehager eller ditt hjem: 7 trinn Plug & Play CO2 -sensordisplay med NodeMCU/ESP8266 for skoler, barnehager eller ditt hjem: 7 trinn](https://i.howwhatproduce.com/images/002/image-3826-j.webp)
Plug & Play CO2 -sensordisplay med NodeMCU/ESP8266 for skoler, barnehager eller ditt hjem: Jeg skal vise deg hvordan du raskt bygger en plugg & spill CO2 -sensor der alle elementene i prosjektet vil bli koblet til DuPont -ledninger. Det vil bare være 5 poeng som må loddes, fordi jeg ikke loddet før dette prosjektet i det hele tatt
Hjem for fjernkontrollen: 6 trinn
![Hjem for fjernkontrollen: 6 trinn Hjem for fjernkontrollen: 6 trinn](https://i.howwhatproduce.com/images/002/image-5864-j.webp)
Hjemmet til fjernkontrollen: Jeg er en 13 år gammel jente fra Taiwan. Tilgi meg hvis jeg gjør noen grammatiske eller andre feil. Dette er en enhet som minner deg om å sette TV-fjernkontrollen på plass igjen etter å ha sett TV. Hvorfor oppfant jeg denne enheten? Det er fordi jeg ofte glemmer hvor
Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul - Home Automation Ideas: 15 trinn (med bilder)
![Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul - Home Automation Ideas: 15 trinn (med bilder) Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul - Home Automation Ideas: 15 trinn (med bilder)](https://i.howwhatproduce.com/images/003/image-6810-j.webp)
Hvordan lage et smart hjem ved hjelp av Arduino kontrollrelémodul | Idéer for hjemmeautomatisering: I dette hjemmeautomatiseringsprosjektet vil vi designe en smart hjemmestafemodul som kan styre fem husholdningsapparater. Denne relemodulen kan styres fra mobil eller smarttelefon, IR -fjernkontroll eller TV -fjernkontroll, manuell bryter. Dette smarte stafetten kan også kjenne r
Innledning: Økologisk lite hjem inspirert av naturen: 7 trinn
![Innledning: Økologisk lite hjem inspirert av naturen: 7 trinn Innledning: Økologisk lite hjem inspirert av naturen: 7 trinn](https://i.howwhatproduce.com/images/005/image-13041-j.webp)
Innledning: Ecologic Tiny Home Inspired by Nature: I am Kristan Otten. Jeg bor i Nederland, Almere. Jeg er 12 år gammel.Jeg valgte dette instruerbart, fordi jeg så bildet på forsiden og jeg liker å bygge hus.I de neste årene er det billigere og praktisk å være selvforsynt. Det
Stemmestyr ditt hjem hvor som helst i verden: 5 trinn
![Stemmestyr ditt hjem hvor som helst i verden: 5 trinn Stemmestyr ditt hjem hvor som helst i verden: 5 trinn](https://i.howwhatproduce.com/images/009/image-24727-j.webp)
Stemmekontroll ditt hjem fra hvor som helst i verden: … ikke science fiction lenger … Ved hjelp av maskinvare og programvare som er tilgjengelig i dag, vil denne instruksjonsboken demonstrere hvordan det er mulig å stemme styre flertallet av hjemmets systemer via stemmekontroll, smarttelefon, nettbrett og/eller PC fra hvor som helst