![ჭკვიანი სახლის დაწყება - პროჯეტო ფინალი: 6 ნაბიჯი ჭკვიანი სახლის დაწყება - პროჯეტო ფინალი: 6 ნაბიჯი](https://i.howwhatproduce.com/images/006/image-17142-14-j.webp)
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50
![ჭკვიანი სახლის დაწყება - Projeto Final ჭკვიანი სახლის დაწყება - Projeto Final](https://i.howwhatproduce.com/images/006/image-17142-15-j.webp)
გსურთ, იხილოთ აღწერის ქართული (საქართველო) ვერსია Google Translate- ის მეშვეობით?
O projeto mostrado seguir é parte do projeto final a ser apresentado no curso de IoT aplicada a Smart Home, რომელიც შედგება sensores e atuadores conectados na DrangonBoard + Linker Mezzanine, um aplicativo desenvolvido com o ionic em bre ionic (a ser incluido) informações/dados das "coisas" serão salvados na cloud da AWS. გსურთ, იხილოთ აღწერის ქართული (საქართველო) ვერსია Google Translate- ის მეშვეობით? აღწერის ინგლისური -დაყენებული სენსორი, რომელიც ახლოსაა ინსტალაციასთან დაკავშირებით, არ არის საჭირო იმისათვის, რომ შევიტანო ინფორმაცია, რომ გამოვიყენო ინფორმაცია იმის შესახებ, თუ როგორ უნდა გამოვიყენო ის, რაც საჭიროა პორტალზე დაყენების მიზნით.
ნაბიჯი 1: საჭირო მასალები
![საჭირო მასალები საჭირო მასალები](https://i.howwhatproduce.com/images/006/image-17142-16-j.webp)
![საჭირო მასალები საჭირო მასალები](https://i.howwhatproduce.com/images/006/image-17142-17-j.webp)
- მოათავსეთ DragonBoard.
- 96Boards Linker Mezzanine
- სენსორი luminozidade (LDR), რომელიც თანმხლებია ლინკერის ანტრესოლით.
- Sensor de temperatura que acompanha a Linker ანტრესოლი.
- შეხება დაკავშირებულია Linker ანტრესოლით.
- Relé acompanha a Linker Mezzanine, რომელიც გამოიყენება ლიგატის ან სისტემის A/C სისტემისთვის.
- LED თანმხლები Linker ანტრესოლი, რომელიც წარმოადგენს წარმოდგენას და განათებას და მომსახურებას.
- Instalação das bibliotecas citadas no passo 5.
ნაბიჯი 2: სენსორესი, ატუადორესი და კონექსესი
![სენსორესი, ატუადორესი და კონექსესი სენსორესი, ატუადორესი და კონექსესი](https://i.howwhatproduce.com/images/006/image-17142-18-j.webp)
![სენსორესი, ატუადორესი და კონექსესი სენსორესი, ატუადორესი და კონექსესი](https://i.howwhatproduce.com/images/006/image-17142-19-j.webp)
1. Linker ანტრესოლი:
აუცილებელია შეცვალოთ ადგილი მეზანინზე და დრაკონის დაფაზე. დეტალური ინფორმაციისთვის, კონსულტაციის ბმული
2. სენსორი luminosidade (LDR)
O sensor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC1. ტექნიკური მონაცემების შესახებ:
3. სენსორი de Temperatura
O sensor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC2. ტექნიკური მონაცემების შესახებ:
4. ბოტიო შეხება
O sensor é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D1. ეს არის ბოროტი ლიგარი/სასწრაფო ან სისტემური სისტემა. Ocesso a este botão é somente local. გაანალიზეთ ტექნიკა: https://linksprite.com/wiki/index.php5? Title = Touch_…
5. რელე
O relé é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D2. გსურთ, იხილოთ აღწერის ქართული (საქართველო) ვერსია Google Translate- ის მეშვეობით? აღწერის ინგლისური (ამერიკის შეერთებული შტატები) ვერსიის დაბრუნება თარგმანი
6. LED
O LED parte do kit da Linker Mezzanine e deverá ser conectado na entrada D4. O LED წარმომადგენელი სისტემათა განათების სისტემა, რომელიც გამოიყენება გარედან გარედან, იუმორისტული განათების სახით. ჩვენ მივიღეთ წინააღმდეგობა 10k ohm em sério com o já არსებობს იმისთვის, რომ შევამციროთ მათი სისტემის გამოყენება, როგორც anteriores verificou-se conflitos com როგორც portas analogicas. ტექნიკური მონაცემების შესახებ:
7. სენსორი de contato magnético
Este sensor foi comprado a parte e não faz parte do Kit da Linker Mezzanine. თქვენ შეგიძლიათ გამოიყენოთ ჩვენი umanela ou no portão de uma garagem para informa se a janela/garagem está aberta ou fechada. O სენსორი, რომელიც დაკავშირებულია 2 pequenas pechas– თან (ver foto do Step acima), ან სენსორების პროპორციული მახასიათებლებით, რომლებიც დაკავშირებულია „imã“-სთან, რაც ადგენს სენსორს, რომელიც შეიცვლება სენსორის გამოყენებით. O სენსორი შეიძლება გამოყენებულ იქნას N/A (normalmente aberto). Quando o imã não está próximo do სენსორი, ან სენსორი reportará estado aberto. ეს არის სენსორი, რომელიც გაანგარიშებულია, ან გაანალიზებულია.
ნაბიჯი 3: განაცხადის კონტროლის Remoto
![განაცხადის კონტროლის Remoto განაცხადის კონტროლის Remoto](https://i.howwhatproduce.com/images/006/image-17142-20-j.webp)
Oonic aplicativo foi desenvolvido com o Ionic Framework, https://ionicframework.com/. საჭიროა საჭირო ფაილების ჩამოტვირთვა და ინსტალაცია უახლესი ვერსიისათვის.
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 ან desligado. რა არის საჭირო luminosidade baixar do valor configurado, როგორც luzes se acenderão automatamente. 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 su sua vez acionará o sistema de A/C da casa. Também é possível definir o valor desejado da temperatura. შეაფასეთ ტემპერატურის მაჩვენებელი, რომელიც არის ტემპერატურის რეჟიმი, o A/C será ligado e permanecerá ligado até temperatura abaixar em 2 graus da tempreatura definida. მაგალითად, გავითვალისწინე ის ტემპერატურა 23 გრადუსი. შეინარჩუნეთ ტემპერატურა ინტერიერში 24 გრადუსით, ან კონდიციონერით და მუდმივი ფორმით და შეინარჩუნეთ ტემპერატურა 20 გრადუსით, სასურველია. Depois o ciclo se repetirá.
- Garagem informalá atual posição da garagem, se aberta ou fechada.
- Temperatura é apenas informativa e mostra a temperatura do interior in casa.
- Luminosidade é apesas informativa e mostra o valor da luminosidade atual.
Segue em anexo os arquivos home.html e home.ts contendos os códigos for comunicação com cloud AWS e atualização do app.
ნაბიჯი 4: კრიანდო უმა "coisa" Na AWS IoT
![კრიანდო უმა კრიანდო უმა](https://i.howwhatproduce.com/images/006/image-17142-21-j.webp)
Para fazer o setup do IoT na AWS, os seguintes passos deverão ser seguidos:
1) Criar um projeto no AWS IoT atravé do link:
2) დააწკაპუნეთ "შექმენით რამე" და ასევე, "შექმენით ერთი რამ". De o nome do projeto e clique em შემდეგი.
3) შეარჩიეთ შემდეგი, აირჩიეთ "შექმენით ნივთი სერტიფიკატის გარეშე". Nutse tutorial não iremos utilisar os certificados for an questões priticas, porém não é é é é rec us us I us us us us us I I I I us us
4) Nesse momento, sua "coisa" já estará criada. Clique no botão da "coisa" que foi criado para abrir a tela com როგორც opções. Nessa tela podemos ver os tópicosMQTT, რომელიც გამოიყენება ჩვენი სერვისის გამოყენებით, როდესაც ის შეძლებს შეაფასოს და შეასრულა ენერგეტიკული უზრუნველყოფა, თუ როგორ შეიძლება, ვიმსჯელოთ პრობლემების აღმოსაფხვრელად. No código em Python que será apresentado em breve, foram utlizados alguns destes tópicos. ნაპოვნია podemos ver a "ჩრდილში", რა არის ის, რაც არის ინფორმაცია, რომელიც შეიცავს dragonboard refletida AWS Cloud– ს.
ნაბიჯი 5: პროგრამა Em Python
როგორც seguintes bibliotecas serão needárias para a execução do programa:
იმპორტი spidevimport დრო იმპორტი ჟურნალი იმპორტი json იმპორტი argparse
ლიბსოკ იმპორტის გპიოდან
დროიდან იმპორტი ძილის თარიღი დრო იმპორტი თარიღი, datetime საწყისი gpio_96 დაფები იმპორტი GPIO საწყისი AWSIoTPythonSDK. MQTTLib იმპორტი AWSIoTMQTTClient AWSIoTPythonSDK. MQTTLib
Segue abaixo código დაასრულა პროგრამა:
იმპორტი spidevimport დრო იმპორტი ჟურნალი იმპორტი json იმპორტი argparse
ლიბსოკ იმპორტის გპიოდან
დროულად იმპორტი ძილის თარიღი დრო იმპორტი თარიღი, datetime საწყისი gpio_96 დაფები იმპორტი GPIO საწყისი AWSIoTPythonSDK. MQTTLib იმპორტი AWSIoTMQTTClient AWSIoTPythonSDK. MQTTLib იმპორტი AWSIoTMQTTShadowClient
GPIO_CS = GPIO.gpio_id ('GPIO_CS') #ანალოგური პორტი
ღილაკი = GPIO.gpio_id ('GPIO_A') RELE = GPIO.gpio_id ('GPIO_C') LED = GPIO.gpio_id ('GPIO_G')
ქინძისთავები = ((GPIO_CS, 'out'), (ღილაკი, "შიგნით"), (RELE, "out"), (LED, "out"),)
def setdevices (deltaMessagePython):
System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']
##### AC
თუ Rele_Status == 1: gpio.digital_write (RELE, GPIO. HIGH)
თუ Rele_Status == 0:
gpio.digital_write (RELE, GPIO. LOW)
##### სისტემა დე ილუმინაკაო
თუ Led_Status == 1: gpio.digital_write (LED, GPIO. HIGH) თუ 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 - ტემპერატურა gpio.digital_write (GPIO_CS, GPIO. HIGH) adcout = (r] << 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 =] << 8) & 0b1100000000 adcoutldr = adcoutldr | (r [2] & 0xff) adcoutldr = str (adcoutldr) now = datetime.utcnow () now_str = now.strftime ('%Y-%m-%dT%H:%M:%SZ') temperatura = "{:.2f} ". ფორმატი (adc_temp) payload_temp = '{" მდგომარეობა ": {" სასურველი ": {" Luminosidade ":' + adcoutldr + '," Temperatura ":' + temperatura + '}}}' myMQTTClient.publish ("$ aws/things/DBpyAWS1116/shadow/update", payload_temp, 0) დაბრუნება r
def desliga ():
gpio.digital_write (RELE, GPIO. LOW) gpio.digital_write (LED, GPIO. LOW)
def run (gpio):
სისტემის_სტატუსი = 1
მართალია:
time.sleep (2) button_value = gpio.digital_read (BUTTON) ამობეჭდვა ("----") time.sleep (0.25) თუ button_value == 1: if system_status == 0: system_status = 1 სხვა: system_status = 0 desliga () თუ system_status == 1: value = readadc (gpio) ამობეჭდვა "SYSTEM_STATUS %d" %system_status time.sleep (3)
class shadowCallbackContainer:
def _init _ (self, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance
# მორგებული ჩრდილის გამოძახება
def customShadowCallback_Delta (self, payload, respondStatus, token): print ("მიღებული delta message:") ### payload update script payloadDict = json.loads (payload) deltaMessage = json.dumps (payloadDict ["state"]) print "DELTA MESSAGE %s" %deltaMessage ### მოხსენებული მდგომარეობის განახლების მოთხოვნა 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
####### რამ განსაზღვრა
# AWS IoT სერტიფიკატზე დაფუძნებული კავშირი
myMQTTClient = AWSIoTMQTTClient ("DBpyAWS1116") myMQTTClient.configureEndpoint ("a28rqf8gnpw7g.iot.us-west-2.amazonaws.com", 8883) myMQTTClient.configureCredentials ("/home/lin/, "/home/linaro/shared/AWS/" SUA CHAVE "-private.pem.key" " 1) # უსასრულო ხაზგარეშე გამოქვეყნება რიგში myMQTTClient.configureDraining სიხშირე (2) # დრენაჟი: 2 Hz myMQTTClient.configureConnectDisconnectTimeout (10) # 10 წთ myMQTTClient.configureMQTTOperationTimeout (5) ჩემი 5 კლიენტი (5) coisajsb "," დაკავშირებულია ", 0)
########################
####### ჩრდილის განსაზღვრა
# ინიცირება AWSIoTMQTTShadowClient
myAWSIoTMQTTShadowClient = არცერთი myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient ("DBpyAWS1116") myAWSIoTMQTTShadowClient.configureEndpoint ("SEU END-POINT.us-west-2.amazonaws.com", 8883) myAWSIoTMQTTShadowClient.configureCredentials ("/ home / linaro / საერთო / AWS / root- CA.crt ","/home/linaro/shared/AWS/"SUA CHAVE" -private.pem.key ","/home/linaro/shared/AWS/"SEU CERTIFICADO-certificate.pem.crt")
# AWSIoTMQTTShadowClient კონფიგურაცია myAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime (1, 32, 20) myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout (10) # 10 secC
# დაუკავშირდით AWS IoT- ს
myAWSIoTMQTTShadowClient.connect ()
# შექმენით მოწყობილობა დაჩრდილეთ მუდმივი გამოწერით
deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName ("DBpyAWS1116", True) shadowCallbackContainer_Bot = shadowCallbackContainer (deviceShadowHandler)
# მოუსმინეთ დელტაზე
deviceShadowHandler.shadowRegisterDeltaCallback (shadowCallbackContainer_Bot.customShadowCallback_Delta)
#########################
myMQTTClient.publish ("$ aws/things/DBpyAWS1116/ჩრდილოვანი/განახლება", '{"მდგომარეობა": {"სასურველი": {"SystemStatus": 1, "SisIlumi": 0, "AC": 0, "Garagem": "ფეჩადა", "ტემპერტურა": 25, "ლუმინოსიდადე": 123}}} ', 0)
თუ _name_ == "_ მთავარი_":
GPIO- სთან ერთად (ქინძისთავები) როგორც gpio: გაშვება (gpio)
ნაბიჯი 6: დასრულება
![ფინალიზაციო ფინალიზაციო](https://i.howwhatproduce.com/images/006/image-17142-22-j.webp)
Após ter concluido os passos anteriores, deve-se inicializar o sistema execandando o código fornecido no passo 5 e inicializar o app através do Ionic, usando o comando Ionic serve.
იმისათვის, რომ შესაძლებელი იყოს პრობლემის აღმოფხვრა, გირჩევთ გამოიყენოთ MQTT კლიენტის ტესტირება AWS– ით, შესაძლებელია შემოწმდეს როგორც dragonboard– ის მელოდიური საშუალებები, რათა გაგზავნოთ AWS Cloud– ის ფორმა:
გირჩევთ:
Otto DIY კლასის ფინალი: 4 ნაბიჯი
![Otto DIY კლასის ფინალი: 4 ნაბიჯი Otto DIY კლასის ფინალი: 4 ნაბიჯი](https://i.howwhatproduce.com/images/001/image-1287-j.webp)
Otto DIY კლასის ფინალი: ეს პროექტი შესაძლებელი გახდა ოტოს და ათენის ტექნიკური კოლეჯის მიერ. დასაწყებად, თქვენ ჯერ უნდა შეიძინოთ ნაკრები: https://www.ottodiy.com/store/products/49452 შემდეგ მიჰყევით ნაბიჯებს: https: //wikifactory.com/+OttoDIY/otto-diy
შექმენით ჭკვიანი სახლის კონტროლის სისტემა STONE HMI დისკზე: 23 ნაბიჯი
![შექმენით ჭკვიანი სახლის კონტროლის სისტემა STONE HMI დისკზე: 23 ნაბიჯი შექმენით ჭკვიანი სახლის კონტროლის სისტემა STONE HMI დისკზე: 23 ნაბიჯი](https://i.howwhatproduce.com/images/002/image-5203-j.webp)
შექმენით Smart Home Control System STONE HMI Disp– ზე: პროექტის დანერგვა შემდეგი სამეურვეო პროგრამა გიჩვენებთ თუ როგორ გამოიყენოთ STONE STVC050WT-01 სენსორული მოდული საყოფაცხოვრებო ტექნიკის მართვის მარტივი სისტემის შესაქმნელად
სახლის ავტომატიზაციის დაწყება: სახლის ასისტენტის დაყენება: 3 ნაბიჯი
![სახლის ავტომატიზაციის დაწყება: სახლის ასისტენტის დაყენება: 3 ნაბიჯი სახლის ავტომატიზაციის დაწყება: სახლის ასისტენტის დაყენება: 3 ნაბიჯი](https://i.howwhatproduce.com/images/009/image-26547-j.webp)
სახლის ავტომატიზაციის დაწყება: სახლის ასისტენტის დაყენება: ჩვენ ახლა დავიწყებთ სახლის ავტომატიზაციის სერიას, სადაც ჩვენ ვქმნით ჭკვიან სახლს, რომელიც საშუალებას მოგვცემს გავაკონტროლოთ ისეთი რამ, როგორიცაა განათება, დინამიკები, სენსორები და ა. ხმის ასისტენტი. ამ პოსტში ჩვენ ვისწავლით თუ როგორ უნდა
კომპიუტერული ინჟინერიის ფინალი სიმონ ამბობს თამაში: 3 ნაბიჯი
![კომპიუტერული ინჟინერიის ფინალი სიმონ ამბობს თამაში: 3 ნაბიჯი კომპიუტერული ინჟინერიის ფინალი სიმონ ამბობს თამაში: 3 ნაბიჯი](https://i.howwhatproduce.com/images/006/image-16384-13-j.webp)
კომპიუტერული ინჟინერიის ფინალი სიმონ ამბობს თამაშს: ჩემი იდეა: ჩემი პროექტი არის სიმონის ნათქვამი თამაში. ამ თამაშში არის ოთხი LED და ოთხი ღილაკი. მუსიკა უკრავს ზუზუნიდან, სანამ LED- ები ანათებს მუსიკას. შემდეგ თამაში დაიწყება. LED ანათებს და თქვენ უნდა დააჭიროთ კონდახს
LED კონტროლის ფინალი: 3 ნაბიჯი
![LED კონტროლის ფინალი: 3 ნაბიჯი LED კონტროლის ფინალი: 3 ნაბიჯი](https://i.howwhatproduce.com/images/001/image-248-98-j.webp)
LED კონტროლის ფინალი: ამ გაკვეთილში თქვენ შეისწავლით თუ როგორ უნდა აკონტროლოთ 5 LED- ის რიგი პოტენომეტრით. პოტენციომეტრი შუქდება LED- ებს შორის, როგორც ეს მოცემულია დიაგრამაში