- Node.js क्या है?
- अवयव आवश्यक
- सर्किट आरेख
- Node.js फ्रेमवर्क सेट करना
- जॉनी-फाइव लाइब्रेरी की स्थापना
- Arduino और Node.js के साथ ब्लिंकिंग एलईडी
- Arduino और Node.js Webserver का उपयोग करके एलईडी चमक को नियंत्रित करना
हमने विभिन्न माइक्रोकंट्रोलर और विभिन्न प्रोग्रामिंग भाषाओं का उपयोग करके एक पलक झपकते हुए एलईडी के कई उदाहरण देखे हैं। आज, हम Arduino Uno से जुड़ी LED को नियंत्रित करने के लिए एक बहुत ही लोकप्रिय JavaScript फ्रेमवर्क Node.js का उपयोग करेंगे । हम Arduino का उपयोग करके एक वेबपेज से एलईडी की चमक को नियंत्रित करने के लिए Node.js का भी उपयोग करेंगे । कुछ ट्वीक्स और ESP8266 का उपयोग करके, इसे एक IoT प्रोजेक्ट में परिवर्तित किया जा सकता है जहाँ एलईडी को कहीं से भी नियंत्रित किया जा सकता है।
Node.js क्या है?
Node.js एक व्यापक रूप से इस्तेमाल जावास्क्रिप्ट आधारित गूगल क्रोम का JavaScript वी 8 इंजन पर बनाए गए और विकसित करने में लागू किया रूपरेखा है मैं / हे इस तरह के एकल पृष्ठ अनुप्रयोग, वीडियो स्ट्रीमिंग साइटें आदि के रूप में गहन वेब अनुप्रयोगों
हमने एक एलईडी को नियंत्रित करने के लिए Node.js और रास्पबेरी पाई के साथ शुरुआत करने से पहले एक सूचनात्मक ट्यूटोरियल किया है। इस ट्यूटोरियल में, हम इसी तरह के दृष्टिकोण का अनुसरण करेंगे अर्थात एलईडी को दो तरीकों का उपयोग करके नियंत्रित किया जाएगा:
- Node.js ढांचे में जावास्क्रिप्ट कोड लिखकर साधारण एलईडी ब्लिंक।
- Node.js ढांचे और किसी भी ब्राउज़र से एक वेब इंटरफ़ेस का उपयोग करते हुए एलईडी चमक नियंत्रण: Arduino UNO एक वेबसर्वर के रूप में कार्य करेगा और HTML वेब पेज एक पीसी या लैपटॉप पर होस्ट किया जाएगा।
अवयव आवश्यक
हार्डवेयर:
- Arduino UNO बोर्ड
- एलईडी
- अवरोध
सॉफ्टवेयर:
- Arduino IDE: Arduino UNO बोर्ड में स्केच अपलोड करने के लिए।
- फर्मटाटा: यह कंप्यूटर, स्मार्टफोन आदि पर सॉफ्टवेयर से विभिन्न माइक्रोकंट्रोलर के साथ संचार करने के लिए एक प्रोटोकॉल है। फर्मेटा फर्मवेयर को किसी भी माइक्रोकंट्रोलर बोर्ड (जैसे अरडिनो, टेनेसी) में लोड किया जा सकता है और किसी भी लैपटॉप, पीसी या स्मार्टफोन से बात करने में सक्षम है। फर्मेटा लाइब्रेरी Arduino IDE के साथ आती है, इसलिए कहीं से भी डाउनलोड करने की आवश्यकता नहीं है। हमने पाइफिरमाटा का उपयोग करके रास्पबेरी पाई के साथ अरडिनो को नियंत्रित करने पर एक ट्यूटोरियल किया है।
- जॉनी-फाइव: जॉनी-फाइव जावास्क्रिप्ट आधारित रोबोटिक्स और IoT प्लेटफॉर्म है जिसका उपयोग जावास्क्रिप्ट में कोड लिखने और Arduino Boards और Computer के बीच एक पुल बनाने के लिए किया जाता है। जॉनी-फाइव को विभिन्न प्रकार के Arduino- संगत बोर्डों जैसे Arduino UNO, NANO, Promini, आदि के साथ परीक्षण किया गया है। इस ट्यूटोरियल में, जॉनी-फाइव लाइब्रेरी को अपनी सभी विशेषताओं का उपयोग करने के लिए डाउनलोड करना होगा। इस ट्यूटोरियल में इंस्टॉलेशन गाइड को बाद में समझाया जाएगा।
सर्किट आरेख
सर्किट आरेख बहुत बुनियादी है, हमें बस एक एलईडी को Arduino के साथ जोड़ने की आवश्यकता है।Node.js फ्रेमवर्क सेट करना
कोडिंग और विकास शुरू करने से पहले, Node.js को डाउनलोड और सेट अप करना होगा। Node.js वातावरण को डाउनलोड करने के लिए बस सरल चरणों का पालन करें।
चरण 1: - अपनी आधिकारिक वेबसाइट से Node.js की.exe फ़ाइल डाउनलोड करें।
चरण 2: -.exe चलाएँ और इंस्टॉलर में दिए गए निर्देशों का पालन करें।
चरण 3: - अपने कंप्यूटर को फिर से शुरू करें क्योंकि यह Node.js दस्तावेज़ में अनुशंसित है और NN.Ts की सभी विशेषताओं का उपयोग करने के लिए भी है।
चरण 4: - यदि नोड स्थापित किया गया है, यह जांचने के लिए, कमांड प्रॉम्प्ट खोलें और नोड-वी टाइप करें
चरण 5: - Node.js संस्करण को प्रदर्शित किया जाएगा जो दर्शाता है कि Node.js स्थापित है।
जॉनी-फाइव लाइब्रेरी की स्थापना
अब Node.js को डाउनलोड करने के बाद, सभी प्रोजेक्ट फ़ाइलों को एक स्थान पर रखने के लिए दस्तावेज़ों में "LED_Control" नामक एक नया फ़ोल्डर बनाएं । प्रत्येक प्रोजेक्ट फ़ाइल को " LED_Control " फ़ोल्डर में रखा जाएगा । अब “ LED_Control ” फ़ोल्डर में जॉनी-फाइव लाइब्रेरी डाउनलोड करें । डाउनलोड करने के लिए, नीचे दिए गए चरणों का पालन करें:
चरण 1: - ओपन कमांड प्रॉम्प्ट
चरण 2: - ' cd ' कमांड का पालन करके " LED_Control " फ़ोल्डर पर जाएं ।
चरण 3: - कमांड चलाएँ ' npm install जॉनी-पाँच'
चरण 4: - यह जॉनी-फाइव की सभी निर्भरता को स्थापित करेगा।
चरण 5: - एलईडी की चमक को नियंत्रित करने के लिए इस ट्यूटोरियल में प्रयुक्त आवश्यक पुस्तकालय भी स्थापित करें। यहां तीन पुस्तकालय उपयोग किए जाते हैं:
- एक्सप्रेस: HTTP सर्वर आवरण
- सॉकेट.आई ओ: वेबसॉफ़्ट लाइब्रेरी
- सीरीपोर टी: सीरियल पोर्ट रैपर
चरण 5: - इन तीन पुस्तकालयों को स्थापित करने के लिए एक-एक करके नीचे दिए गए आदेशों को चलाएं।
NPM एक्सप्रेस स्थापित NPM स्थापित socket.io NPM serialport स्थापित
जैसा कि पहले बताया गया था कि परियोजना दो भागों में विभाजित है:
- सबसे पहले, Arduino Nink.js के साथ ब्लिंकिंग एलईडी
- दूसरे, Arduino और Node.js. का उपयोग करके वेब इंटरफ़ेस से एलईडी चमक को नियंत्रित करना
Arduino और Node.js के साथ ब्लिंकिंग एलईडी
LED को ब्लिंक करने के लिए, Arduino को Computer के साथ संचार करने के लिए सेट करना होगा।
निमिष एलईडी के लिए Arduino UNO की स्थापना:
Arduino UNO को लैपटॉप से कंट्रोल एलईडी तक कमांड स्वीकार करने के लिए, फर्मेटा फर्मवेयर को Arduino OO में लोड किया जाना है। फ़र्मटा फ़र्मवेयर को लोड करने के लिए, बस इन सरल चरणों का पालन करें:
- USB केबल का उपयोग करके Arduino UNO को कनेक्ट करें
- Arduino IDE खोलें और टूल से Arduino UNO बोर्ड का चयन करें (यदि अन्य बोर्ड का उपयोग कर रहे हैं तो संबंधित का चयन करें)।
- कनेक्टेड Arduino UNO के रिस्पांसिबल COM पोर्ट को चुनें
- अब मेनू -> फाइल -> उदाहरण -> फर्मटाटा -> स्टैंडर्डफर्मेटा का उपयोग करके फर्मटा स्केच का पता लगाएं ।
- अपलोड "StandardFirmata" > अपलोड - फ़ाइल पर जाकर स्केच।
यह Arduino UNO पर Firmata Sketch को लोड करेगा और अब Arduino UNO कंप्यूटर से किसी भी कमांड को स्वीकार करने के लिए तैयार है।
पलक झपकते एलईडी के लिए Node.js कार्यक्रम लिखना:
Node.js प्रोग्राम लिखने के लिए किसी भी टेक्स्ट एडिटर (नोटपैड, नोटपैड ++ आदि) को खोलें और इस ट्यूटोरियल के अंत में 'blink_led' कोड को पेस्ट करें और इसे '.js' (यानी blink_led.js) के एक्सटेंशन के साथ सेव करें। इससे पहले बनाए गए "LED_Control" फ़ोल्डर में। हम blink_led.js कोड फ़ाइल में महत्वपूर्ण चरणों पर चर्चा करेंगे ।
प्रारंभ में पिन के माइक्रोकंट्रोलर को परिभाषित करें जहां एलईडी जुड़ा हुआ है। इस उदाहरण में, एलईडी Arduino UNO के पिन 5 से जुड़ा है। Node.js में 'var' वेरिएबल डिक्लेरेशन को दर्शाता है।
var led_pin = 5;
जॉनी-पांच मॉड्यूल की जरूरत शामिल होने के लिए और बोर्ड की जरूरत का चयन किया जाना। Node.js में मॉड्यूल लाइब्रेरी हैं। फ़ंक्शन ' आवश्यकता () ' मॉड्यूल को एक्सेस करेगा।
var johnny_five = आवश्यकता ("जॉनी-फाइव"); var arduino_board = new johnny_five.Board ();
Console.log बयान प्रिंट बयान के समान है और यह संदेश प्रिंट होगा। और एलईडी पिन आउटपुट मोड पर सेट किया गया है और एलईडी ब्लिंक करने के लिए परिभाषित देरी दी गई है।
कंसोल.लॉग ("एलईडी ने ब्लिंकिंग स्टार्ट किया है!"); var led = new johnny_five.Led (led_pin); led.blink (100);
अब प्रोग्राम को चलाने के लिए नीचे दिए गए चरणों का पालन करें:
- ओपन कमांड प्रॉम्प्ट
- "Cd ' कमांड का पालन करके " LED_Control " फ़ोल्डर का पता लगाएँ
- भागो 'नोड led_blink.js' आदेश। यदि सफलतापूर्वक निष्पादित किया जाता है, तो यह "एलईडी ने स्टार्टिंग ब्लिंकिंग" दिखाया है ! जैसा कि नीचे की छवि में दिखाया गया है ।
- नेतृत्व Arduino UNO पिन 5 में झपकी लेना शुरू कर देगा।
- और यह हमारे ट्यूटोरियल के पहले भाग को समाप्त करता है अर्थात Node.js के साथ ब्लिंकिंग एलईडी
Arduino और Node.js Webserver का उपयोग करके एलईडी चमक को नियंत्रित करना
Node.js के साथ LED को ब्लिंक करने के समान, इस खंड में कुछ भाग होंगे अर्थात Arduino UNO की स्थापना, Web Interface की स्थापना और Node.js प्रोग्राम लिखना।
एलईडी की चमक को नियंत्रित करने के लिए Arduino UNO की स्थापना:
Arduino UNO सेट अप करने के लिए, बस Arduino UNO बोर्ड में स्केच " arduino_control.ino " अपलोड करें और वह यह है। यह Arduino Board स्थापित करेगा। आप यहाँ से HTML फ़ाइलों के साथ पूरा कोड डाउनलोड कर सकते हैं। " Arduino_control.ino" कोड में महत्वपूर्ण कदम शामिल हैं।
प्रारंभ में बॉड दर 9600 पर सेट की गई है।
सीरियल.बेगिन (9600);
सीरियल पोर्ट हमेशा आने वाली बाइट के लिए दिखता है और बाइट को पिन 5 लिखा जाता है जो कि PWM पिन है।
जबकि (Serial.available ()); analogWrite (5, Serial.read ());
बस। यह Arduino को PWM पिन को बाइट देने के लिए सेट करेगा और LED की चमक को बदलेगा।
वेब इंटरफेस की स्थापना:
वेब इंटरफेस का उपयोग करके एलईडी की चमक को नियंत्रित करने के लिए, HTML कोड के एक छोटे टुकड़े को ब्राउज़र में एक इंटरफ़ेस लिखा जाता है । नीचे दिए गए सरल चरणों का अनुसरण करने के लिए इंटरफ़ेस:
- पहले बनाए गए "LED_Control" फ़ोल्डर के अंदर "सार्वजनिक" नाम का एक नया फ़ोल्डर बनाएं ।
- अब "index.html" और "style.css" फ़ाइलों को डाउनलोड करें और पहले चरण में बनाए गए "सार्वजनिक" फ़ोल्डर के अंदर दोनों फ़ाइलों को स्थानांतरित करें । फाइलें यहां से डाउनलोड की जा सकती हैं।
यह Node.js और Arduino का उपयोग करके एलईडी की चमक को नियंत्रित करने के लिए वेबपेज पर एक स्लाइडर बनाएगा ।
वेबपेज से एक एलईडी को नियंत्रित करना सीखना दिलचस्प है और यह वेबसर्वर बनाकर अन्य माइक्रोकंट्रोलर के साथ किया जा सकता है और वेबपेज पर वेब पेज को होस्ट कर सकता है। यहां वेबसर्वर से संबंधित सभी प्रोजेक्ट देखें।
एलईडी की चमक को नियंत्रित करने के लिए Node.js कार्यक्रम लिखना:
अगला चरण Node.js का उपयोग करके "ब्राइटनेस_कंट्रोल.जेएस" स्केच लिखना और कोड निष्पादित करना होगा। कोड का निष्पादन Node.js. के साथ एक एलईडी ब्लिंकिंग के समान होगा।
एक Node.js कार्यक्रम किसी भी पाठ संपादक (नोटपैड, नोटपैड ++, आदि) खोलने के लिए और पेस्ट लिखने के लिए 'brightness_control " का एक विस्तार के साथ इस ट्यूटोरियल के अंत में संलग्न कोड और सेव यह .js' ' यानी (brightness_control.js) इससे पहले बनाए गए "LED_Control" फ़ोल्डर में। आप यहां से कोड भी डाउनलोड कर सकते हैं।
Blink Led Node.js प्रोग्राम के समान, यह खंड मॉड्यूल (लाइब्रेरी) का भी उपयोग करेगा। 'एक्सप्रेस', 'http' और 'सीरियल पोर्ट' मॉड्यूल शामिल करें।
var express = आवश्यकता ('express'); app = express (); server = आवश्यकता ('http')। createServer (ऐप); io = आवश्यकता ('सॉकेट.आईओ')। सुनो (सर्वर); var SerialPort = की आवश्यकता होती है ("सीरियलपोर्ट") // SerialPort
अब COM पोर्ट और बॉड्रेट सेट करें। ध्यान दें कि विंडोज़ में, यह हमेशा नंबर (COM6, COM4, COM24 आदि) के विस्तार के साथ COM होगा, इसलिए '/' के बाद आवश्यकतानुसार सेट करें। साथ ही buadrate सेट करें।
var serialPort = new SerialPort ("/ COM4", {baudRate: 9600});
पोर्ट 8080 पर सर्वर सुनना शुरू करें।
server.listen (8080);
शुरुआत में 0 पर ब्राइटनेस सेट करें। फिर सॉकेट मॉड्यूल के साथ IO के लिए ब्राइटनेस डेटा को लैच करें, जो कि एक वेबसोकेट मॉड्यूल है। सॉकेट प्रोटोकॉल का उपयोग करके वेब इंटरफ़ेस द्वारा डेटा प्राप्त होगा।
io.sockets.on ('कनेक्शन', फंक्शन (सॉकेट) { सॉकेट.ऑन ('लीड', फंक्शन (डेटा) { ब्राइटनेस = data.value; var buf = new Buffer (1); buf.writexnt8 (ब्राइटनेस, 0)); सीरियलपॉर्ट.राइट (बुफ़);
अब सॉकेट से एलईडी पिन तक प्राप्त एलईडी चमक मूल्य का उत्सर्जन करें।
io.sockets.emit ('नेतृत्व', {मूल्य: चमक}); }; सॉकेट.मिट ('एलईडी', {मान: चमक}); };
अब बस डिबग करने के लिए, अंत में एक प्रिंट स्टेटमेंट जोड़ें। Console.log Node.js. में एक प्रिंट स्टेटमेंट है
कंसोल.लॉग ("वेब सर्वर ने अपने ब्राउज़र में 'http: // localhost: 8080' पर जाना शुरू किया।))
अब नीचे दिए गए चरणों का पालन करके कार्यक्रम चलाने के लिए:
- ओपन कमांड प्रॉम्प्ट
- "Cd ' कमांड का पालन करके " LED_Control " फ़ोल्डर का पता लगाएँ
- भागो 'नोड brightness_control.js' आदेश। यदि सफलतापूर्वक निष्पादित किया जाता है, तो यह "वेब सर्वर स्टार्टेड" आपके ब्राउज़र में "http: // localhost: 8080" पर जाएगा। कमान के ठीक नीचे ।
- अब अपने ब्राउज़र पर जाएं और url में "localhost: 8080" टाइप करें।
- चमक को बदलने के लिए बस स्लाइडर को 0-255 मानों से स्थानांतरित करें।
पूरा कोड और काम वीडियो दोनों खंड के नीचे जुड़ा हुआ है। इसके अलावा अगर आपको कोई शंका या सुझाव है तो आप हमें फ़ोरम या टिप्पणी के माध्यम से बता सकते हैं। सभी कोड फाइलें भी यहां से डाउनलोड की जा सकती हैं।