- सामग्री की आवश्यकता
- रास्पबेरी पाई पर Node.js स्थापित करना
- Node.js का उपयोग करके एक एलईडी निमिष
- Node.js एलईडी ब्लिंक स्क्रिप्ट और स्पष्टीकरण
- Node.js का उपयोग करके एक एलईडी ब्लिंकिंग के लिए सर्किट आरेख
- रास्पबेरी पाई
पिछले रास्पबेरी पाई ट्यूटोरियल में, हमने रास्पबेरी पाई को नियंत्रित करने के लिए कई अलग-अलग प्रोग्रामिंग भाषाओं और सॉफ्टवेयर्स का उपयोग किया है, जिसमें पाइथन, एम्बेडेड सी, फ्लास्क आदि शामिल हैं। शक्तिशाली रास्पबेरी पाई बोर्ड के क्षितिज का विस्तार करने के लिए, आज हम एक बहुत ही लोकप्रिय जावास्क्रिप्ट आधारित वातावरण (नोड) का उपयोग करेंगे.js) रास्पबेरी पाई GPIO को स्थानीय स्तर पर और विश्व स्तर पर नियंत्रित करने के लिए इसे वेबसर्वर के रूप में स्थापित करके। प्रारंभ में, Google Chrome के लिए Node.js विकसित किया गया था लेकिन बाद में इसे Google द्वारा ओपन-सोर्स किया गया था।
इस ट्यूटोरियल में, हम दो तरीकों का उपयोग करते हुए, रास्पबेरी पाई से जुड़े एक एलईडी को नियंत्रित करेंगे
- सबसे पहले हम एलईडी को ब्लिंक करने के लिए Node.js का उपयोग करके केवल एक जावास्क्रिप्ट कोड लिखेंगे
- दूसरी विधि में, हम एलईडी को चालू और बंद करने के लिए दो बटन के साथ एक एचटीएमएल पेज बनाएंगे । यह HTML वेब पेज रास्पबेरी पाई पर होस्ट किया जाएगा और इसे किसी भी वेब ब्राउज़र पर खोला जा सकता है। तो यहाँ रास्पबेरी पाई वेबसर्वर के रूप में कार्य करेगी
सामग्री की आवश्यकता
- रास्पबेरी के साथ रास्पबेरी पाई बोर्ड इसमें स्थापित किया गया है
- एलईडी
इस ट्यूटोरियल में मैं रास्पबेरी पाई से जुड़ने के लिए एचडीएमआई केबल का उपयोग करके बाहरी मॉनिटर का उपयोग कर रहा हूं। यदि आपके पास मॉनिटर नहीं है, तो आप लैपटॉप या कंप्यूटर का उपयोग करके रास्पबेरी पाई से कनेक्ट करने के लिए एसएसएच क्लाइंट (पुट्टी) या वीएनसी सर्वर का उपयोग कर सकते हैं। यदि आपको कोई कठिनाई आती है, तो रास्पबेरी पाई गाइड के साथ हमारे गेटिंग को देखें।
रास्पबेरी पाई पर Node.js स्थापित करना
हम निम्नलिखित आदेशों का उपयोग करके अपने बोर्ड में Node.js स्थापित करेंगे।
चरण 1: - इस कमांड का उपयोग करके अपने रास्पबेरी पाई बोर्ड के आर्म संस्करण के लिए पहले जाँच करें।
अनाम
मेरे मामले में, संस्करण 7 है।
चरण 2: - टर्मिनल में इस लिंक को कॉपी करके इंस्टॉलर डाउनलोड करें। नीचे दिए गए लिंक में संस्करण को बदलना न भूलें।
wget https://nodejs.org/dist/v4.6.1/node-v4.6.1-linux-armvl.tar.gz
चरण 3: - नीचे दी गई कमांड का उपयोग करके फ़ाइलें निकालें
tar -xvf नोड- v4.6.1-linux-armvl.tar.gz
चरण 4: - अंत में, महत्वपूर्ण निर्देशिकाओं को स्थानीय निर्देशिकाओं में जोड़ने के लिए इन कमांड्स को निष्पादित करें।
सीडी नोड- v4.3.1-linux-armvl sudo cp -R * / usr / स्थानीय /
Node.js अब आपके रास्पबेरी पाई में स्थापित है। इस आदेश का उपयोग करके पुष्टि के लिए नोड का संस्करण जांचें।
नोड- फैलाव
Node.js सर्वर बनाने के लिए जाने से पहले, पहले हम देखेंगे कि नोड.js (npm onoff package) का उपयोग करके एलईडी को ब्लिंक करने के लिए स्क्रिप्ट कैसे लिखनी है।
Node.js का उपयोग करके एक एलईडी निमिष
Node.js का उपयोग करके रास्पबेरी पाई पर GPIO को नियंत्रित करने के लिए, हम ऑनऑफ मॉड्यूल का उपयोग करेंगे ।
हम का उपयोग करेगा NPM पैकेज प्रबंधक आदेश नीचे का उपयोग कर मॉड्यूल onoff स्थापित करने के लिए
npm स्थापित करें
अब, हम नेतृत्व की निमिष के लिए एक स्क्रिप्ट लिखेंगे। नैनो संपादक खोलें और कमांड का उपयोग करके फ़ाइल को नाम दें
नैनो blink_led.js
यदि आप Node.js में शुरुआती हैं और यह पैकेज हैं, तो आप स्क्रिप्ट की बेहतर समझ के लिए npm का प्रलेखन कर सकते हैं।
Node.js एलईडी ब्लिंक स्क्रिप्ट और स्पष्टीकरण
सबसे पहले, एलईडी, विलंब और GPIO के लिए चर घोषित करें। मैं एलईडी कनेक्ट करने के लिए रास्पबेरी पाई GPIO 4 का उपयोग कर रहा हूं।
var Gpio = आवश्यकता ('onoff')। Gpio; var एलईडी = नई Gpio (4, 'आउट'); var blinkInterval = setInterval (ब्लिंकलेड, 500);
अब, हम पलक शुरू करने के लिए एक समारोह करेंगे ।
function blinkLED () {if (LED.readSync () === 0) {LED.writeSync (1); // सेट आउटपुट 1 पर अर्थात चालू करें और} {LED.writeSync (0); // सेट आउटपुट को 0 पर अर्थात एलईडी को बंद करें }}
इसी तरह, पलक को रोकने के लिए एक फ़ंक्शन बनाएं
फ़ंक्शन एंडब्लिंक () {clearInterval (blinkInterval); LED.writeSync (0); LED.unexport (); // Unexport GPIO मुक्त संसाधनों के लिए} setTimeout (एंडब्लिंक, 10000);
इस ट्यूटोरियल के अंत में ब्लिंकिंग एलईडी के लिए पूरा Node.js कोड दिया गया है । तो फाइल का कोड led_blink.js में कॉपी और पेस्ट करें, जिसे हमने पहले नैनो कमांड का उपयोग करके बनाया है, फ़ाइल को Ctrl + x का उपयोग करके सहेजें, फिर Y दबाएं और एंटर दबाएं ।
स्क्रिप्ट चलाने के लिए, टर्मिनल खोलें और नीचे कमांड टाइप करें:
नोड blink_led.js
आप देखेंगे कि एलईडी 10 सेकंड तक झपकेगी और उसके बाद यह पलक झपकना बंद कर देगी। इस ट्यूटोरियल के अंत में दिए गए वीडियो में पूर्ण कार्य की जाँच करें ।
Node.js का उपयोग करके एक एलईडी ब्लिंकिंग के लिए सर्किट आरेख
रास्पबेरी पाई
अब, दिलचस्प हिस्से पर आते हैं, यहाँ हम अपना स्वयं का वेब सर्वर बनाने जा रहे हैं जिससे हम वेबपृष्ठ का उपयोग करके रास्पबेरी पाई के GPIO को नियंत्रित कर सकते हैं ।
इसके लिए, पहले हमें एक HTML पेज बनाना होगा और आरपीआई GPIO को नियंत्रित करने के लिए बैक-एंड कार्य करने के लिए एक स्क्रिप्ट लिखना होगा।
चरण 1: - एक जगह पर सभी फाइलों को संग्रहीत करने के लिए एक निर्देशिका बनाएं।
mkdir nodejs_server
चरण 2: - अंदर नोडज_सर्वर फ़ोल्डर HTML फ़ाइल को बचाने के लिए एक और फ़ोल्डर बनाते हैं।
सीडी नोडज_सर्वर mkdir विचार
चरण 3: - यदि आप अपने html पृष्ठ के लिए छवियों को जोड़ना चाहते हैं, तो आप किसी अन्य फ़ोल्डर नामित करना चाहिए सार्वजनिक मुख्य निर्देशिका के अंदर यानी में nodejs_server फ़ोल्डर। सार्वजनिक फ़ोल्डर में, छवि फ़ोल्डर बनाएं और इस फ़ोल्डर में सभी छवियों को संग्रहीत करें।
स्टेप 4: - अब, हम HTML पेज बनाएंगे। इसके लिए, दृश्य निर्देशिका पर जाएं और फ़ाइलनाम इंडेक्स के साथ नैनो टेक्स्ट एडिटर खोलें
स्क्रिप्ट में कुछ भी फैंसी नहीं है। यह ऑन और ऑफ बटन बनाने के लिए सिर्फ एक HTML फाइल है ।
नैनो टेक्स्ट एडिटर में नीचे दिए गए HTML कोड को कॉपी पेस्ट करें और इसे सेव करें।
Nodejs सर्वर में आपका स्वागत है
एलईडी स्थिति: <% = स्थिति%>चरण 5: - अब, हमें जावास्क्रिप्ट कोड लिखना होगा। हम उपयोगकर्ता द्वारा किए गए http अनुरोधों का जवाब देने के लिए नोड एक्सप्रेस फ्रेमवर्क का उपयोग कर रहे हैं।
नोड एक्सप्रेस के बारे में अधिक जानने के लिए आप लिंक का अनुसरण कर सकते हैं।
टर्मिनल और ओपन नैनो टेक्स्ट एडिटर index.js फ़ाइल नाम के साथ नोडज_सर्वर फ़ोल्डर में, फिर नीचे जावा स्क्रिप्ट कोड और इस फ़ाइल को कॉपी और पेस्ट करें।
var express = आवश्यकता ('express'); var app = express (); var path = आवश्यकता ('path'); var gpio = आवश्यकता ('rpi-gpio'); gpio.setup (7, gpio.DIR_OUT); app.set ('व्यू इंजन', 'ईजेएस'); app.use (express.static (path.join (__ dirname, 'public'))); कंसोल.लॉग (path.join (__ dirname, 'public')); app.get ('/', function (req, res) { res.render ('इंडेक्स', {स्टेटस: "प्रेस बटन"}); }); app.post ('/ नेतृत्व / पर', समारोह (अनुरोध, रेस) { gpio.write (7, सच है, समारोह (गलती) { अगर (गलती) फेंक अं; console.log ('लिखित पिन करने के लिए यह सच है'); कंसोल.लॉग (path.join (__ dirname, 'public')); वापसी res.render ('इंडेक्स'),{स्थिति: "एलईडी चालू है"}); }; }; app.post ('/ नेतृत्व / बंद', समारोह (अनुरोध, रेस) { gpio.write (7, झूठे, समारोह (गलती) { अगर (गलती) फेंक अं; console.log () 'पिन करने के लिए लिखित झूठी'; कंसोल.लॉग (path.join (__ dirname, 'public')); res Res.render ('इंडेक्स', {स्थिति: "लेड ऑफ है"}); }); }); app.listen (3000, फ़ंक्शन () {कंसोल.लॉग ( 'सर्वर पोर्ट पर शुरू: 3000!') })
चरण 6: - नोडज_सर्वर निर्देशिका के अंदर, हमें नोड.जेएस के पुस्तकालयों को स्थापित करने के लिए निम्नलिखित कमांड को निष्पादित करना होगा।
npm स्थापित करें
चरण 7: - अब, आपका सर्वर काम करने के लिए तैयार है । स्थानीय सर्वर को शुरू करने के लिए, नोडज_सर्वर निर्देशिका के अंदर निम्न कमांड चलाएँ
नोड index.js
आपको टर्मिनल में एक संदेश दिखाई देगा कि आपका सर्वर परिभाषित पोर्ट पर शुरू किया गया है।
चरण 8: - अब अपना ब्राउज़र खोलें और पोर्ट नंबर यानी रास्पबेरी के साथ रास्पबेरी पाई यूआरएल खोलें : 3000
सुनिश्चित करें कि आपका रास्पबेरी पाई और लैपटॉप जिसमें आप ब्राउज़र खोल रहे हैं, उसी नेटवर्क से जुड़े हैं।
आपको ब्राउज़र में निम्न पृष्ठ दिखाई देगा।
अब, एलईडी को बंद करने के लिए एलईडी और एलईडी ऑफ बटन को चालू करने के लिए एलईडी ऑन बटन दबाएं।