विषयसूची:
- चरण 1: अवयव
- चरण 2: कनेक्शन
- चरण 3: कोडिंग
- चरण 4: आउटपुट
- चरण 5: ग्राफ
- चरण 6: यहां ब्रीफ स्पष्टीकरण का एक वीडियो है
वीडियो: थिंग्सई.आईओ आईओटी क्लाउड प्लेटफॉर्म का उपयोग कर मोशन डिटेक्टर: 6 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
इस ट्यूटोरियल में मैं 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: ग्राफ
यह सेंसर से मूल्यों का चित्रमय प्रतिनिधित्व है। उपरोक्त ग्राफ से हम सेंसर के अनुप्रयोग का विश्लेषण कर सकते हैं। धन्यवाद
सिफारिश की:
रास्पबेरीपी के साथ IoT बेस प्लेटफॉर्म, WIZ850io: प्लेटफॉर्म डिवाइस ड्राइवर: 5 कदम (चित्रों के साथ)
रास्पबेरीपी के साथ आईओटी बेस प्लेटफॉर्म, WIZ850io: प्लेटफॉर्म डिवाइस ड्राइवर: मैं आईओटी के लिए रास्पबेरीपी प्लेटफॉर्म जानता हूं। हाल ही में WIZ850io की घोषणा WIZnet द्वारा की गई है। इसलिए मैंने ईथरनेट एसडब्ल्यू संशोधन द्वारा रास्पबेरीपी एप्लिकेशन लागू किया क्योंकि मैं आसानी से एक स्रोत कोड को संभाल सकता हूं। आप रास्पबेरीपी के माध्यम से प्लेटफ़ॉर्म डिवाइस ड्राइवर का परीक्षण कर सकते हैं
NodeMCU का उपयोग कर मोशन डिटेक्टर: 5 कदम
NodeMCU का उपयोग कर मोशन डिटेक्टर: इस परियोजना में, केवल एक मोशन सेंसर का उपयोग करके आप किसी भी मानव या जानवर की उपस्थिति का पता लगा सकते हैं। और थिंग्सियो नामक प्लेटफॉर्म द्वारा आप उस तारीख और समय की निगरानी कर सकते हैं जिस पर उपस्थिति का पता चला था
थिंग्सई क्लाउड का उपयोग करते हुए एलडीआर: १३ कदम
थिंग्सई क्लाउड का उपयोग करते हुए LDR: HEY…..आज हम ESP32 का उपयोग करके प्रकाश की तीव्रता को मापने और THINGSAI IOT क्लाउड प्लेटफ़ॉर्म में मानों को पोस्ट करने के बारे में जानेंगे। इस परियोजना को करने की आवश्यकताएं हैं 1. ESP32 विकास बोर्ड (मैंने ESP32 DEVKIT V1 का उपयोग किया है) 2. LD
NodeMCU और Blynk के साथ सर्वो नियंत्रण - आईओटी प्लेटफॉर्म में: 3 कदम
NodeMCU और Blynk के साथ सर्वो नियंत्रण | IOT प्लेटफ़ॉर्म में: इस ट्यूटोरियल में आप IOT प्लेटफ़ॉर्म में Blynk ऐप का उपयोग करके अपने सर्वो को नियंत्रित कर सकते हैं
NodeMCU का उपयोग करके फायरबेस होम ऑटोमेशन सिस्टम कैसे बनाएं - आईओटी प्लेटफॉर्म में: 14 कदम
NodeMCU का उपयोग करके फायरबेस होम ऑटोमेशन सिस्टम कैसे बनाएं | आईओटी प्लेटफॉर्म में: इस परियोजना का उद्देश्य इस परियोजना का उद्देश्य एक होम ऑटोमेशन सिस्टम विकसित करना है जो उपयोगकर्ता को आईओटी एंड्रॉइड ऐप का उपयोग करके अपने घर के सभी दूरस्थ रूप से नियंत्रित उपकरणों पर पूर्ण नियंत्रण देता है। कई तृतीय पक्ष ऑनलाइन सर्वर और प्लेटफॉर्म हैं