विषयसूची:

स्मार्ट होम शुरू करना - प्रोजेटो फ़ाइनल: 6 चरण
स्मार्ट होम शुरू करना - प्रोजेटो फ़ाइनल: 6 चरण

वीडियो: स्मार्ट होम शुरू करना - प्रोजेटो फ़ाइनल: 6 चरण

वीडियो: स्मार्ट होम शुरू करना - प्रोजेटो फ़ाइनल: 6 चरण
वीडियो: easy science experiment||science easy experiment||simple experiment do at home||#short#E_bull_jet#yt 2024, नवंबर
Anonim
एक स्मार्ट होम शुरू करना - प्रोजेटो फाइनल
एक स्मार्ट होम शुरू करना - प्रोजेटो फाइनल

प्रोजेटो एप्रेजेंटेडो और पार्ट डू प्रोजेटो फाइनल डू कर्सो डी आईओटी एप्लिकैडो ए स्मार्ट होम।

ओ प्रोजेक्टो मोस्ट्राडो ए सेगुइर ए पार्ट डू प्रोजेटो फाइनल ए सेर एप्रेजेंटेडो नो कर्सो डी आईओटी एप्लिकडा ए स्मार्ट होम, क्यू कंसिस्टे डे सेंसर्स ई एटुआडोरेस कोनेक्टाडोस और ड्रैंगनबोर्ड + लिंकर मेजेनाइन, उम एप्लिकेटिवो डिसेनवोल्विडो कॉम ओ आयनिक (ए ब्रेव) ईम के रूप में शामिल हैं सूचना/दादोस दास "कोइसस" सेरो सल्वाडोस और क्लाउड डा एडब्ल्यूएस। पैरा उमा प्राइमिरा इटेराकाओ कॉम ए ड्रैगनबोर्ड और आईओटी कोमो उम टूडू, डेसीडियू-से फेजर उम सिस्टेमा डी एकेंडमेंटो ऑटोमेटिको डी लुज़ेस, कॉम उम सेंसर डी ल्यूमिनोसिडेड, उमा चावे लीगा / डेस्लिगा पारा एटवार उम अपरेल्हो प्री डे एकॉर्डो -सेटाडा ई उम सेंसर डे प्रॉक्सिमिडेड क्यू सेरा इंस्टालाडो नो पोर्टाओ डे उमा गैरेजम, कॉम ए इंटेन्सो डी इनफॉर्मर एओ प्रोप्राइटेरियो दा कासा से ओ पोर्टो एनकॉन्ट्रा-से एबर्टो कहां फेचाडो।

चरण 1: आवश्यक सामग्री

आवश्यक सामग्री
आवश्यक सामग्री
आवश्यक सामग्री
आवश्यक सामग्री
  1. ड्रैगनबोर्ड लगाएं।
  2. 96बोर्ड्स लिंकर मेजेनाइन
  3. सेंसर डी ल्यूमिनोज़िडेड (एलडीआर) एक लिंकर मेजेनाइन के साथ है।
  4. सेंसर डे टेम्परेचर क्यू अकोम्पान्हा और लिंकर मेजेनाइन।
  5. एक लिंकर मेजेनाइन के साथ बोताओ स्पर्श करें।
  6. एक लिंकर मेजेनाइन के साथ रिले करें, इसके लिए उपयोग किया जाता है या सिस्टम डी ए/सी।
  7. एलईडी एक लिंकर मेजेनाइन के साथ, यह एक बेहतर सेवा प्रदान करता है।
  8. इंस्टालकाओ दास बिब्लियोटेकस सीतादास नो पासो 5.

चरण 2: सेंसर, एटुआडोरेस ई कॉनेक्स।

सेंसर, एटुआडोरेस ई कॉनेक्स।
सेंसर, एटुआडोरेस ई कॉनेक्स।
सेंसर, एटुआडोरेस ई कॉनेक्स।
सेंसर, एटुआडोरेस ई कॉनेक्स।

1. लिंकर मेजेनाइन:

सेरा necessário conectar a placa Mezzanine and Dragonboard। पैरा डिटेल्स, कंसल्टर लिंक

2. सेंसर ल्यूमिनोसिडेड (एलडीआर)

ओ सेंसर é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC1. पैरा टेकनिकोस का पता लगाता है:

3. सेंसर डी तापमान

ओ सेंसर é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada ADC2. पैरा डिटेल्स टेकनिकोस:

4. बोटाओ टच

ओ सेंसर é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D1. एस्टे बोटाओ इरा लिगार/देस्लिगार या सिस्टेमा कोमो उम टूडू। ओ एसेसो ए एस्टे बोटाओ इ सोमेंटे लोकल। पैरा डिटेल्स टेकनिकोस:https://linksprite.com/wiki/index.php5?title=Touch_…

