विषयसूची:

थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग कर मोशन डिटेक्टर: 6 कदम
थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग कर मोशन डिटेक्टर: 6 कदम

वीडियो: थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग कर मोशन डिटेक्टर: 6 कदम

वीडियो: थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग कर मोशन डिटेक्टर: 6 कदम
वीडियो: Internet Of Things (IOT) Explained in Hindi 2024, नवंबर
Anonim
थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग करते हुए मोशन डिटेक्टर
थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग करते हुए मोशन डिटेक्टर

इस ट्यूटोरियल में मैं IOT क्लाउड प्लेटफॉर्म Thingai.io के साथ PIR सेंसर और Esp32 का उपयोग करके मोशन डिटेक्शन के बारे में बताने जा रहा हूं।

चरण 1: अवयव

अवयव
अवयव
अवयव
अवयव

हार्डवेयर घटक;

1.esp32 विकास बोर्ड

2.पीआईआर सेंसर

3. जम्पर तार

सॉफ्टवेयर:

1. Arduino IDE

2. थिंग्सई.आईओ अकाउंट

चरण 2: कनेक्शन

सम्बन्ध
सम्बन्ध

कनेक्शन शांत सरल हैं।

पीर पिन ------------- ईएसपी32 पिन

esp32. पर वीसीसी --------------3V3

GND ------------------- GND esp32. पर

OUT-------------------D22 esp32. पर

चरण 3: कोडिंग

इस कोड को कुछ अपडेशन के साथ अपने Arduino IDE में पेस्ट करें, आपका मोशन सेंसर आउटपुट को त्रुटिपूर्ण रूप से देगा।

#शामिल

#शामिल

#शामिल

इंट काउंट = 0, आई, एम, जे, के;

इंट टी, टी1, टी2, टी3;

इंट पिन = 22;

///////////////////////////////////// क्लाउड के लिए सभी घोषणाएं ////// ///////////////////////

कास्ट चार* होस्ट = "एपीआई.थिंग्ससाई.आईओ"; // या होस्ट = devapi2.thethingscloud.com

const char* post_url = "/ डिवाइस/डिवाइसडेटा"; // या /api/v2/thingscloud2/_table/data_ac

const char* time_server = "baas.thethingscloud.com"; // यह टाइमस्टैम्प कन्वर्ट करने के लिए है

कॉन्स्ट इंट httpPort = 80;

कॉन्स्ट इंट httpsPort = ४४३;

const char* सर्वर = "api.thingsai.io"; // सर्वर यूआरएल

चार टाइमस्टैम्प [10];

वाईफाईमल्टी वाईफाईमल्टी;

// टीसीपी कनेक्शन बनाने के लिए वाईफाई क्लाइंट क्लास का उपयोग करें

वाईफाई क्लाइंट क्लाइंट;

//////////////////////////////////// टाइमस्टैम्प गणना समारोह ///////// /////////////////////////////

इंट गिवमीटाइमस्टैम्प ()

{

अहस्ताक्षरित लंबा समयबाह्य = मिली ();

// वाईफाई क्लाइंट क्लाइंट;

जबकि (ग्राहक उपलब्ध () == 0)

{

अगर (मिली () - टाइमआउट> 50000)

{

क्लाइंट.स्टॉप ();

वापसी 0;

}

}

जबकि (क्लाइंट.उपलब्ध ())

{

स्ट्रिंग लाइन = client.readStringUntil('\r'); //indexOf() smthng की खोज करने के लिए एक मज़ेदार है, अगर नहीं मिला तो यह -1 लौटाता है

int pos = line.indexOf ("\" टाइमस्टैम्प / ""); // प्रतिक्रिया की शुरुआत से "\"टाइमस्टैम्प \"" खोजें और उसके बाद सभी डेटा कॉपी करें, यह आपका टाइमस्टैम्प होगा

अगर (स्थिति> = 0)

{

इंट जे = 0;

के लिए (जे = 0; जे <10; जे ++)

{

टाइमस्टैम्प [जे] = लाइन [पॉज़ + 12 + जे];

}

}

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////

व्यर्थ व्यवस्था()

{

सीरियल.बेगिन (115200);

देरी(10);

पिनमोड (पिन, इनपुट);

// हम एक वाईफाई नेटवर्क से जुड़कर शुरू करते हैं

WiFiMulti.addAP ("wifi_name", "Wifi_password");

सीरियल.प्रिंट्लन ();

सीरियल.प्रिंट्लन ();

Serial.print ("वाईफाई की प्रतीक्षा करें …");

जबकि (WiFiMulti.run() != WL_CONNECTED) {

सीरियल.प्रिंट ("।");

देरी (500);

}

सीरियल.प्रिंट्लन ("");

Serial.println ("वाईफाई कनेक्टेड");

Serial.println ("आईपी पता:");

Serial.println (वाईफाई.लोकलआईपी ());

देरी (500);

}

शून्य लूप ()

{

इंट एनालॉगवैल्यू = एनालॉगरेड (आउटपुटपिन);

{

//////////////////////////////////// क्वेरी भेजें और प्रतिक्रिया प्राप्त करें //// ///////////////////

{

बूल का पता लगाया गया = डिजिटल रीड (पिन);

अगर (पता लगाया गया है) {

Serial.println ("उपस्थिति का पता चला");

}

देरी (500);

}

सीरियल.प्रिंट ("से कनेक्ट करना");

सीरियल.प्रिंट्लन (होस्ट); // परिभाषित उल्टा:- होस्ट = devapi2.thethingscloud.com या 139.59.26.117

//////////////////////////////////// टाइमस्टैम्प कोड स्निपेट ////////// ///////////////

Serial.println ("अंदर टाइमस्टैम्प प्राप्त करें / n");

अगर (!client.connect(time_server, {

वापसी; //*-*-*-*-*-*-*-*-*-*

}

client.println ("GET /api/timestamp HTTP/1.1"); // यह हिस्सा क्या कर रहा है, मुझे नहीं मिला

client.println ("होस्ट: baas.thethingscloud.com");

client.println ("कैश-कंट्रोल: नो-कैश");

client.println ("डाकिया-टोकन: ea3c18c6-09ba-d049-ccf3-369a22a284b8");

क्लाइंट.प्रिंट्लन ();

गिवमीटाइमस्टैम्प (); // यह उस फ़ंक्शन को कॉल करेगा जो सर्वर से टाइमस्टैम्प प्रतिक्रिया प्राप्त करेगा

Serial.println ("टाइमस्टैम्प प्राप्त हुआ");

Serial.println (टाइमस्टैम्प);

Serial.println ("थिंग्सक्लाउडपोस्ट के अंदर");

स्ट्रिंग पोस्टवैल्यू = "{"device_id\": 61121695839, \"slave_id\": 2";

पोस्टवैल्यू = पोस्टवैल्यू + ", \"डीटीएस\":" +टाइमस्टैम्प;

पोस्टवैल्यू = पोस्टवैल्यू +", \"डेटा\":{"पीआईआर\":" + पिन +"}"+"}";

Serial.println (पोस्टवैल्यू);

/* WiFiClientSecure का एक उदाहरण बनाएं */

WiFiClientSecure क्लाइंट;

Serial.println ("पोर्ट 443 के माध्यम से सर्वर से कनेक्ट करें");

अगर (! क्लाइंट। कनेक्ट (सर्वर, 443)) {

Serial.println ("कनेक्शन विफल!");

} अन्यथा {

Serial.println ("सर्वर से जुड़ा!");

/* HTTP अनुरोध बनाएं */

client.println ("पोस्ट / डिवाइस / डिवाइसडेटा HTTP / 1.1");

client.println ("होस्ट: api.thingsai.io");

//client.println ("कनेक्शन: बंद करें");

client.println ("सामग्री-प्रकार: एप्लिकेशन/जेसन");

client.println ("कैश-कंट्रोल: नो-कैश");

client.println ("प्राधिकरण: वाहक eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs");

क्लाइंट.प्रिंट ("सामग्री-लंबाई:");

client.println (PostValue.length ());

क्लाइंट.प्रिंट्लन ();

क्लाइंट.प्रिंट्लन (पोस्टवैल्यू);

//////////////////////////////// क्लाउड पर डेटा पोस्टिंग किया जाता है और अब प्रतिक्रिया फॉर्म क्लाउड प्राप्त करें सर्वर//////////////////

Serial.print ("प्रतिक्रिया की प्रतीक्षा कर रहा है");

जबकि (! ग्राहक उपलब्ध ()) {

देरी (50); //

सीरियल.प्रिंट ("।");

}

/* यदि डेटा उपलब्ध है तो प्राप्त करें और टर्मिनल पर प्रिंट करें */

जबकि (ग्राहक उपलब्ध ()) {

चार सी = क्लाइंट.रीड ();

सीरियल.राइट (सी);

}

/* यदि सर्वर डिस्कनेक्ट हो गया है, तो क्लाइंट को रोकें */

अगर (! क्लाइंट। कनेक्टेड ()) {

सीरियल.प्रिंट्लन ();

Serial.println ("सर्वर डिस्कनेक्ट हो गया"); जावास्क्रिप्ट:;

क्लाइंट.स्टॉप ();

}

}

Serial.println ("///////////////////// अंत //////////////////// ");

देरी (3000);

}

}

चरण 4: आउटपुट

आउटपुट
आउटपुट

यह थिंग्सई, आईओ क्लाउड प्लेटफॉर्म में सेंसर से पढ़े गए मूल्यों का बार ग्राफ प्रतिनिधित्व है,

चरण 5: ग्राफ

ग्राफ़
ग्राफ़

यह सेंसर से मूल्यों का चित्रमय प्रतिनिधित्व है। उपरोक्त ग्राफ से हम सेंसर के अनुप्रयोग का विश्लेषण कर सकते हैं। धन्यवाद

सिफारिश की: