विषयसूची:
- चरण 1: नोड-लाल के साथ आरंभ करना
- चरण 2: डेटा को नोड-लाल में विभाजित करना
- चरण 3: वैम्पसर्वर के साथ डेटाबेस
- चरण 4: डेटाबेस
- चरण 5: नोड-लाल से वैम्पसर्वर
- चरण 6: Wampserver से Node-red में डेटा का उपयोग करना
- चरण 7: अंतिम रूप देना
वीडियो: UCL-IIOT - डेटाबेस और नोड-रेड के साथ अलार्म सिस्टम: 7 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
इस बिल्ड का उद्देश्य Arduino को Node-red और एक डेटाबेस से जोड़ने के बारे में सिखाना है, ताकि आप डेटा लॉग कर सकें और बाद में उपयोग के लिए इसे एकत्र भी कर सकें।
इस निर्माण के लिए मैं एक साधारण आर्डिनो अलार्म सिस्टम का उपयोग करता हूं जो 5 डेटा नंबरों को आउटपुट करता है, प्रत्येक को अल्पविराम से अलग किया जाता है।
यह आवश्यक नहीं है कि सटीक मात्रा में डेटा हो और कार्यक्रम कुछ भी हो सकता है।
महत्वपूर्ण हिस्सा यह है कि डेटा को अल्पविराम से अलग किया जाता है जैसा कि इस स्क्रीनशॉट में देखा गया है।
उदाहरण के लिए आउटपुट इस तरह दिख सकता है: "३२४, ०, ०, १, १"
(आर्डिनो के निर्माण के लिए तैयार प्रोग्रामिंग और निर्देश इस ट्यूटोरियल के निचले भाग में जुड़े हुए हैं)
चरण 1: नोड-लाल के साथ आरंभ करना
इस ट्यूटोरियल के लिए हम मानते हैं कि आपने पहले ही नोड-रेड स्थापित कर लिया है, लेकिन कुछ अतिरिक्त पैलेट हैं जो इस परियोजना के लिए उपयोग किए जाते हैं जिनकी हमें इसके काम करने की आवश्यकता है
"पैलेट प्रबंधित करें" बटन ढूंढें और निम्नलिखित पैलेट स्थापित करें।
- नोड-लाल-डैशबोर्ड
- नोड-लाल-नोड-mysql
- नोड-लाल-नोड-आर्डिनो
- नोड-लाल-नोड-सीरियलपोर्ट
इसे नोड-रेड बटन मेनू के किनारे कुछ नए पैलेट दिखाना चाहिए।
चरण 2: डेटा को नोड-लाल में विभाजित करना
अब जब नोड-रेड जाने के लिए तैयार है, तो हमें अपने डेटा को अलग-अलग टुकड़ों में विभाजित करके शुरू करना होगा।
यही कारण है कि हमने उन्हें Arduino कोड के अंदर अल्पविराम से अलग करना सुनिश्चित किया।
सबसे पहले बाईं ओर के पैनल पर पाए गए Arduino इनपुट नोड को नीचे रखकर शुरू करते हैं।
आपको यह सुनिश्चित करने की ज़रूरत है कि इसमें सही धारावाहिक है (मेरा COM4 का उपयोग करता है) पोर्ट और बॉड दर (मेरे कार्यक्रम में मैं 9600 बॉड दर का उपयोग करता हूं)
यदि सही ढंग से सेट किया गया है, तो यह कहना चाहिए कि यह जुड़ा हुआ है।
आगे हम एक Javascript फ़ंक्शन ब्लॉक बनाते हैं और इसे Arduino इनपुट नोड के बाद कनेक्ट करते हैं। यह ब्लॉक हमें Javascript में प्रोग्राम करने की अनुमति देता है, और यहां हम एक कोड लिखते हैं जो हमारे डेटा को प्रत्येक कॉमा के लिए विभाजित कर सकता है।
इस फ़ंक्शन ब्लॉक में मैंने निम्नलिखित कोड का उपयोग करके अपने 5 डेटा को विभाजित किया है:
var m1 = {विषय: "लाइट1", पेलोड: msg.payload.split(", ")[0]}; var m2 = {विषय: "लाइट2", पेलोड: msg.payload.split(", ")[1]}; var m3 = {विषय: "लाइट3", पेलोड: msg.payload.split(", ")[2]}; var m4 = {विषय: "मिलिस", पेलोड: msg.payload.split(", ")[3]}; var m5 = {विषय: "ऑनऑफ़", पेलोड: msg.payload.split(", ")[4]}; वापसी [एम 1, एम 2, एम 3, एम 4, एम 5];
(आवश्यकतानुसार कोड बदलें)
सुनिश्चित करें कि नोड 5 आउटपुट (या आपके समकक्ष) पर सेट है
जैसा कि स्क्रीनशॉट में देखा गया है, अब हमारे पास 5 आउटपुट हैं जिन्हें हम प्रत्येक एक डिबग नोड और एक टेक्स्ट डैशबोर्ड नोड से जोड़ते हैं। यह तब उपयोगी होगा जब हमें इसे UI पर देखने की आवश्यकता होगी।
चरण 3: वैम्पसर्वर के साथ डेटाबेस
हमारे डेटाबेस के काम करने के लिए आपको Wampserver स्थापित करने की आवश्यकता है। इसके स्थापित होने के बाद और एक हरे रंग के आइकन के रूप में दिखाई देता है (आपके द्वारा सभी सेवाओं को शुरू करने के बाद), आपको "phpMyAdmin" खोलना चाहिए जो आपको एक लॉगिन स्क्रीन पर लाएगा। जब तक आपके पास नहीं है पहले इसे बदल दिया, बस उपयोगकर्ता नाम और लॉगिन में "रूट" इनपुट करें।
बाएं बार में टूल के नीचे phpmyadmin बटन दबाएं और इसे डेटाबेस मेनू खोलना चाहिए, जो ऊपर की छवि में दिखाया गया कुछ दिखता है।
एक नया डेटाबेस बनाएं और इसे अपने प्रोजेक्ट से संबंधित कुछ नाम दें, मेरा नाम "अलार्मसिस्टम" है (ये नाम केस सेंसिटिव होंगे)
उस डेटाबेस के तहत, एक नई तालिका बनाएं और उसे नाम दें, मेरा नाम "अलार्मडेटा" है
यह पूछेगा कि क्या आप "latin1_swedish_ci" का उपयोग करना चाहते हैं और हम इसे वैसे ही रखते हैं।
अब आप 6 टेबल बनाएं (हमारे पास मौजूद डेटा से 1 अधिक)
पहली तालिका को डेटाटाइप "लॉन्गटेक्स्ट" का उपयोग करने की आवश्यकता है
और शेष डेटासेट "मीडियमटेक्स्ट" का उपयोग करता है
उनका नाम अवश्य लें। (पहले डेटासेट का नाम "समय" होना चाहिए
चरण 4: डेटाबेस
Wampserver डेटासेट कुछ इस तरह दिखना चाहिए।
(लेकिन वास्तविक डेटा के बिना, जैसा कि हमने अभी तक प्राप्त नहीं किया है)
चरण 5: नोड-लाल से वैम्पसर्वर
अब हम चाहते हैं कि जो डेटा हम अपने arduino से आउटपुट कर रहे हैं वह हमारे Wampserver पर जाए।
एक अन्य Javascript फ़ंक्शन ब्लॉक बनाकर प्रारंभ करें और इसे हमारे arduino इनपुट नोड से कनेक्ट करें।
इस स्क्रिप्ट ब्लॉक में, हम एक बार फिर अपने डेटा को विभाजित करते हैं, लेकिन हम इसे अपने डेटाबेस में भी सम्मिलित करते हैं।
var data = msg.payload.split(", ");var Green1 = data[0]; वर ग्रीन २ = डेटा [1]; वर अलार्म = डेटा [2]; वर मिलिस = डेटा [3]; वर IsActive = डेटा [4]; var out = "अलार्म सिस्टम में डालें। अलार्मडेटा (समय, ग्रीन 1, ग्रीन 2, अलार्म, मिलिस, आईएसएक्टिव) मान ('" + नई तिथि ()। toISOString ()। स्लाइस (0, 19)। बदलें ('टी', ' ')+"', '"+ग्रीन1+"', '"+ग्रीन2+"', '"+अलार्म+"', '"+मिलिस+"', ''+IsActive+"')"; संदेश विषय = बाहर; वापसी संदेश;
ध्यान दें कि मैंने "INSERT INTO अलार्मसिस्टम.अलार्मडेटा" इनपुट किया है, यह वह नाम है जिसे हमने अपना डेटाबेस और टेबल दिया है, सुनिश्चित करें कि आपने ठीक वही नाम लिखा है जिसमें आपने अपना डेटाबेस दिया था।
अब जावास्क्रिप्ट ब्लॉक को डिबग नोड से कनेक्ट करें और बाईं ओर स्टोरेज पैलेट के नीचे पाए जाने वाले "mysql" नोड को भी।
mysql ब्लॉक के तहत आप इसे अपने डेटाबेस "अलार्मसिस्टम" के समान नाम देते हैं
उपयोगकर्ता को "रूट" में बदलें (वह नाम जिसे हम अपने सर्वर में लॉग इन करते थे)
होस्ट, पोर्ट और डेटाबेस को पहले से ही भरा जाना चाहिए:
होस्ट: 127.0.0.1
पोर्ट: 3306
डेटाबेस: अलार्म सिस्टम
यदि सब कुछ सही किया जाता है, तो आपके द्वारा अपने परिवर्तनों को परिनियोजित करने के बाद इसे कनेक्ट किया जाना चाहिए।
आपको यह भी देखने में सक्षम होना चाहिए कि डेटाबेस अब आपके डेटा को सीधे Arduino से लॉग करता है।
चरण 6: Wampserver से Node-red में डेटा का उपयोग करना
अंतिम खंड के लिए हम देखना चाहते हैं कि क्या हम अपने द्वारा सहेजे गए डेटा को ले सकते हैं और इसे अपने नोड-रेड में वापस रख सकते हैं और उम्मीद है कि इसे प्रदर्शित करेंगे।
एक "इंजेक्ट" नोड रखकर प्रारंभ करें
इस नोड में विषय के तहत हम कोड डालते हैं: SELECT*FROM अलार्मसिस्टम.अलार्मडेटा
जब हम इसे दबाते हैं तो यह हमारे डेटाबेस को ढूंढ पाएगा।
इंजेक्ट नोड को एक नए "mysql" नोड से कनेक्ट करें, जैसा कि हमने पिछले चरण में किया था।
mysql नोड को डिबग नोड और डैशबोर्ड के नीचे पाए गए टेम्पलेट नोड से कनेक्ट करें।
टेम्प्लेट नोड हमारी तालिका होगी जिसे हम डेटाबेस से डेटा दिखाने के लिए अपडेट कर सकते हैं क्योंकि यह उत्पादित होता है।
ऊपर स्क्रीनशॉट में दिखाए गए कोड को इनपुट करें (आवश्यकतानुसार बदलें) और अब इसे हमारे नोड-रेड UI में एक डेटा टेबल दिखाना चाहिए।
हम UI से ही टेबल को अपडेट करने के लिए एक डैशबोर्ड बटन भी जोड़ सकते हैं।
एक बटन नोड बनाकर प्रारंभ करें।
बटन नोड को जावास्क्रिप्ट फ़ंक्शन ब्लॉक से कनेक्ट करें।
फंक्शन ब्लॉक में हम निम्नलिखित कोड डालते हैं।
msg.topic = "चुनें * अलार्म डेटा से ग्रीन1 डीईएससी लिमिट 20 द्वारा ऑर्डर करें";वापसी संदेश;
(ग्रीन1 तालिका में पहला डेटा चर है)
इस फ़ंक्शन ब्लॉक को तब हमारे mysql नोड के इनपुट से कनेक्ट करने की आवश्यकता होती है जिसे हमने पहले इस चरण में बनाया था।
चरण 7: अंतिम रूप देना
अब हमारे UI में हमारे डेटा का लाइव अपडेट और हमारे सर्वर से ही डेटा वाली तालिका शामिल होनी चाहिए।
इसका मतलब है कि हमने Arduino, एक UI आधारित प्रोग्राम और एक डेटाबेस के बीच एक कनेक्शन बनाया है।
यदि आप रुचि रखते हैं कि मेरा Arduino अलार्म सिस्टम कैसे काम करता है, तो मैंने एक दस्तावेज़ जोड़ा है जो बताता है कि इसे कैसे प्रोग्राम और सेट किया जाता है।
साथ ही नोड-रेड प्रोग्रामिंग का पूर्ण निर्यात।
सिफारिश की:
DIY होम ऑटोमेशन इंट्रूडर अलार्म सिस्टम !: 5 कदम (चित्रों के साथ)
DIY होम ऑटोमेशन इंट्रूडर अलार्म सिस्टम !: इस प्रोजेक्ट में मैं आपको दिखाऊंगा कि आपके घर के लिए एक घुसपैठिया अलार्म सिस्टम बनाने के लिए होम असिस्टेंट सॉफ्टवेयर का उपयोग कैसे किया जाता है। सिस्टम मूल रूप से पता लगाएगा कि क्या दरवाजा बिना अनुमति के खोला जाता है और फिर यह एक सूचना भेजेगा
DIY मोशन डिटेक्शन एसएमएस अलार्म सिस्टम: 5 कदम (चित्रों के साथ)
DIY मोशन डिटेक्शन एसएमएस अलार्म सिस्टम: इस प्रोजेक्ट में मैं एक सस्ते पीआईआर मोशन सेंसर को एक टीसी३५ जीएसएम मॉड्यूल के साथ मिलाकर एक अलार्म सिस्टम तैयार करूंगा जो आपको "घुसपैठिया अलर्ट" जब भी कोई आपका सामान चुराने की कोशिश करे तो एसएमएस करें। आएँ शुरू करें
स्मार्ट अलार्म घड़ी: रास्पबेरी पाई के साथ बनाई गई एक स्मार्ट अलार्म घड़ी: 10 कदम (चित्रों के साथ)
स्मार्ट अलार्म घड़ी: रास्पबेरी पाई के साथ बनी एक स्मार्ट अलार्म घड़ी: क्या आप कभी स्मार्ट घड़ी चाहते हैं? यदि हां, तो यह आपके लिए समाधान है!मैंने स्मार्ट अलार्म घड़ी बनाई है, यह एक ऐसी घड़ी है जिसे आप वेबसाइट के अनुसार अलार्म समय बदल सकते हैं। जब अलार्म बंद हो जाता है, तो एक ध्वनि (बजर) होगी और 2 बत्तियाँ
DIY तिल स्ट्रीट अलार्म घड़ी (फायर अलार्म के साथ!): 6 कदम (चित्रों के साथ)
DIY तिल स्ट्रीट अलार्म घड़ी (फायर अलार्म के साथ!): हाय सब लोग! यह परियोजना मेरी पहली है। चूंकि मेरे चचेरे भाई का पहला जन्मदिन आ रहा था, मैं उसके लिए एक विशेष उपहार बनाना चाहता था। मैंने चाचा और चाची से सुना कि वह तिल स्ट्रीट में थी, इसलिए मैंने अपने भाई-बहनों के साथ अलार्म घड़ी बनाने का फैसला किया
अनुकूलन योग्य गीत अलार्म के साथ एलईडी सनराइज अलार्म घड़ी: 7 कदम (चित्रों के साथ)
अनुकूलन योग्य गीत अलार्म के साथ एलईडी सनराइज अलार्म घड़ी: मेरी प्रेरणा इस सर्दी में मेरी प्रेमिका को सुबह उठने में बहुत परेशानी हुई और वह एसएडी (सीज़नल अफेक्टिव डिसऑर्डर) से पीड़ित लग रही थी। मैंने यह भी देखा कि सर्दियों में जागना कितना कठिन है क्योंकि सूरज नहीं आया है