विषयसूची:
- चरण 1: Configurando O Ambiente
- चरण 2: वेबसॉकेट
- चरण 3: एस्क्रेवेंडो ओ सर्विडोर
- चरण 4: टेस्टांडो ओ सर्विडोर
- चरण 5: एक आवेदन मोबाइल
वीडियो: पेक्वेनो प्रोजेटो डी उमा कासा इंटेलिजेंट: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
ओ प्रोजेक्ट क्यू फ़ारेमोस ई डे उमा कासा इंटेलिजेंट। पोस्सुई बेसिकामेंटे डूइस ग्रूपोस डे फंकियोनिलिडेड्स:· डी मॉनिटरामेंटो डी इल्यूमिनाकाओ ई टेम्पेरेटुरा डॉस कोमोडोस।
· डि मॉनिटरामेंटे डे लिस्टा डे एलिमेंटोस ई निवेल डे अगुआ फिल्ट्राडा ना गेलेडेरा।
नो एस्क्रेवेरमोस ओएस फ़र्मवेयर डॉस डिस्पोज़िटिवोस IoT da Geladeira nem dos cômodos; porém assumiremos que os dispositivos fazem o seguinte:
- ए जेलडेइरा पॉसुई उम डिस्पोजिटिवो कॉम टचस्क्रीन एम क्यू ई पॉसिबल एंट्री कॉम डैडोस डी एलिमेंटोस: ओ नोम डे उम एलिमेंटो ई सुआ क्वांटिडेड;
- ए गेलडेइरा पोसुई उम सेंसर डे निवेल एम उम पेक्वेनो टैनके डे अगुआ एम्बुटिडो ना जेलादेइरा;
- ओएस कोमोडोस टर्म-मेट्रोस ई सेंसर्स डी इल्यूमिनानिया;
- ओएस कोमोडोस टुम अर कंडिशनैडो क्यू से कॉम्यूनिकैम पेला रेड वाईफाई;
- as lâmpadas dos cômodos podem ter o brilho ajustado por dispositivo que se comunica pela rede wifi;
आवश्यकताएँ:
- कॉन्हेसिमेंटो बेसिको एम पायथन, जावास्क्रिप्ट, यूसो डू सिस्टेमा ऑपरेशियन, कोमांडो बेसिक्स नो शेल
- टेर इंस्टालाडो: नोडज, पायथन
- स्थापित करें (वैकल्पिक): docker, emulador de dispositivo mobile, gerenciador de sdk do Android (डिस्पोंनिवेल नो एंड्रॉइड स्टूडियो)
O desenvolvimento desse projeto foi feito no Linux. विंडोज के लिए आवश्यक है।
चरण 1: Configurando O Ambiente
वेमोस कॉन्फिगरर या एम्बिएंट डे डिसेनवोल्विमेंटो एम 2 भाग: सर्वर और मोबाइल।ओ सर्वर सेरा एस्क्रिटो एम पायथन ई ओ मोबाइल एम जावास्क्रिप्ट या टाइपस्क्रिप्ट, सेंडो यूटिलिजैडो रिएक्ट नेटिव पैरा ओ प्रोजेक्टो।
reactnative.dev/
वामोस इनिशियलमेंटे क्रिअर उमा एस्ट्रुटुरा डे पास्ता। एम डिरेटोरियो एस्कोल्हिडो (क्यू ए पार्टिर डे अगोरा सेरा एस्क्रिटो सेम्पर कॉमो $PROJECT_DIR कॉमो प्लेसहोल्डर - क्री कॉम नो लोकल क्यू अचर माईस एडक्वाडो ई कॉम ओ नोम डे सुआ प्रेफरेंशिया), वामोस क्रिअर उमा पास्ता "सर्विडोर":
$mkdir $PROJECT_DIR && cd $PROJECT_DIR
$ mkdir servidor
कॉन्फिगुरांडो ओ एम्बिएंट डे डेसेनवोल्विमेंटो पैरा ओ सेविडोर
पॉडमोस यूटिलिज़र और एम्बिएंट कॉन्टिनरिज़ाडो कॉम डॉकर या एम्बिएंट वर्चुअल पायथन (वेनव)। Caso deseje utilizar परिवेश conteinerizado, criaremos a imagem segundo o dockerfile:
$ सीडी $PROJECT_DIR
$ टच डॉकरफाइल
वेजा इमेजम dockerfile.
कैसो प्रीफिरा यूटिलिज़र एम्बिएंट वर्चुअल डू पायथन, सिगा इन इंस्ट्रुकेज़ एम
वमोस एंताओ क्रिअर ओ आर्किवो क्यू पर्सिस्टिरा ए लिस्टा डे डिपेंडेन्सियास डो सर्विसिडोर ई कोलोकार एज़ डिपेंडेन्सियास नीसेरियास:
$ स्पर्श आवश्यकताएँ.txt
Veja imagem do आवश्यकताएँ.txt।
कैसो तेन्हा ऑप्टैडो पोर यूटिलिज़र उम एम्बिएंट कॉन्टिनरिज़ाडो, कॉन्स्ट्रुआ ए इमेजम ई एंटर नो कंटेनर:
$ डॉकर बिल्ड। -टी स्मार्थहाउस $ डॉकर रन -it -p 3000: 3000 -v $ (pwd): / ऐप स्मार्थहाउस बैश
इस बारे में पहले से ही जानकारी दी गई है कि डॉकरफाइल और कुछ डॉकर:
कॉन्फिगुरांडो ओ एम्बिएंट डे डेसेनवोल्विमेंटो मोबाइल
उम पासो ए पासो डे कॉमो कॉन्फिगरर ओ एम्बिएंट डे डेसेनवोल्विमेंटो मोबाइल कॉम रिएक्ट नेटिव पॉड सेर विस्टो नो लिंक:
अप्स टेर ओ एम्बिएंट कॉन्फिगुराडो, और पास्ता डो प्रोजेक्टो डेवे सेर पॉसिवेल एक्ज़ीक्यूटर ओ कॉमांडो पैरा क्रिअर ए एप्लीकाकाओ मोबाइल:
$ एनपीएक्स क्रिएट-रिएक्शन-नेटिव-ऐप क्लाइंट
चरण 2: वेबसॉकेट
इंटरेसेंट क्यू ओ लेइटर कॉन्हेका पेलो मेनोस उम पाउको ए रिस्पीटो डे वेबसोकेट एंट्स डे प्रोसेगुइर। कैसो ओ लेटर ननका तेन्हा लिडो, ट्रैबलहाडो या ओविडो फलार नाडा ए रिस्पीटो, अलग अल्गन्स मिनटोस पैरा एंटेन्डर कॉमो फंकियोना या वेबसोकेट एट्रैवेस दा डॉक्यूमेंटाकाओ:
developer.mozilla.org/pt-BR/docs/WebSocket…
उसारेमोस उमा बिब्लियोटेका नो क्लाइंट ई नो सर्विडोर क्यू एबस्ट्राई ओ प्रोटोकॉल डी मानेरा क्यू नाओ प्रिसिजनमोस पेनसर एम डिटेल्हेस डे चामाडा ई डे आर्मजेनामेंटो डी आइडेंटिफाडोरेस ई रोटास। अलग-अलग ताम्बे उम टेम्पो पैरा एस्टुडार के रूप में बिब्लियोटेकस यूटिलिज़ैडोस नो क्लाइंट ई नो सर्विडोर:
ग्राहक:
सर्वर:
चरण 3: एस्क्रेवेंडो ओ सर्विडोर
वामोस क्रिअर उमा एस्ट्रुटुरा इनिशियल डू प्रोजेटो ई एस्क्रेवर ए इंटरफ़ेस क्यू सेरा यूटिलाइज़ाडा कोमो कम्युनिकाकाओ कॉम ओ सर्विसिडोर:
$ एमकेडीआईआर स्रोत
$ स्पर्श app.py src/{नियंत्रक, सॉकेटकनेक्शन}.py
प्राइमिरामेंटे वामोस एस्क्रेवर उम मोडुलो डे इनिकलिज़ाकाओ डो सर्विडोर:
वेजा इमेजम do app.py
Depois vamos escrever o modulo que estabelece as conexões as websocket e as redirecionam para um controlador.
वेजा इमेजम do socketconnection.py
नियंत्रक ई उपयोगकेस
ओ कंट्रोलाडोर रिसेबेरा उम पैकोटे डो मोडुलो रिस्पोंसवेल पोर एस्टाबेलर ई गेरेनसीर एज़ कॉन्क्सो; सेरा उत्तरदायित्व दो नियंत्रणकर्ता सेबर क्वाल फनकाओ डे कासो डी उसो चमार पैरा कैडा एन्वेंटो रिसेबिडो, बेम कोमो ए पार्टिर दा जवाब दो कासो डी उसो एनवियर उम पैकोटे डे प्रतिक्रिया पैरा ए साला रूम डे डिस्पोजिटिवोस कॉन्टेक्टाडोस पैरा एटुअलिजस।
Veja imagem do controler.py।
फ़ाइनलमेंट टेम्पोस ओएस कैसोस डी यूसो क्यू डेवेम गेरेनसीर कोमो डेवे सेर ट्रैटाडो ओएस डैडोस डू इवेंट टू रिसेबिडो ई क्रिअर ओएस नोवोस डैडोस ए पार्टिर डू डैडोस रिसेबिडोस पैरा क्यू ओ कंट्रोलडोर एस्टैडो डू सिस्टेमा। नो कैसो डेसे सिस्टेमा हा सोमेंटे एटुअलिज़ाकाओ डे वेलोरेस (सेजम न्यूमेरिकोस, टेक्स्टो या बूलियनोस - नो कासो डे लिगर/डेसलीगर डिस्पोजिटिवोस डे एम्बिएंटाकाओ)। Então não é de surpreender que os casos de uso tão somente chame funções do modulo responsável pelapersência de dados como se fosse essa a "regra de negócio"।
वेजा इमेजम do usecases.py
नोट: प्रीसीसामोस पर्सिस्टिर ओएस डैडोस डी अल्गुमा फॉर्मा। Fica a escolha do leitor como prefere armazenar os dados e portanto, कार्यान्वयनकर्ता as funções do src/repository.py। कोई प्रोजेटो डिसेनवोल्विडो कोमो उदाहरण उदाहरण के लिए कोई निरंतर डेटाबेस नहीं है। कोई रिपॉजिटरी नहीं है जो पहले से ही सत्यापित है और यह पास्ता सर्वर/डेटाबेस कॉम है, जिसमें सभी प्रकार के सर्वर/डेटाबेस-मॉडल शामिल हैं।
चरण 4: टेस्टांडो ओ सर्विडोर
पोडेमोस क्रिअर उम स्क्रिप्ट पैरा कोनेक्टर एओ सर्विडोर ई एनवीयर इवेंटोस कन्फर्म ए एस्ट्रुटुरा एस्पेरडा पेलोस कंट्रोलाडोरेस पैरा फिन्स डे टेस्टेस मैनुएइस। वामोस क्रिअर निबंध स्क्रिप्ट ई रोडा-लो कॉम ओ सर्विडोर *।
Veja imagem do serverclient.py
कॉम या आर्किवो क्रिआडो, वेरीफिक से ओ कंटेनर एस्टा रोडांडो, ई डेंट्रो डेले एक्जीक्यूट:
$ अजगर app.py
Fora do कंटेनर, कोई diretório $PROJECT_DIR/server निष्पादित नहीं:
$ python3 serverclient.py
कोई संकेत नहीं ">" डिजिट ओएस इवेंटोस एनकंट्राडोस नो कंट्रोलडोर सेगुइडो डे ";" e então valores de identificação e/ou novos valores. उदाहरण के लिए:
UPDATE_FRIDGE_WATER_LEVEL;80
UPDATE_ROOM_TEMPERATURE;1, 22.0
UPDATE_ROOM_TEMPERATURE_SETPOINT;1, 17.5
UPDATE_ROOM_LUMINOSITY;100
UPDATE_ROOM_LUMINOSITY_SETPOINT;0
TOGGLE_ROOM_TEMPERATURE;1
TOGGLE_ROOM_LIGHT;1
ई पैरा कैडा इवेंटो एनविआडो वेरिफिक से फोई पर्सिस्टिडो नो बैंको डे डैडोस एस्कोल्हिडो।
नोट: सत्यापित क्यू ए पोर्टा क्यू एस्टा सेंडो सर्विडो ए एप्लिकाकाओ, ए पोर्टा एक्सपोस्टा नो डॉकर रन ई ए पोर्टा डू स्क्रिप्ट डे टेस्ट डेम सेर ए मेस्मा।
चरण 5: एक आवेदन मोबाइल
नाओ सेरा डेमोंस्ट्राडो कॉम म्यूटोस डिटेल्स कैडा पार्ट दो डिसेनवोल्विमेंटो डू क्लाइंट मोबाइल। नाओ सेरा एक्सप्लिसैडो एक्वी कैडा इम्पोर्टाकाओ नो मोडुलो प्रिंसिपल क्रिआडो पेलो रिएक्ट नेटिव नेम पॉसिविस डिटेल्हेस डी कॉन्फिगुराकाओ। पैरा कॉमेकार, नेवेग एट $PROJECT_DIR/client e adicione a आश्रित que precisaremos para o projeto:
$ npm और सॉकेट.io
एम सेगुइडा वेमोस एस्क्रेवर ओएस कंपोनेंट्स ग्रैफिकोस ई के रूप में फंक्शंस क्यू इराओ से कम्युनिकर कॉम ओ सर्विसिडोर।
एस्क्रेवेंडो ए तेला
Em App.js, vamos escrever ओएस कंपोनेंट्स डे GUI।
ध्यान दें कि एक मजेदार चमादा पेलो उपयोग प्रभाव अब और नहीं फोई एस्क्रिटा! ताम्बे नो फोरम एस्क्रिटोस ओएस रेड्यूसर सेटडेटा रेड्यूसर, सेटफूड रेड्यूसर, सेटटेम्परेचर रेड्यूसर, सेटलाइट रेड्यूसर और निम एस्क्रिटोस ओब्जेटोस कॉम एस्क्रिटोस इनआईसीआईआईएसआईएसआईएसआईएसआईएसआईआईएसआईटीआईएएल_एसटीएटी, INITIAL_FOOD_MODAL, INITIAL_MODAL, INITIAL_MODAL, INITIAL_MODAL, INITIAL_MODAL
टैम्बे ऐंडा नो फोरम एस्क्रिटास एज़ फनकॉस यूटिलाइज़्डस पेलोस एलिमेंटोस डी इंटीफेस ग्रैफ़िका पैरा फ़ैज़र चामदास पैरा एस्क्रिटा नो सर्विडोर: सेव न्यू फ़ूड वैल्यू, सेव न्यू टेम्परेचर, सेव न्यू ल्यूमिनोसिटी, टॉगल टेम्परेचर फ़ॉर रूम, टॉगललाइट फ़ॉर रूम
पोर्टेंटो, से पहले टेस्टर ओएस एलिमेंटोस कॉम डैडोस फाल्सोस, एस्क्रेवा कैडा ओब्जेटो ई फंको डिटो एसिमा।
वेजा इमेजम do App.js com código da parte GUI
पोर fim vamos escrever as funções necessárias para fazer a comunicação com o servidor e para utlização do mesmo pelos components de GUI.
वेजा इमेजम do App.js com कोडिगो डा पार्ट लॉजिक/ऑपरेशनल
सिफारिश की:
प्रोजेटो आईओटी - सिस्टेमा डिटेक्टर डी फ्यूमाका: 5 कदम
प्रोजेटो आईओटी - सिस्टम डिटेक्टर डी फ्यूमाका: परिचय सिस्टम डिटेक्टर डी फ्यूमाका कंसिस्टे एम उमा सोलुकाओ आईओटी कॉम ओ ओब्जेटिवो डे परमिटर ओ मॉनिटरामेंटो डी अलार्म्स डी इनकिंडियो डे रेजिडेंसियास एट्रैवेस डी उम एप्लीटिवो एंड्रॉइड। ओ प्रोजेक्टो ई बेसाडो एम उम माइक्रोकंट्रोलर क्यू से कम्यूनिका कॉम ए न्यू
प्रोजेटो कोको: उम कोलेट डी कॉम्यूनिकाकाओ वैकल्पिक: 8 कदम
Projeto CoCoa: Um Colete De Comunicação Alternativa: CoCoA प्रोजेक्ट एक पहनने योग्य बनियान है जो इंटरनेट से जुड़ा है जो भाषण या गैर-मौखिक विकलांग लोगों की सहायता के लिए वैकल्पिक संचार के स्पर्श प्रतीकों के युग्मन की अनुमति देता है। O Colete de Comunicação Alternativa (CoCoA) consi
कॉन्स्ट्रुइंडो उमा कैम्पैन्हा कॉम उम अटुडोर इलेट्रोमैग्नेटिको.: 4 कदम
कॉन्स्ट्रुइंडो उमा कैम्पैन्हा कॉम उम एट्यूडोर इलेट्रोमैग्नेटिको.: उम एटुआडोर इलेट्रोमैग्नेटिको कंसिस्टे एम सिस्टेमा ऑन डे ए कॉरेंटे एलेट्रिका य इंडुज़िडा पोर उमा बोबिना अल्गम टिपो डे मेटल, फ़ेज़ेंडो ओ ओब्जेटो सेर एलेट्रीज़ाडो। ए कैम्पैन्हा फंकियोना कॉम एसे सिस्टम, ओ सोम ई फीटो ए पार्टि डू इम्पैक्टो डे उम प्रीगो इलेट्रीज़ा
प्रोजेटो लुमोस: 8 कदम
प्रोजेटो लुमोस: ओ प्रोजेटो लुमोस कंस्ट्रक्शन ना कॉन्स्ट्रुकाओ डे उमा ल्यूमिनारिया कंट्रोलाडा ए पार्टि डे उम स्मार्टफोन कनेक्टेडो मेस्मा रेडे मोवेल या वाई-फाई। पैरा कंट्रोलर ए ल्यूमिनारिया फोई डिसेनवोल्विडो um एप्लिकैटिवो एंड्रॉइड, क्यू परमिट अपगर और एसेंडर ए लूज यूटिलिजैंडो एलेम
कासा इंटेलिजेंट कॉम अरुडिनो: 6 कदम
कासा इंटेलिजेंट कॉम अरुडिनो: एसे प्रोजेटो और उमा जूनको डे वेरिओस पेक्वेनोस प्रोजेटोस क्यू पोडेम सेर फीटोस कॉम अरुडिनो। um ótimo projeto para quem está Começando no mundo do Arduino.Você va aprender a fazer um sistema com medição de tempatura e umidade, अलार्म, acendimento de