![Gudras mājas uzsākšana - Projeto fināls: 6 soļi Gudras mājas uzsākšana - Projeto fināls: 6 soļi](https://i.howwhatproduce.com/images/006/image-17142-14-j.webp)
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59
![Gudras mājas uzsākšana - Projeto fināls Gudras mājas uzsākšana - Projeto fināls](https://i.howwhatproduce.com/images/006/image-17142-15-j.webp)
Projeto apresentado é parte do projeto final do curso de IoT app the Smart Home
O projeto mostrado a seguir é parte do projeto final and 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 informācija/dados das "coisas" seriāla salvados un mākonis da AWS. Para uma primeira iteração com a DragonBoard and IoT como umoo, decidiu-se fazer um system de 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.
1. darbība. 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)
- Novietojiet DragonBoard.
- 96Boards Linker Mezzanine
- Luminozidade Sensor de Luminozidade (LDR) ir saistīts ar Linker Mezzanine.
- Temperatūras sensors kopā ar Linker Mezzanine.
- Botão touch que kopā ar Linker Mezzanine.
- Atbilstoši Linker Mezzanine, utlizado para ligar vai systema de A/C.
- Gaismas diodes pavada Linker Mezzanine, kas attēlo un iluminação a ser ativada.
- Instalação das bibliotecas citadas no passo 5.
2. darbība: Sensores, 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:
Nepieciešamības pakāpe starpstāvu un starpstāvu dēļā. Sīkāk, konsultācijas saite
2. Sensora luminosidāde (LDR)
O sensors ir daļa no Kit da Linker Mezzanine un deverá ser conadoado na entrada ADC1. Sīkāka informācija par téniķiem:
3. Temperatūras sensors
O sensors ir daļa no Kit da Linker Mezzanine un deverá ser conadoado na entrada ADC2. Sīkākas detaļas:
4. Botão Touch
O sensors ir daļa no Kit da Linker Mezzanine un deverá ser conadoado na entrada D1. Este botão irá ligar/desligar o system como um todo. O acesso a este botão é somente local. Sīkāka informācija par televīziju: 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 system de A/C. Para detaļas técnicos:
6. LED
O LED ir daļa no komplekta Linker Mezzanine un deverá ser conadoado na entrada D4. O LED pārstāvis vai sistēma, kas iluminação de uma casa, seja algum cômodo interno da casa ou externo, como and iluminação de um jardim. Ja jūs domājat, ka pretestība ir 10 k ohm, tā var tikt izslēgta, ja tā ir eksistējoša, un tā ir pareizi izmantota, un pēc tam tā var būt pieredze, pārbaudot konfidencialitāti kā portāla analogu. Sīkākas detaļas:
7. Magnētiskais sensors
Este sensor fori 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 sensors ē um conjunto formado por 2 pequenas peças (ver foto do Step acima), o sensor proprimamente dito e um pequeno "imã", que ao aproximar-se do sensor ir alterar vai estado do sensor. O sensors utlizado neste projeto foi um N/A (normāls aberto). Quando o imã não está próximo do sensor, o sensor reportará estado aberto. Quando o imã estiver próximo do sensor, vai estado reportado será fechado.
3. darbība. Aplicativo Para Controle Remoto
![Aplicativo Para Controle Remoto Aplicativo Para Controle Remoto](https://i.howwhatproduce.com/images/006/image-17142-20-j.webp)
Ionic Framework aplikatīvs, https://ionicframework.com/. Svarīgi fazer vai lejupielādēt un instalēt ultimate 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.
- Sistēma de Iluminação mostra vai estado do sitesma de iluminação, ligado ou desligado. Quando o nível de luminosidade baixar do valor configurado, kā 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 system de A/C da casa. Também é possível definir o valor desejado da temperatura. Assim que a temperatura da casa estiver maior do que a temperatura de acionamento, o A/C será ligado and permanecerá ligado até a temperatura abaixar em 2 graus da tempreatura definida. Kā piemēru var minēt 23 gadus vecas temperatūras apstākļus. Quando a temperatura interjera chegar a 24 graus, or A/C será ligado e permanencerá ligado até temperatura chegar a 20 graus, desligando então. Depois o ciclo se repetirá.
- Garagem informará a atual posição da garagem, se aberta ou fechada.
- Temperatūra un apenatīva informācija un lielākā temperatūra un temperatūra interjerā.
- 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.
4. darbība: Criando Uma "coisa" Na AWS IoT
![Kriando Uma Kriando Uma](https://i.howwhatproduce.com/images/006/image-17142-21-j.webp)
Para fazer o setup to IoT with AWS, os seguintes passos deverão ser seguidos:
1) Criar um projeto no AWS IoT atravé do link:
2) Klikšķis "izveidot lietu" un então, "Izveidot vienu lietu". Dê o nome do projeto e clique em Next.
3) Na tela seguinte, clique em "Izveidot lietu bez sertifikāta". Neses apmācība, kas izmanto sertificētus uzdevumus, meklējumus, kā arī ieteikumus fazer vai IoT sem sertifikātus.
4) Nesse momento, sua "coisa" já estará criada. Clique 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 a aimalização dos dados a serem enviados para a Can, assim como é uma ótima ferramenta para traucējummeklēšana. No código em Python que será apresentado em breve, foram utlizados alguns destes tópicos. Nas opções também podemos ver a "shadow", que nada mais é que a informationção que está na dragonboard refletida na AWS Cloud.
5. solis: Programa Em Python
Kā seguintes bibliotecas serão needárias para a execução do program:
importēt spidevimportēt laiku importēt reģistrēšanu importēt json importēt argparse
no libsoc importa gpio
no laika importēšanas miega no datuma un laika importēšanas datuma, datuma laiks no gpio_96boards importē GPIO no AWSIoTPythonSDK. MQTTLib importē AWSIoTMQTTClient no AWSIoTPythonSDK. MQTTLib
Programmas Segue abaixo código pabeigšana:
importēt spidevimportēt laiku importēt reģistrēšanu importēt json importēt argparse
no libsoc importa gpio
no laika importēšanas miega no datuma un laika importēšanas datuma, datuma laiks no gpio_96boards importē GPIO no AWSIoTPythonSDK. MQTTLib importē AWSIoTMQTTClient no AWSIoTPythonSDK.
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')
tapas = ((GPIO_CS, 'out'), (BUTTON, "in"), (RELE, "out"), (LED, "out"),)
def setdevices (deltaMessagePython):
System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']
##### AC
ja Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)
ja Rele_Status == 0:
gpio.digital_write (RELE, GPIO. LOW)
##### Sistēma de Iluminacao
ja Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) ja 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 - Temperatūra gpio.digital_write (GPIO_CS, GPIO. HIGH) adcout = (r [1] << 8) & 0b1100000000 adcout = adcout | (r [2] un 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 - Spilgtums gpio.digital_write (GPIO_CS, GPIO. HIGH) adcoutldr = (r [1] << 8) & 0b1100000000 adcoutldr = adcoutldr | (r [2] & 0xff) adcoutldr = str (adcoutldr) now = datetime.utcnow () now_str = now.strftime ('%Y-%m-%dT%H:%M:%SZ') temperatūra = "{:.2f} ". Format (adc_temp) payload_temp = '{" state ": {" gribēts ": {" Luminosidade ":' + adcoutldr + '," Temperatura ":' + temperatura + '}}}' myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", payload_temp, 0) return r
def desliga ():
gpio.digital_write (RELE, GPIO. LOW) gpio.digital_write (LED, GPIO. LOW)
def run (gpio):
sistēmas_statuss = 1
kamēr taisnība:
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 () if system_status == 1: value = readadc (gpio) print "SYSTEM_STATUS %d" %system_status time.sleep (3)
class shadowCallbackContainer:
def _init _ (self, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance
# Pielāgota ēnu atzvanīšana
def customShadowCallback_Delta (self, payload, responseStatus, token): print ("Saņemts delta ziņojums:") ### payload update script payloadDict = json.loads (payload) deltaMessage = json.dumps (payloadDict ["state"]) print "DELTA MESSAGE %s" %deltaMessage ### Pieprasījums atjaunināt paziņoto stāvokli newPayload = '{"state": {"report":' + 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
####### Lietas definīcija
# Uz AWS IoT balstīts savienojums
myMQTTClient = AWSIoTMQTTClient ("DBpyAWS1116") myMQTTClient.configureEndpoint ("a28rqf8gnpw7g.iot.us-west-2.amazonaws.com", 8883) myMQTTClient.configureCredentials ("/home/lin/s/)/"/home/lin/s/", "/home/linaro/shared/AWS/" SUA CHAVE "-private.pem.key", "/home/linaro/shared/AWS/" SEU CERTIFICADO "-certificate.pem.crt") myMQTTClient.configureOfflinePublishQueueing (- 1) # Bezgalīga bezsaistes publicēšana rindā myMQTTClient.configureDrainingFrequency (2) # Drenāža: 2 Hz myMQTTClient.configureConnectDisconnectTimeout (10) # 10 sek myMQTTClient.configureMQTTOperationTimeout (5) # myTQT coisajsb "," savienots ", 0)
########################
####### Ēnu definīcija
# Init AWSIoTMQTTShadowClient
myAWSIoTMQTTShadowClient = Nav myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient ("DBpyAWS1116") myAWSIoTMQTTShadowClient.configureEndpoint ("SEU END-POINT.us-west-2T. WA. COM) CA.crt ","/home/linaro/shared/AWS/"SUA CHAVE" -private.pem.key ","/home/linaro/shared/AWS/"SEU CERTIFICADO-certificate.pem.crt")
# AWSIoTMQTTShadowClient konfigurācijamyAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) # 10 sek myAWSIoureQQT
# Izveidojiet savienojumu ar AWS IoT
myAWSIoTMQTTShadowClient.connect ()
# Izveidojiet ierīciShadow ar pastāvīgu abonementu
deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName ("DBpyAWS1116", True) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)
# Klausieties deltās
deviceShadowHandler.shadowRegisterDeltaCallback (shadowCallbackContainer_Bot.customShadowCallback_Delta)
#########################
myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", '{"state": {"Vēlams": {"SystemStatus": 1, "SisIlumi": 0, "AC": 0, "Garagem": "Fechada", "Temperatura": 25, "Luminosidade": 123}}} ', 0)
ja _name_ == "_main_":
ar GPIO (tapas) kā gpio: palaist (gpio)
6. solis: nobeigums
![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 system executando o código fornecido no passo 5 e inicializar o app através do Ionic, usando o comando Ionic serve.
Lai atrisinātu problēmu, ieteicams izmantot MQTT klienta testu, lai veiktu AWS, un pēc tam pārbaudītu, kā pārbaudīt, kā izmantot, lai pārbaudītu dragonboard un nosūtītu informāciju par AWS Cloud:
Ieteicams:
Otto DIY klases fināls: 4 soļi
![Otto DIY klases fināls: 4 soļi Otto DIY klases fināls: 4 soļi](https://i.howwhatproduce.com/images/001/image-1287-j.webp)
Otto DIY klases fināls: šo projektu padarīja iespējamu Otto un Atēnu Tehniskā koledža. Lai sāktu, vispirms ir jāiegādājas komplekts no: https://www.ottodiy.com/store/products/49452Tad veiciet šādas darbības: https: //wikifactory.com/+OttoDIY/otto-diy
TinkerCAD ultraskaņas attāluma sensora ķēde (datortehnikas fināls): 4 soļi
![TinkerCAD ultraskaņas attāluma sensora ķēde (datortehnikas fināls): 4 soļi TinkerCAD ultraskaņas attāluma sensora ķēde (datortehnikas fināls): 4 soļi](https://i.howwhatproduce.com/images/008/image-21039-j.webp)
TinkerCAD ultraskaņas attāluma sensora ķēde (datortehnikas fināls): mēs izveidosim vēl vienu jautru tinkerCAD shēmu, ko izveidot karantīnas laikā! Šodien ir pievienots interesants komponents, vai varat uzminēt? Nu, mēs izmantosim ultraskaņas attāluma sensoru! Turklāt mēs kodēsim 3 gaismas diodes
Gudras mājas automatizācija ar Energenie kontaktligzdām - tuvuma kontaktligzdas: 4 soļi
![Gudras mājas automatizācija ar Energenie kontaktligzdām - tuvuma kontaktligzdas: 4 soļi Gudras mājas automatizācija ar Energenie kontaktligzdām - tuvuma kontaktligzdas: 4 soļi](https://i.howwhatproduce.com/images/002/image-5470-25-j.webp)
Gudras mājas automatizācija ar Energenie kontaktligzdām - tuvuma kontaktligzdas: Ievads Ir daudz gudras mājas automatizācijas piemēru, taču šis ir vienkāršs un ir ļoti efektīvi darbojies manā mājā gadu, tāpēc es ceru, ka jums tas patīk. Kad esat pabeidzis, jums būs ierīce, kas var skenēt tīklu
Kā izveidot gudras mājas, izmantojot ES8266, tikai 450 rūpijās: 6 soļi
![Kā izveidot gudras mājas, izmantojot ES8266, tikai 450 rūpijās: 6 soļi Kā izveidot gudras mājas, izmantojot ES8266, tikai 450 rūpijās: 6 soļi](https://i.howwhatproduce.com/images/001/image-383-111-j.webp)
Kā izveidot gudras mājas, izmantojot ES8266 pie Just Rupees 450: Šeit ir pilna apmācība SMART HOMES izgatavošanai, izmantojot NodMCU ESP8266. tas ir ļoti vienkāršs un labākais veids iesācējiem. Ar šo apmācību iesācējs var sākt mācīties par ESP8266 NodMCU
Programmēšanas uzsākšana ar plūsmas diagrammu: 7 soļi
![Programmēšanas uzsākšana ar plūsmas diagrammu: 7 soļi Programmēšanas uzsākšana ar plūsmas diagrammu: 7 soļi](https://i.howwhatproduce.com/preview/how-and-what-to-produce/11124094-starting-programming-with-a-flow-chart-7-steps-j.webp)
Programmēšanas sākšana ar blokshēmu: vai sākat izmantot PIC mikrokontrolleri saviem projektiem? tie ir ļoti noderīgi, bet ļoti nomākti, ja jūsu programma vienkārši nedarbojas. Tas ir viens no veidiem, kā sakārtot savas idejas, uzzīmējot plūsmas diagrammu. Profesionāli programmētāji bieži šādi