विषयसूची:
- चरण 1: उपकरण हमें चाहिए..
- चरण 2: हार्डवेयर कनेक्शन
- चरण 3: कोड
- चरण 4: कोड का कार्य
- चरण 5: अनुप्रयोग और सुविधाएँ
- चरण 6: आगे जाने के लिए संसाधन
वीडियो: वेब सर्वर के माध्यम से मानचित्र अभिविन्यास: 6 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:20
इंटरनेट ऑफ थिंग्स, (IoT) इस समय ग्रह पर लोकप्रिय विषयों में से एक है। और, यह इंटरनेट के साथ दिन-प्रतिदिन तेजी से बढ़ रहा है। इंटरनेट ऑफ थिंग्स साधारण घरों को स्मार्ट घरों में बदल रहा है, जहां आपकी रोशनी से लेकर आपके ताले तक सब कुछ आपके स्मार्टफोन या डेस्कटॉप से नियंत्रित किया जा सकता है। यह वह विलासिता है जिसे हर कोई अपनाना चाहता है।
हम हमेशा अपने पास मौजूद टूल्स के साथ खेलते हैं और अपनी सीमा के अगले चरण पर जाने के लिए काम करते रहते हैं। हम अपने ग्राहकों को नवीनतम तकनीकों और विचारों का एक विजन देने का प्रयास करते हैं। ताकि आप अपने घर को स्मार्ट घरों में बदल सकें और बिना ज्यादा मेहनत किए विलासिता के स्वाद का आनंद उठा सकें।
आज, हम IoT - डिजिटल मैप ओरिएंटेशन में सबसे महत्वपूर्ण विषय में से एक पर काम करने के बारे में सोचते हैं।
हम एक वेब सर्वर का निर्माण करेंगे जिसके माध्यम से हम किसी भी उपकरण या चीज़ की गतिविधियों की निगरानी कर सकते हैं (यह आप पर निर्भर है कि आप किसकी जासूसी करना चाहते हैं;))। आप हमेशा कुछ संशोधनों के साथ इस परियोजना को अगले स्तर पर अपग्रेड करने के बारे में सोच सकते हैं और हमें नीचे टिप्पणी में बताना न भूलें।
से शुरू करते हैं..!!
चरण 1: उपकरण हमें चाहिए..
1. LSM9DS0 सेंसर
STMicroelectronics द्वारा निर्मित 3-इन-1 सेंसर, LSM9DS0 एक सिस्टम-इन-पैकेज है जिसमें एक 3D डिजिटल रैखिक त्वरण सेंसर, एक 3D डिजिटल कोणीय दर सेंसर और एक 3D डिजिटल चुंबकीय सेंसर है। LSM9DS0 में ± 2g/±4g/±6g/±8g/±16g का एक रेखीय त्वरण पूर्ण पैमाने, ±2/±4/±8/±12 गॉस के पूर्ण पैमाने पर एक चुंबकीय क्षेत्र और ±245 की कोणीय दर है /±500/±2000 डीपीएस।
2. एडफ्रूट हुज़ाह ईएसपी8266
एस्प्रेसिफ का ESP8266 प्रोसेसर एक 80 मेगाहर्ट्ज माइक्रोकंट्रोलर है जिसमें एक पूर्ण वाईफाई फ्रंट-एंड (क्लाइंट और एक्सेस प्वाइंट दोनों के रूप में) और DNS समर्थन के साथ टीसीपी / आईपी स्टैक भी है। ESP8266 IoT अनुप्रयोग विकास के लिए एक अविश्वसनीय मंच है। ESP8266 Arduino Wire Language और Arduino IDE का उपयोग करके अनुप्रयोगों की निगरानी और नियंत्रण के लिए एक परिपक्व मंच प्रदान करता है।
3. ईएसपी8266 यूएसबी प्रोग्रामर
उसका ESP8266 होस्ट एडेप्टर विशेष रूप से Dcube Store द्वारा ESP8266 के Adafruit Huzzah संस्करण के लिए डिज़ाइन किया गया था, जिससे I²C इंटरफ़ेस की अनुमति मिलती है।
4. I2C कनेक्टिंग केबल
5. मिनी यूएसबी केबल
Adafruit Huzzah ESP8266 को पावर देने के लिए मिनी USB केबल बिजली की आपूर्ति एक आदर्श विकल्प है।
चरण 2: हार्डवेयर कनेक्शन
सामान्य तौर पर, इस परियोजना में कनेक्शन बनाना सबसे आसान हिस्सा है। निर्देशों और छवियों का पालन करें, और आपको कोई समस्या नहीं होनी चाहिए।
सबसे पहले Adafruit Huzzah ESP8266 लें और उस पर USB प्रोग्रामर (इनवर्ड फेसिंग I²C पोर्ट के साथ) लगाएं। यूएसबी प्रोग्रामर को धीरे से दबाएं और हम इस चरण के साथ पाई के रूप में आसान हैं (ऊपर चित्र देखें)।
सेंसर और एडफ्रूट हुज़ाह ESP8266 का कनेक्शन सेंसर लें और इसके साथ I²C केबल कनेक्ट करें। इस केबल के उचित संचालन के लिए, कृपया याद रखें कि I²C आउटपुट हमेशा I²C इनपुट से जुड़ता है। Adafruit Huzzah ESP8266 के लिए उसी का पालन किया जाना था, जिसके ऊपर USB प्रोग्रामर लगा हुआ था (ऊपर चित्र देखें)।
ESP8266 USB प्रोग्रामर की मदद से ESP को प्रोग्राम करना बहुत आसान है। आपको बस सेंसर को यूएसबी प्रोग्रामर में प्लग करना है और आप जाने के लिए अच्छे हैं। हम इस एडेप्टर का उपयोग करना पसंद करते हैं क्योंकि यह हार्डवेयर को कनेक्ट करना बहुत आसान बनाता है। ईएसपी के पिन को सेंसर में टांका लगाने या पिन डायग्राम और डेटाशीट को पढ़ने के बारे में कोई चिंता नहीं है। हम एक साथ कई सेंसर का उपयोग और काम कर सकते हैं, आपको बस एक चेन बनाने की जरूरत है। इन प्लग एंड प्ले यूएसबी प्रोग्रामर के बिना गलत कनेक्शन बनाने का बहुत जोखिम है। एक खराब वायरिंग आपके वाईफाई के साथ-साथ आपके सेंसर को भी मार सकती है।
नोट: भूरे रंग के तार को हमेशा एक डिवाइस के आउटपुट और दूसरे डिवाइस के इनपुट के बीच ग्राउंड (जीएनडी) कनेक्शन का पालन करना चाहिए।
सर्किट की शक्ति
मिनी USB केबल को Adafruit Huzzah ESP8266 के पावर जैक में प्लग करें। इसे हल्का करो और वोइला, हम जाने के लिए अच्छे हैं!
चरण 3: कोड
Adafruit Huzzah ESP8266 और LSM9DS0 सेंसर के लिए ESP कोड हमारे जीथब रिपॉजिटरी पर उपलब्ध है।
कोड पर जाने से पहले, सुनिश्चित करें कि आपने रीडमी फ़ाइल में दिए गए निर्देशों को पढ़ लिया है और उसके अनुसार अपना Adafruit Huzzah ESP8266 सेटअप करें। ESP को सेट करने में सिर्फ 5 मिनट का समय लगेगा।
कोड लंबा है लेकिन यह सबसे सरल रूप में है जिसकी आप कल्पना कर सकते हैं और आपको इसे समझने में कोई कठिनाई नहीं होगी।
आपकी सुविधा के लिए, आप इस सेंसर के लिए काम कर रहे ESP कोड को यहाँ से भी कॉपी कर सकते हैं:
// एक फ्री-विल लाइसेंस के साथ वितरित।// इसे किसी भी तरह से उपयोग करें, लाभ या मुफ्त, बशर्ते यह इसके संबंधित कार्यों के लाइसेंस में फिट बैठता है। // LSM9DSO // यह कोड dcubestore.com से उपलब्ध TCS3414_I2CS I2C मिनी मॉड्यूल के साथ काम करने के लिए डिज़ाइन किया गया है।
#शामिल
#शामिल
#शामिल
#शामिल
// LSM9DSO Gyro I2C पता 6A (106) है
#define Addr_Gyro 0x6A // LSM9DSO Accl I2C पता 1E (30) है # Addr_Accl 0x1E को परिभाषित करें
कास्ट चार * एसएसआईडी = "आपका एसएसआईडी";
कॉन्स्ट चार * पासवर्ड = "आपका पासवर्ड"; int xGyro, yGyro, zGyro, xAccl, yAccl, zAccl, xMag, yMag, zMag;
ESP8266वेबसर्वर सर्वर (80);
शून्य हैंडलरूट ()
{ अहस्ताक्षरित इंट डेटा [6];
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Gyro); // नियंत्रण रजिस्टर का चयन करें 1 वायर.राइट (0x20); // डेटा दर = 95 हर्ट्ज, एक्स, वाई, जेड-एक्सिस सक्षम, वायर पर पावर। लिखें (0x0F); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Gyro); // नियंत्रण रजिस्टर का चयन करें 4 वायर.राइट (0x23); // पूर्ण पैमाने पर 2000 डीपीएस, निरंतर अद्यतन वायर.राइट (0x30); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Accl); // नियंत्रण रजिस्टर का चयन करें 1 वायर.राइट (0x20); // त्वरण डेटा दर = १०० हर्ट्ज, एक्स, वाई, जेड-एक्सिस सक्षम, वायर पर बिजली। लिखें (0x67); // डिवाइस पर I2C ट्रांसमिशन को रोकें Wire.endTransmission ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Accl); // कंट्रोल रजिस्टर 2 वायर का चयन करें। लिखें (0x21); // पूर्ण पैमाने पर चयन +/- 16g Wire.write(0x20); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Accl); // नियंत्रण रजिस्टर का चयन करें 5 वायर.राइट (0x24); // चुंबकीय उच्च रिज़ॉल्यूशन, आउटपुट डेटा दर = 50 हर्ट्ज वायर। राइट (0x70); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Accl); // नियंत्रण रजिस्टर का चयन करें 6 वायर.राइट (0x25); // चुंबकीय पूर्ण-पैमाने +/- 12 गॉस वायर। राइट (0x60); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// I2C ट्रांसमिशन शुरू करें
Wire.beginTransmission (Addr_Accl); // नियंत्रण रजिस्टर का चयन करें 7 वायर.राइट (0x26); // सामान्य मोड, चुंबकीय निरंतर रूपांतरण मोड वायर.राइट (0x00); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन (); देरी (300);
के लिए (int i = 0; i <6; i++) {// I2C ट्रांसमिशन वायर प्रारंभ करें।beginTransmission(Addr_Gyro); // डेटा रजिस्टर चुनें Wire.write((40 + i)); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr_Gyro, 1);
// डेटा के 6 बाइट्स पढ़ें
// xGyro lsb, xGyro msb, yGyro lsb, yGyro msb, zGyro lsb, zGyro msb if (वायर.उपलब्ध () == 1) {डेटा = Wire.read (); } }
// डेटा कनवर्ट करें
int xGyro = ((डेटा[1] * 256) + डेटा [0]); int yGyro = ((डेटा [3] * 256) + डेटा [2]); int zGyro = ((डेटा [5] * 256) + डेटा [4]);
के लिए (int i = 0; i <6; i++) {// I2C ट्रांसमिशन वायर प्रारंभ करें।beginTransmission(Addr_Accl); // डेटा रजिस्टर चुनें Wire.write((40 + i)); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr_Accl, 1);
// डेटा के 6 बाइट्स पढ़ें
// xAccl lsb, xAccl msb, yAccl lsb, yAccl msb // zAccl lsb, zAccl msb if (वायर.उपलब्ध () == 1) {डेटा = Wire.read (); } }
// डेटा कनवर्ट करें
int xAccl = ((डेटा [1] * 256) + डेटा [0]); int yAccl = ((डेटा [3] * 256) + डेटा [2]); int zAccl = ((डेटा [5] * 256) + डेटा [4]);
के लिए (int i = 0; i <6; i++) {// I2C ट्रांसमिशन वायर प्रारंभ करें।beginTransmission(Addr_Accl); // डेटा रजिस्टर चुनें Wire.write((8 + i)); // I2C ट्रांसमिशन वायर को रोकें। एंडट्रांसमिशन ();
// डेटा के 1 बाइट का अनुरोध करें
Wire.requestFrom (Addr_Accl, 1);
// डेटा के 6 बाइट्स पढ़ें
// xMag lsb, xMag msb, yMag lsb, yMag msb // zMag lsb, zMag msb अगर (वायर.उपलब्ध () == 1) {डेटा = Wire.read (); } }
// डेटा कनवर्ट करें
int xMag = ((डेटा [1] * 256) + डेटा [0]); int yMag = ((डेटा [3] * 256) + डेटा [2]); int zMag = ((डेटा [5] * 256) + डेटा [4]);
// सीरियल मॉनिटर को आउटपुट डेटा
Serial.print ("रोटेशन का एक्स-एक्सिस:"); Serial.println (xGyro); सीरियल.प्रिंट ("रोटेशन का वाई-एक्सिस:"); Serial.println (yGyro); सीरियल.प्रिंट ("रोटेशन का जेड-एक्सिस:"); Serial.println (zGyro); Serial.print ("एक्स-एक्सिस में त्वरण:"); सीरियल.प्रिंट्लन (xAccl); Serial.print ("Y-अक्ष में त्वरण:"); Serial.println (yAccl); Serial.print ("जेड-एक्सिस में त्वरण:"); सीरियल.प्रिंट्लन (zAccl); Serial.print ("एक्स-एक्सिस में चुंबकीय क्षेत्र:"); सीरियल.प्रिंट्लन (एक्समैग); Serial.print ("Y-अक्ष में चुंबकीय क्षेत्र:"); Serial.println (yMag); सीरियल.प्रिंट ("जेड-एक्सिस में चुंबकीय दायर:"); Serial.println (zMag);
// वेब सर्वर पर आउटपुट डेटा
server.sendContent ("
डीसीयूबी स्टोर
www.dcubestore.com
"" LSM9DS0 सेंसर I2C मिनी मॉड्यूल
);
server.sendContent ("
रोटेशन की एक्स-एक्सिस = "+ स्ट्रिंग (xGyro)); server.sendContent ("
रोटेशन की Y-अक्ष = "+ स्ट्रिंग (yGyro)); server.sendContent ("
रोटेशन की Z-अक्ष = "+ स्ट्रिंग (zGyro)); server.sendContent ("
एक्स-एक्सिस में त्वरण = "+ स्ट्रिंग (xAccl)); server.sendContent ("
Y-अक्ष में त्वरण = "+ String(yAccl)); server.sendContent ("
Z-अक्ष में त्वरण = "+ String(zAccl)); server.sendContent ("
X-Axis में चुंबकीय दायर = "+ String(xMag)); server.sendContent ("
Y-Axis में चुंबकीय दायर = "+ String(yMag)); server.sendContent ("
Z-अक्ष में चुंबकीय दायर = "+ स्ट्रिंग (zMag)); देरी (1000); }
व्यर्थ व्यवस्था()
{// I2C संचार को मास्टर वायर के रूप में प्रारंभ करें। शुरू करें (2, 14); // सीरियल कम्युनिकेशन शुरू करें, बॉड रेट सेट करें = ११५२०० सीरियल.बेगिन (११५२००);
// वाईफाई नेटवर्क से कनेक्ट करें
वाईफाई.बेगिन (एसएसआईडी, पासवर्ड);
// कनेक्शन के लिए प्रतीक्षा करें
जबकि (WiFi.status() != WL_CONNECTED) {देरी (500); सीरियल.प्रिंट ("।"); } सीरियल.प्रिंट्लन (""); सीरियल.प्रिंट ("कनेक्टेड"); सीरियल.प्रिंट्लन (एसएसआईडी);
// ESP8266 का आईपी पता प्राप्त करें
सीरियल.प्रिंट ("आईपी पता:"); Serial.println (वाईफाई.लोकलआईपी ());
// सर्वर शुरू करें
सर्वर.ऑन ("/", हैंडलरूट); सर्वर। शुरू (); Serial.println ("HTTP सर्वर शुरू हुआ"); }
शून्य लूप ()
{ सर्वर.हैंडल क्लाइंट (); }
चरण 4: कोड का कार्य
अब, कोड डाउनलोड (या git pull) करें और इसे Arduino IDE में खोलें।
कोड संकलित करें और अपलोड करें और सीरियल मॉनिटर पर आउटपुट देखें।
नोट: अपलोड करने से पहले, सुनिश्चित करें कि आपने कोड में अपना SSID नेटवर्क और पासवर्ड दर्ज किया है।
सीरियल मॉनिटर से ESP8266 का IP पता कॉपी करें और इसे अपने वेब ब्राउज़र में पेस्ट करें। आप 3-अक्ष में रोटेशन, त्वरण और चुंबकीय क्षेत्र पढ़ने के अक्ष के साथ एक वेब पेज देखेंगे।
सीरियल मॉनिटर और वेब सर्वर पर सेंसर का आउटपुट ऊपर की तस्वीर में दिखाया गया है।
चरण 5: अनुप्रयोग और सुविधाएँ
LSM9DS0 एक सिस्टम-इन-पैकेज है जिसमें एक 3D डिजिटल रैखिक त्वरण सेंसर, एक 3D डिजिटल कोणीय दर सेंसर और एक 3D डिजिटल चुंबकीय सेंसर है। इन तीन गुणों को मापकर, आप किसी वस्तु की गति के बारे में बहुत अधिक ज्ञान प्राप्त कर सकते हैं। मैग्नेटोमीटर से पृथ्वी के चुंबकीय क्षेत्र के बल और दिशा को मापकर, आप अपने शीर्षक का अनुमान लगा सकते हैं। आपके फ़ोन में एक एक्सेलेरोमीटर गुरुत्वाकर्षण बल की दिशा को माप सकता है, और अभिविन्यास (पोर्ट्रेट, लैंडस्केप, फ्लैट, आदि) का अनुमान लगा सकता है। बिल्ट-इन गायरोस्कोप वाले क्वाडकॉप्टर अचानक रोल या पिच के लिए देख सकते हैं। इसका उपयोग हम ग्लोबल पोजिशनिंग सिस्टम (जीपीएस) में कर सकते हैं।
कुछ और एप्लिकेशन में इंडोर नेविगेशन, स्मार्ट यूजर इंटरफेस, एडवांस्ड जेस्चर रिकग्निशन, गेमिंग और वर्चुअल रियलिटी इनपुट डिवाइस आदि शामिल हैं।
ESP8266 की मदद से हम इसकी क्षमता को और अधिक लंबाई तक बढ़ा सकते हैं। हम अपने उपकरणों को नियंत्रित कर सकते हैं और अपने डेस्कटॉप और मोबाइल उपकरणों के प्रदर्शन की निगरानी कर सकते हैं। हम डेटा को ऑनलाइन स्टोर और प्रबंधित कर सकते हैं और संशोधनों के लिए कभी भी उनका अध्ययन कर सकते हैं। अधिक अनुप्रयोगों में होम ऑटोमेशन, मेश नेटवर्क, औद्योगिक वायरलेस नियंत्रण, बेबी मॉनिटर, सेंसर नेटवर्क, पहनने योग्य इलेक्ट्रॉनिक्स, वाई-फाई स्थान-जागरूक उपकरण, वाई-फाई स्थिति सिस्टम बीकन शामिल हैं।
चरण 6: आगे जाने के लिए संसाधन
LSM9DS0 और ESP8266 के बारे में अधिक जानकारी के लिए, नीचे दिए गए लिंक देखें:
- LSM9DS0 सेंसर डेटाशीट
- LSM9DS0 वायरिंग आरेख
- ESP8266 डेटाशीट
सिफारिश की:
ट्यूटोरियल: वीडियो स्ट्रीमिंग वेब सर्वर में ESP32-CAM का उपयोग कैसे करें: 3 चरण
ट्यूटोरियल: वीडियो स्ट्रीमिंग वेब सर्वर में ESP32-CAM का उपयोग कैसे करें: विवरण: ESP32-CAM एक बहुत ही छोटे फॉर्म फैक्टर में एक ESP32 वायरलेस IoT विजन डेवलपमेंट बोर्ड है, जिसे विभिन्न IoT प्रोजेक्ट्स, जैसे कि घरेलू स्मार्ट डिवाइस, औद्योगिक में उपयोग करने के लिए डिज़ाइन किया गया है। वायरलेस नियंत्रण, वायरलेस निगरानी, क्यूआर वायरलेस पहचान
ESP 8266 Nodemcu Ws 2812 Neopixel आधारित LED मूड लैंप स्थानीय वेब सर्वर द्वारा नियंत्रित: 6 चरण
ESP 8266 Nodemcu Ws 2812 Neopixel आधारित LED मूड लैंप स्थानीय वेब सर्वर द्वारा नियंत्रित: ESP 8266 Nodemcu Ws 2812 Neopixel आधारित LED MOOD लैंप वेबसर्वर का उपयोग करके नियंत्रित किया जाता है
Esp32 तापमान और आर्द्रता वेब सर्वर PYTHON और Zerynth IDE का उपयोग कर रहा है: 3 चरण
Esp32 तापमान और आर्द्रता वेब सर्वर PYTHON और Zerynth IDE का उपयोग कर रहा है: Esp32 एक शानदार माइक्रो-कंट्रोलर है, यह एक Arduino की तरह ही शक्तिशाली है लेकिन इससे भी बेहतर है! इसमें Wifi कनेक्टिविटी है, जिससे आप सस्ते और आसानी से IOT प्रोजेक्ट विकसित कर सकते हैं। लेकिन Esp के साथ काम करना डिवाइस निराशाजनक है, पहले यह स्थिर नहीं है, दूसरा
ESP8266 वेब सर्वर का उपयोग करके 7-सेगमेंट एलईडी डिस्प्ले को नियंत्रित करना: 8 चरण (चित्रों के साथ)
ESP8266 वेब सर्वर का उपयोग करके 7-सेगमेंट एलईडी डिस्प्ले को नियंत्रित करना: मेरे प्रोजेक्ट में एक Nodemcu ESP8266 है जो html फॉर्म का उपयोग करके http सर्वर के माध्यम से 7-सेगमेंट डिस्प्ले को नियंत्रित कर रहा है।
वेब-आधारित नियंत्रण कक्ष के साथ वेब-कनेक्टेड स्मार्ट एलईडी एनिमेशन घड़ी, टाइम सर्वर सिंक्रोनाइज़्ड: 11 चरण (चित्रों के साथ)
वेब-आधारित कंट्रोल पैनल के साथ वेब-कनेक्टेड स्मार्ट एलईडी एनिमेशन क्लॉक, टाइम सर्वर सिंक्रोनाइज़्ड: इस घड़ी की कहानी बहुत पहले की है - 30 साल से अधिक। मेरे पिता ने इस विचार का बीड़ा उठाया था जब मैं एलईडी क्रांति से बहुत पहले सिर्फ 10 साल का था - जब एलईडी की 1/1000 उनकी वर्तमान चमकदार चमक की चमक थी। सच्चा