5. रिले

ओ रिले ई पार्ट डू किट दा लिंकर मेज़ानाइन ई डेवेरा सेर कनेक्टैडो और एंटरडा डी२। एले सेरा यूटिज़ाडो पैरा लीगर/देसलीगर ओ सिस्टेमा डी ए/सी.पारा डिटेल्स टेकनिकोस:

6. एलईडी

O LED é parte do Kit da Linker Mezzanine e deverá ser conectado na entrada D4. ओ एलईडी प्रस्तुतकर्ता ओ सिस्टेमा डी इलुमिनाकाओ डी उमा कासा, सेजा अल्गम कोमोडो इंटरनो द कासा कहां एक्सटर्नो, कोमो ए इल्यूमिनाकाओ डी उम जार्डिम। फ़ोई एडिसियोनाडो um रेसिस्टर डे 10k ओम एम सेरियो कॉम ओ जेए अस्तित्व में पैरा डिमिनुइर ए कॉरेंट यूटिलिज़डा पेलो सिस्टेमा, जे क्यू एम एक्सपीरिएंस एन्टीरियर्स वेरिफिको-से कॉन्फ्लिटोस कॉम पोर्टस एनालोगिकस के रूप में। पैरा डिटेल्स टेकनिकोस:

7. सेंसर डी कॉन्टेटो मैग्नेटिको।

एस्टे सेंसर फॉई कॉम्पराडो ए पार्ट ई नो फज पार्ट डू किट डा लिंकर मेजेनाइन। एले सेरा यूएसएडो एम उमा जेनेला या नो पोर्टाओ डे उमा गैरेजम पैरा इनफॉर्मर से ए जेनेला/गैरेजम एबर्टा कहां फेचाडा। ओ सेंसर é 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á allterar o estado do sensor। ओ सेंसर यूटिलाइज़्डो नेस्ट प्रोजेटो फोई उम एन / ए (नॉर्मलमेंट एबर्टो)। क्वांडो ओ इम्यू एनओ एस्टा प्रॉक्सिमो डू सेंसर, या सेंसर रिपोर्टारा एस्टाडो एबर्टो। क्वांडो ओ इमू एस्टिवर प्रॉक्सिमो डू सेंसर, या एस्टाडो रिपोर्टैडो सेरा फेचाडो।

चरण 3: एप्लिकेटिवो पैरा कंट्रोल रेमोटो

एप्लिकेटिवो पैरा कंट्रोल रेमोटो
एप्लिकेटिवो पैरा कंट्रोल रेमोटो

ओ एप्लिकेटिवो फोई डेसेनवोल्विडो कॉम ओ आयनिक फ्रेमवर्क, https://ionicframework.com/। सेरा necessário fazer o download e a instalação da ultima versão.

ओ एप्लिकेटिवो इरा से कम्युनिकर (लेर ई एटुअलिज़र ओएस डैडोस) कॉम ए क्लाउड डा एडब्ल्यूएस (एडब्ल्यूएस आईओटी- https://aws.amazon.com/iot/), क्यू पोस्टीरियरमेंट सेरा एसेसडा पेला प्लेका ड्रैगनबोर्ड पैरा एटुअलिज़ाकाओ डॉस स्टेटस डॉस सेंसर्स ई एटुआडोरेस.

- सिस्टेमा डे इलुमिनाकाओ मोस्ट्रा ओ एस्टाडो डो साइटस्मा डे इल्यूमिनाकाओ, लिगाडो या डेस्लिगैडो। क्वांडो ओ निवेल डे ल्यूमिनोसिडेड बैक्सर डो वेलोर कॉन्फिगुराडो, एज़ लुज़ेस से एकेंडरो ऑटोमेटेमेंट। क्वांडो ए इंटेन्सिडेड डी लूज़ औमेंटर एलेम डो वेलोर डेफिनिडो, जैसा कि लुज़ेस से अपगाराओ।

- ओ बोटाओ ए/सी एसीओनारा ओ रिले, क्यू पोर सुआ वेज़ एसीओनारा ओ सिस्टेमा डे ए/सी दा कासा। ताम्बे é possível definir o valor desejado da tempatura। अस्सिम क्यू ए टेम्परेचर दा कासा एस्टिवर माईर डो क्यू ए टेम्परेचुरा डी एसीओनामेंटो, ओ ए / सी सेरा लिगाडो ई परमेनसेरा लिगाडो एटे ए टेम्परेटुरा अबिक्सर एम 2 ग्राउस दा टेम्परेतुरा डेफिनिडा। उदाहरण के लिए, iremos विचार एक तापमान पर 23 graus है। क्वांडो ए टेम्परेचुरा इंटीरियर चेगर ए 24 ग्राउस, ओ ए/सी सेरा लिगाडो ई परमानेसेरा लिगाडो एटे ए टेम्परेचुरा चेगर ए 20 ग्राउस, डेस्लीगांडो एंटो। डिपो या सिक्लो से दोहराव।

- गैराज इनफार्मा ए अटुअल पॉसीकाओ दा गैरेजम, से अबेर्टा या फेचाडा।

- तापमान और उसके बारे में जानकारी और अधिकांश एक तापमान आंतरिक दा कासा करते हैं।

- ल्यूमिनोसिडेड और एपस इंफॉर्मेटिवा ई मोस्ट्रा या वेलोर दा ल्यूमिनोसिडेड अतुल।

एक क्लाउड एडब्ल्यूएस और अन्य ऐप करें।

चरण 4: क्रिआंडो उमा "कोइसा" ना एडब्ल्यूएस IoT

क्रिआंडो उमा
क्रिआंडो उमा

पैरा फेजर या सेटअप डू आईओटी और एडब्ल्यूएस, ओएस सेगुंटेस पासोस डेवरो सेर सेगुइडोस:

१) क्रिअर um प्रॉजेटो नो एडब्ल्यूएस आईओटी एट्रावे डू लिंक:

2) "एक चीज बनाएं" और "एक चीज बनाएं" पर क्लिक करें। डू ओ नोम डू प्रोजेक्टो ई क्लिक एम नेक्स्ट।

3) ना तेल सेगुंते, क्लिक करें "बिना प्रमाण पत्र के एक चीज बनाएं"। नेस्से ट्यूटोरियल नो इरेमोस यूटिलिज़र ओएस सर्टिफ़िकडोस पोर क्वेस्टस प्रैटिकास, पोरेम नो इ रिकॉमेंडैडडो फ़ेज़र ओ यूसो डी आईओटी सेम सर्टिफिकेटडोस।

४) नेस्से मोमेंटो, सुआ "कोइसा" और एस्टारा क्रिआडा। क्लिक नो बोटाओ दा "कोइसा" क्यू फोई क्रिआडो पैरा अब्रीर ए टेल कॉम as opções। समस्या के समाधान के लिए एमक्यूटीटी पर चर्चा करें और समस्या निवारण के लिए समस्या निवारण करें। नो कोडिगो एम पायथन क्यू सेरा एप्रेजेंटैडो एम ब्रेव, फोरम यूटिलिज़ैडोस एल्गन्स डेस्ट टॉपिकोस। यह एक "छाया" के रूप में सामने आया है, इसमें कोई जानकारी नहीं है और ड्रैगनबोर्ड रिफ्लेटिडा और एडब्ल्यूएस क्लाउड है।

चरण 5: प्रोग्राम एम पायथन

जैसा कि एक निष्पादन के लिए आवश्यक है:

आयात spidevimport समय आयात लॉगिंग आयात json आयात argparse

libsoc से आयात gpio

समय से डेटाटाइम आयात तिथि से नींद आयात करें, gpio_96boards से डेटाटाइम AWSIoTPythonSDK से GPIO आयात करें। MQTTLib AWSIoTPythonSDK से AWSIoTMQTT क्लाइंट आयात करें।

सेग्यू अबाइक्सो कोडिगो कंप्लीटो डू प्रोग्रामा:

आयात spidevimport समय आयात लॉगिंग आयात json आयात argparse

libsoc से आयात gpio

समय से डेटाटाइम आयात तिथि से नींद आयात करें, gpio_96boards से डेटाटाइम AWSIoTPythonSDK से GPIO आयात करें। MQTTLib AWSIoTPythonSDK से AWSIoTMQTT क्लाइंट आयात करें।

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, 'आउट'), (बटन, 'इन'), (रिल, 'आउट'), (एलईडी, 'आउट'),)

def setdevices(deltaMessagePython):

System_Status = deltaMessagePython ['SystemStatus'] Rele_Status = deltaMessagePython ['AC'] Led_Status = deltaMessagePython ['SisIlumi']

##### एसी

अगर 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)

डीईएफ़ रीडैड (जीपीओ):

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[1] << 8) और 0b1100000000 एडकाउट = एडकाउट | (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 - ल्यूमिनोसिटी gpio.digital_write(GPIO_CS, GPIO. HIGH) adcoutldr = (r[1] << 8) और 0b1100000000 adcoutldr = adcoultdr | (r[2] और 0xff) adcoutldr = str(adcoutldr) now = datetime.utcnow() now_str = now.strftime('%Y-%m-%dT%H:%M:%SZ') तापमान = "{:.2f}.format(adc_temp) payload_temp = '{"state":{"वांछित": {"Luminosidade": '+adcoutldr+', "Temperatura": '+temperatura+'}}}' myMQTTClient.publish ("$aws/चीजें/DBpyAWS1116/छाया/अपडेट", payload_temp, 0) वापसी r

डीईएफ़ डेसलिगा ():

gpio.digital_write(RELE, GPIO. LOW) gpio.digital_write(LED, GPIO. LOW)

डीईएफ़ रन (जीपीओ):

system_status = 1

जबकि सच:

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 और: system_status = 0 desliga () अगर system_status == 1: value = readadc(gpio) प्रिंट "SYSTEM_STATUS%d" %system_status time.sleep(3)

क्लास शैडोकॉलबैककंटेनर:

def _init_(self, deviceShadowInstance): self.deviceShadowInstance = deviceShadowInstance

# कस्टम छाया कॉलबैक

def customShadowCallback_Delta (स्वयं, पेलोड, प्रतिक्रिया स्थिति, टोकन): प्रिंट ("एक डेल्टा संदेश प्राप्त हुआ:") ### पेलोड अपडेट स्क्रिप्ट पेलोडडिक्ट = json.loads (पेलोड) डेल्टामैसेज = json.dumps (पेलोडडिक्ट ["स्टेट"]) प्रिंट "DELTA MESSAGE %s" %deltaMessage ### रिपोर्ट की गई स्थिति को अपडेट करने का अनुरोध 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

####### बात परिभाषा

# AWS IoT प्रमाणपत्र आधारित कनेक्शन

myMQTTClient = AWSIoTMQTTClient("DBpyAWS1116") myMQTTClient.configureEndpoint("a28rqf8gnpw7g.iot.us-west-2.amazonaws.com", 8883) myMQTTClient.configureCredentials("/home/linaro/shared/AWS/root-CA.crt, "/home/linaro/shared/AWS/"SUA CHAVE"-private.pem.key", "/home/linaro/shared/AWS/"SEU CERTIFICADO"-certificate.pem.crt") myMQTTClient.configureOfflinePublishQueueing(- 1) # अनंत ऑफ़लाइन प्रकाशित कतार myMQTTClient.configureDrainingFrequency(2) # ड्रेनिंग: 2 Hz myMQTTClient.configureConnectDisconnectTimeout(10) # 10 सेकंड myMQTTClient.configureMQTTOperationTimeout(5) # 5 सेकंड #connect और myMQTTClient.connect() myMQTTClient.publish. coisajsb", "कनेक्टेड", 0)

########################

####### छाया परिभाषा

# इनिट AWSioTMQTTShadowClient

myAWSIoTMQTTShadowClient = कोई नहीं 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 सेकंड myAWSIoTMQTTShadowClient.configureMQTTOperationTimeout(5) # 5 सेकंड

# एडब्ल्यूएस IoT से कनेक्ट करें

myAWSIoTMQTTShadowClient.connect ()

# लगातार सब्सक्रिप्शन के साथ एक डिवाइस शैडो बनाएं

deviceShadowHandler = myAWSIoTMQTTShadowClient.createShadowHandlerWithName("DBpyAWS1116", True) शैडोकॉलबैककंटेनर_बॉट = शैडोकॉलबैककंटेनर (डिवाइसशैडोहैंडलर)

# डेल्टास पर सुनें

deviceShadowHandler.shadowRegisterDeltaCallback(shadowCallbackContainer_Bot.customShadowCallback_Delta)

#########################

myMQTTClient.publish("$aws/things/DBpyAWS1116/shadow/update", '{"state":{"वांछित": {"SystemStatus":1, "SisIlumi":0, "AC":0, "Garagem": "फेचाडा", "टेम्पराटुरा": 25, "लुमिनोसिडेड": 123}}}', 0)

अगर _name_ == "_main_":

GPIO (पिन) के साथ gpio के रूप में: रन (gpio)

चरण 6: अंतिम रूप देना

फ़ाइनलिज़ाकाओ
फ़ाइनलिज़ाकाओ

अपोस टेर कॉन्क्लुइडो ऑस पासोस एंटिरियरेस, डेवे-से इनिशियलाइज़र ओ सिस्टेमा एक्ज़ीक्यूटांडो ओ कोडिगो फॉरनेसिडो नो पासो 5 ई इनिशियलाइज़र ओ ऐप एट्रैवेज़ डू आयोनिक, यूसांडो ओ कॉमांडो आयनिक सर्व।

संभावित समस्या निवारण, अनुशंसित एमक्यूटीटी क्लाइंट परीक्षण की सिफारिश करें एडब्ल्यूएस, ऑनडे और संभावित सत्यापन ई as mensagens enviadas pela Dragonboard está sendo atualizada de form correta na AWS Cloud:

सिफारिश की: