विषयसूची:

थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर: १३ कदम
थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर: १३ कदम

वीडियो: थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर: १३ कदम

वीडियो: थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर: १३ कदम
वीडियो: 😱Chewing gum बन सकती है मौत का कारण - कैसे? - By Kishor Singh #shorts 2024, जुलाई
Anonim
थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर
थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर

अरे…..आज हम ESP32 का उपयोग करके प्रकाश की तीव्रता को मापने और THINGSAI IOT क्लाउड प्लेटफ़ॉर्म में मानों को पोस्ट करने के बारे में जानेंगे।

इस परियोजना को करने की आवश्यकताएं हैं

1. ESP32 विकास बोर्ड (मैंने ESP32 DEVKIT V1 का उपयोग किया है)

2. एलडीआर सेंसर

3. जम्पर तार

4. थिंगसाई IOT प्लेटफॉर्म में खाता

चरण 1: THINGSIO प्लेटफ़ॉर्म बनाना और उसमें लॉग इन करना

THINGSIO प्लेटफॉर्म बनाना और उसमें लॉग इन करना
THINGSIO प्लेटफॉर्म बनाना और उसमें लॉग इन करना

थिंग्स एआई अकाउंट में लॉग इन करें। यदि आप नए हैं तो रजिस्टर बटन दबाकर खाते में पंजीकरण करें और सभी क्रेडेंशियल भरें। आपका अकाउंट बन जाएगा और तब से आप क्लाउड प्लेटफॉर्म पर काम कर सकेंगे और अपना कस्टम प्रोजेक्ट बना सकेंगे

चरण 2: नई परियोजना बनाना

नई परियोजना बनाना
नई परियोजना बनाना

अकाउंट में लॉग इन करने के बाद, प्रोजेक्ट बनाने के लिए बस नए प्रोजेक्ट पर क्लिक करें और फिर प्रोजेक्ट का नाम दें।

चरण 3: एक नया उपकरण बनाना

एक नया उपकरण बनाना
एक नया उपकरण बनाना

प्रोजेक्ट बनाने के बाद अगली चीज़ जो आपको करनी है वह है एक नया डिवाइस बनाना। डिवाइस का नाम दें और डिवाइस आईडी या तो मैन्युअल रूप से दर्ज करें या सिस्टम जेनरेट करें।

चरण 4: डिवाइस पैरामीटर को परिभाषित करना

डिवाइस पैरामीटर को परिभाषित करना
डिवाइस पैरामीटर को परिभाषित करना

डिवाइस पैरामीटर दें और फिर पैरामीटर के प्रकार का चयन करें

चरण 5: डिवाइस को अपडेट करना

डिवाइस को अपडेट करना
डिवाइस को अपडेट करना

पैरामीटर का चयन करें और फिर डिवाइस को अपडेट करें

चरण 6: कोडिंग

कोडन
कोडन

नमूना कोड से esp32 के कोड का चयन करें और इसे arduino IDE में पेस्ट करें और आवश्यकता के अनुसार आवश्यक परिवर्तन करें। मैंने नीचे कोड दिया है

#शामिल करें #शामिल करें

#शामिल

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

इंट टी; इंट आउटपुटपिन = A0;//ds18b20

इंट सेंसरवैल्यू;

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

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

होस्ट = 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];

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

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

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

//////////////////////////////////// टाइमस्टैम्प गणना समारोह ///////// //////////////////////////// int GiveMeTimestamp () { अहस्ताक्षरित लंबा टाइमआउट = मिली (); // वाईफाई क्लाइंट क्लाइंट;

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

{

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

{

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

}

}

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

{

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

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

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

{

इंट जे = 0;

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

{

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

}

}

}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////

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

{

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

देरी(10);

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

WiFiMulti.addAP ("वाईफाई", "pswrd");

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

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

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

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

{

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

देरी (500);

}

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

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

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

देरी (500);

}

शून्य लूप ()

{

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

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

सेंसरवैल्यू = एनालॉगरेड (ए 0); // एनालॉग इनपुट पिन पढ़ें 0

सेंसरवैल्यू = सेंसरवैल्यू/100;

सीरियल.प्रिंट (सेंसरवैल्यू, डीईसी); // पढ़े गए मान को प्रिंट करता है

सीरियल.प्रिंट ("\ n"); // संख्याओं के बीच एक स्थान प्रिंट करता है

देरी (1000); // अगले पढ़ने के लिए 100ms प्रतीक्षा करें

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

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

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

अगर (!client.connect(time_server, { वापसी; //*-*-*-*-*-*-*-*-*-* }

client.println ("GET /api/timestamp HTTP/1.1"); // यह हिस्सा क्या कर रहा है, मुझे क्लाइंट नहीं मिला। प्रिंट्लन ("होस्ट: baas.thethingscloud.com");

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

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

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

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

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

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

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

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

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

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 ("कनेक्शन: बंद करें"); NS

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

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

client.println ("प्राधिकरण: BearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9. IjVhMzBkZDFkN2QwYjNhNGQzODkwYzQ4OSI.kaY6OMj5cYlWNqC2PNTkXs9"); क्लाइंट.प्रिंट ("सामग्री-लंबाई:");

client.println (PostValue.length ());

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

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

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

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

देरी (50); //

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

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

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

{

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

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

}

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

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

{

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

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

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

}

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

देरी (3000); } }

चरण 7: बोर्ड और कॉम पोर्ट का चयन

बोर्ड और कॉम पोर्ट का चयन
बोर्ड और कॉम पोर्ट का चयन

टूल से बोर्ड चुनें और फिर कॉम पोर्ट चुनें

चरण 8: सर्किट कनेक्शन

सर्किट कनेक्शन
सर्किट कनेक्शन
सर्किट कनेक्शन
सर्किट कनेक्शन
सर्किट कनेक्शन
सर्किट कनेक्शन

कोडिंग की जाती है फिर नीचे बताए अनुसार निम्नलिखित कनेक्शन बनाएं

सम्बन्ध:

esp32 का GND से LDR सेंसर का GND

3V3 0f esp32 LDR के Vcc के लिए

esp32 का VP LDR के A0 तक

चरण 9: संकलित करें और अपलोड करें

संकलित करें और अपलोड करें
संकलित करें और अपलोड करें

कोड को esp32 में संकलित करें और अपलोड करें और फिर सीरियल मॉनिटर से रीडिंग पढ़ें। यह परिणाम कुछ इस तरह दिखाएगा

चरण 10: सीरियल मॉनिटर

सीरियल मॉनिटर
सीरियल मॉनिटर

मान सीरियल मॉनिटर पर प्राप्त किए जाते हैं और फिर उन्हें THINGSAI IOT क्लाउड प्लेटफॉर्म में भेजा जाता है।

चरण 11: रीडिंग

रीडिंग
रीडिंग

यह esp32 बोर्ड से प्राप्त मूल्यों को दर्शाता है।

चरण 12: चित्रमय प्रतिनिधित्व

सचित्र प्रदर्शन
सचित्र प्रदर्शन

यह प्राप्त मूल्यों का चित्रमय प्रतिनिधित्व है। यह ट्यूटोरियल का अंत है। आशा है आप समझ गए होंगे। धन्यवाद

सिफारिश की: