विषयसूची:

RPi-Zero IoT इवेंट इंडिकेटर / कलर लैंप: 6 कदम (चित्रों के साथ)
RPi-Zero IoT इवेंट इंडिकेटर / कलर लैंप: 6 कदम (चित्रों के साथ)

वीडियो: RPi-Zero IoT इवेंट इंडिकेटर / कलर लैंप: 6 कदम (चित्रों के साथ)

वीडियो: RPi-Zero IoT इवेंट इंडिकेटर / कलर लैंप: 6 कदम (चित्रों के साथ)
वीडियो: Mark West — Building a Smart Security Camera with Raspberry Pi Zero, Java and AWS 2024, जुलाई
Anonim
आरपीआई-जीरो आईओटी इवेंट इंडिकेटर / कलर लैंप
आरपीआई-जीरो आईओटी इवेंट इंडिकेटर / कलर लैंप
आरपीआई-जीरो आईओटी इवेंट इंडिकेटर / कलर लैंप
आरपीआई-जीरो आईओटी इवेंट इंडिकेटर / कलर लैंप
आरपीआई-जीरो आईओटी इवेंट इंडिकेटर / कलर लैंप
आरपीआई-जीरो आईओटी इवेंट इंडिकेटर / कलर लैंप

कोई अतिरिक्त माइक्रो-नियंत्रक नहीं, और कोई HAT ऐड-ऑन मॉड्यूल की आवश्यकता नहीं है। RPi-Zero यह सब करता है। बेहतर अभी तक RPi-Zero W का उपयोग करें!

नमूना उपयोग: वेब सेवा राज्य संकेतक (जैसे DowJonesIndex ट्रैकिंग), राजनीतिक या खेल घटना स्थिति संकेतक, मूड लाइट, एक सेंसर को ट्रैक करें, आप इसे नाम दें। चरण 6 में वीडियो देखें।

रास्पबेरी-पाई में केवल एक हार्डवेयर समर्थित पीडब्लूएम लाइन है। इस परियोजना को 3 पीडब्लूएम लाइनों की आवश्यकता है, इसलिए मैंने एक सॉफ्टवेयर संचालित पीडब्लूएम 'सी' लाइब्रेरी (https://wiringpi.com/reference/software-pwm-library/) का उपयोग किया, जिसे पहले से ही स्थापित किया जाना चाहिए।

मैंने प्रसंस्करण को 2 प्रक्रियाओं में तोड़ दिया। एक, इंटरप्ट संचालित, नियंत्रण लाइनों को आवश्यकतानुसार एलईडी पर स्विच करना, इसके 'स्टडिन' स्ट्रीम से इसके मार्चिंग ऑर्डर प्राप्त करना। दूसरा सॉकेट आईओ का उपयोग करने वाला एक ईवेंट संचालित नोडजेएस सर्वर है। यह प्रतिक्रिया सुनिश्चित करते हुए प्रकाश टिमटिमा जैसी चीजों को रोकने के लिए है। संयोजन आमतौर पर 5% से कम CPU का उपयोग करता है। निरंतर रंग अपडेट के समय (स्लाइडर्स और/या कई क्लाइंट के माध्यम से) यह आसानी से 50% से अधिक का उपयोग कर सकता है (विशेषकर जब पीआई-जीरो जीयूआई में ब्राउज़र का उपयोग कर रहा हो)। ध्यान दें कि जब कोई बदलाव आता है, तो सभी खुले सॉकेट क्लाइंट के लिए अपडेट नोटिफिकेशन निकल जाते हैं।

चरण 1: आपको क्या चाहिए

आपको किस चीज़ की ज़रूरत पड़ेगी
आपको किस चीज़ की ज़रूरत पड़ेगी
आपको किस चीज़ की ज़रूरत पड़ेगी
आपको किस चीज़ की ज़रूरत पड़ेगी
  • पाई-जीरो माइक्रो-एसडी कार्ड, 8 जीबी अनुशंसित। रास्पियन-लिनक्स या NOOBS. के साथ
  • आरजीबी एलईडी (मैंने इसका इस्तेमाल किया:
  • 3 प्रतिरोधक (वांछित करंट और/या वांछित चमक के आधार पर मूल्य, 1/8 वाट)
  • एक वाईफाई, यूएसबी डोंगल (जैसे https://www.ebay.com/itm/252018085448) या इससे भी बेहतर रास्पबेरी पाई जेड-डब्ल्यू (अंतर्निहित वाईफाई के साथ) का उपयोग करें
  • एक केस (उदाहरण के लिए छोटा वाला: https://www.ebay.com/itm/131583579374 अधिक स्थान के साथ:
  • एक विसारक (छवि में उदाहरण देखें)
  • आवश्यकतानुसार केबल और एडेप्टर।

वैकल्पिक रूप से, इस पर निर्भर करता है कि आप घटकों को कैसे कनेक्ट करना चाहते हैं

  • हेडर (https://www.ebay.com/itm/14186077616)
  • जंपर्स (https://www.ebay.com/itm/262235387520)
  • समकोण माइक्रो-यूएसबी एडाप्टर (ब्लू यूएसबी 2.0 ओटीजी आर)
  • मिनी यूएसबी हब, केवल सेटअप चरण के दौरान उपयोग किया जाता है

चरण 2: पाई-जीरो सेटअप, और विकास के लिए तैयारी

अपने PiZero को विकास के लिए तैयार करने के लिए इस प्रारंभिक सेटअप का पालन करें…https://www.raspberrypi.org/help/noobs-setup/

एक बार जब आपके पास NOOBS सेटअप वाला माइक्रोएसडी कार्ड हो तो:

माइक्रोएसडी कार्ड को प्लग इन करें। वाईफाई डोंगल, कीबोर्ड और माउस के साथ एक कम पावर यूएसबी हब संलग्न करें (आप वायरलेस माउस और/या कीबोर्ड का उपयोग कर सकते हैं, किसी भी तरह से, लेकिन संभावना नहीं है, हब को बाहरी पावर की आवश्यकता होती है)। मैंने एडेप्टर और एक हब का इस्तेमाल किया जो मेरे पास पहले से था।

अब एक मॉनिटर और एक माइक्रोयूएसबी पावर एडॉप्टर संलग्न करें और यह बूट हो जाएगा। रास्पियन, डेबियन लिनक्स को स्थापित करने के निर्देशों को जारी रखें और समाप्त करें, जैसा कि ऊपर नोब्स-सेटअप लिंक में देखा गया है।

इसके अतिरिक्त, मेरे पास एक संकल्प का बहुत कम था। इसलिए मैंने इन पंक्तियों को /boot/config.txt. में जोड़ा

अक्षम_ओवरस्कैन=1

hdmi_group=2 hdmi_mode=58

hdmi_mode=58 मेरे मॉनिटर के लिए काम करता है, आपको कुछ और चाहिए।

संदर्भ: मेक-रास्पबेरी-पाई-उपयोग-पूर्ण-रिज़ॉल्यूशन-मॉनिटर और

raspberrypi.org/documentation/configuration/config-txt.md

पाई-जीरो को बूट करने के बाद जीयूआई इंटरफेस में चला जाता है।

अपने माइक्रोएसडी कार्ड के पूर्ण आकार का उपयोग करने के लिए मैंने रास्पि-कॉन्फिग # 1 'फाइल सिस्टम का विस्तार करें' चयन का उपयोग किया। कमांड लाइन से, टर्मिनल विंडो में, 'सुडो रास्पि-कॉन्फिग' दर्ज करें। -config.md

इसके अलावा, मैंने इन सेटिंग्स को #5 'अंतर्राष्ट्रीयकरण विकल्प' के तहत बदल दिया है।

  • स्थान: en_US. UTF-8 UTF-8
  • समय क्षेत्र: अमेरिका … लॉस_एंजेल्स
  • कीबोर्ड लेआउट: सामान्य 105-कुंजी (इंटेल) पीसी … अंग्रेज़ी (यूएस)

मेरे लिए ग्रेट ब्रिटेन कीबोर्ड मानक (जिसके लिए रास्पियन प्री-सेट आता है) मेरे अधिकांश संपादनों को एक वास्तविक घर का काम बना रहा था।

आपके लिए उचित रूप से इन सेटिंग्स को आवश्यकतानुसार बदलें। ध्यान दें कि 'रास्पि-कॉन्फ़िगरेशन' में नेविगेट करने के लिए आपको तीर कुंजियों और टैब कुंजी का उपयोग करने की आवश्यकता है; और चयन के बाद प्रतिक्रिया देना बहुत धीमा हो सकता है।

मैंने पाया कि वाईफाई-यूएसबी डोंगल के साथ इंटरनेट से कनेक्ट करने में कोई समस्या नहीं है (मैंने 2 अलग-अलग इस्तेमाल किए)। मुझे बस GUI के ऊपरी दाएँ भाग में एक पुल-डाउन का उपयोग करके अपना वाईफाई एक्सेस की-पासवर्ड दर्ज करना था। एक बार जब मैंने ऐसा किया तो यह किसी भी रीबूट/पावर-अप के बाद स्वचालित रूप से कनेक्ट हो जाएगा।

अब मैं सामान्य विकास के लिए तैयार था।

इस मुकाम तक पहुंचने के लिए आप कई रास्ते अपना सकते हैं। इस बिंदु तक, मैंने यहां बहुत अधिक विवरण नहीं दिया है, लेकिन वेब पर अधिक विस्तार से वर्णित कई विधियां और कॉन्फ़िगरेशन हैं। हेडलेस सेटअप के लिए एक सहित, जहां आप इस निर्देश में दिए जाने वाले विकास चरणों को करने के लिए अपने पर्सनल कंप्यूटर पर रिमोट एसएसएच टर्मिनल विंडो का उपयोग करेंगे।

चरण 3: विकास पर्यावरण और उपकरण

विकास पर्यावरण और उपकरण
विकास पर्यावरण और उपकरण
विकास पर्यावरण और उपकरण
विकास पर्यावरण और उपकरण

सिस्टम कॉन्फ़िगरेशन सेटअप और सॉफ़्टवेयर के लिए मैंने प्रोजेक्ट के लिए विकसित किया, मैंने रास्पबेरी पाई -2 पर आर एंड डी किया; क्योंकि इसमें एक क्वाड-कोर सीपीयू है जो कई विंडो के साथ अपने ब्राउज़िंग और कोड विकास को बहुत तेज करता है। बेशक, आप इस परियोजना को साकार करने के लिए किसी भी मॉडल रास्पबेरी-पाई का उपयोग कर सकते हैं।

Node.js (इवेंट-संचालित I/O सर्वर-साइड जावास्क्रिप्टिंग सपोर्ट) सेटअप करने के लिए मैंने निम्नलिखित किया…

सुडो एपीटी-अपडेट प्राप्त करें

sudo apt- नोडज npm. स्थापित करें

इन नोडजेएस पैकेजों को जोड़ना (एनपीएम नोडज पैकेज मैनेजर है)

एनपीएम एक्सप्रेस स्थापित करें

npm सॉकेट स्थापित करें

संदर्भ:https://nodejs.org/en/

www.npmjs.com/package/express तेज, न्यूनतम वेब ढांचा

www.npmjs.com/package/socket.io Socket. IO रीयल-टाइम द्विदिश घटना-आधारित संचार को सक्षम बनाता है

चरण 4: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

उपयोग किए गए प्रतिरोधी मान सभी अलग हैं, क्योंकि वोल्टेज ड्रॉप और दक्षता सभी तीन एलईडी रंग खंडों के लिए भिन्न होती है। GPIO उच्च आउटपुट स्तर लगभग 3.2 वोल्ट थे। प्रत्येक एलईडी खंड का परीक्षण यह सुनिश्चित करने के लिए किया गया था कि यह अधिकतम 20ma से कम और लगभग 40ma सभी एक साथ (<50ma अधिकतम कुल अनुमत) की खपत करता है, जिसे PiZero आसानी से संभाल सकता है। मुझे उतना ही आउटपुट ब्राइटनेस मिला, जितना मैं सीधे एलईडी चला रहा था; जो मेरी जरूरतों के लिए काफी है। उच्च धाराओं को चलाने के लिए, अधिक उज्जवल आउटपुट के लिए, इंटरमीडिएट ड्राइव ट्रांजिस्टर का उपयोग एक सामान्य एनोड एलईडी के साथ किया जा सकता है, जिसका एनोड 5v लाइन से जुड़ा होता है। PS: जैसा कि मेरे विभिन्न सफेद स्तर थोड़े नीले रंग से बाहर आ रहे हैं, 24 ओम के बजाय 27 मेरे लिए बेहतर विकल्प होता।

ध्यान दें कि मैंने पुरुष पिन के साथ एक हेडर का उपयोग किया है, और एफ-एफ जंपर्स के साथ एलईडी पैरों से जुड़ा है। इसने समग्र ऊंचाई को नीचे रखा। मैंने प्रतिरोधों को कूदने वालों के बीच में मिला दिया। बिना सर्किट बोर्ड या सोल्डर-लेस बोर्ड का उपयोग करने के साथ-साथ वाईफाई डोंगल के लिए एक समकोण माइक्रो-यूएसबी से यूएसबी एडेप्टर के उपयोग ने अंतिम असेंबली को काफी कॉम्पैक्ट बना दिया।

एक डिफ्यूज़र के लिए, मैं एक पिंग-पोंग बॉल की सलाह देता हूं (आपके 5-8-10 मिमी एलईडी को सम्मिलित करने के लिए बस इतना बड़ा छेद ड्रिल करना आसान है)। या एक एलईडी लाइट बल्ब (एक जो प्लास्टिक विसारक का उपयोग करता है) के ऊपर से काट लें। इसके लिए एक लाइन को फाइन पॉइंट शार्प के साथ चिह्नित करें, जहां आप कट करना चाहते हैं, और पतले कट-ऑफ अटैचमेंट के साथ एक ड्रेमेल जैसे टूल का उपयोग करें। आप चाहें तो एक अच्छा छोटा कट कांच का जार या पीने का गिलास इस्तेमाल किया जा सकता है। एक बार जब आप एक विसारक पर बस जाते हैं, तो इसे मामले के शीर्ष पर चिपका दें।

प्रदर्शनों के लिए मैं केस के अंदर रखे एक छोटे ली पावर-बैंक का उपयोग करना पसंद करता हूं। यह इकाई पूरी तरह से वायरलेस अधिक प्रभावशाली लगती है। बेशक, उस कॉन्फ़िगरेशन में इसका सीमित संचालन समय होगा। सामान्य ऑपरेशन के लिए मैं बस एक माइक्रो-यूएसबी वॉल एडॉप्टर का उपयोग करता हूं।

चरण 5: परियोजना सॉफ्टवेयर

परियोजना सॉफ्टवेयर
परियोजना सॉफ्टवेयर

मैंने दो प्रोग्रामों का उपयोग किया, एक Node.js प्रक्रिया जो अपने स्टड डेटा स्ट्रीम के माध्यम से एक बच्चे की प्रक्रिया से बात कर रही है। ऐसा इसलिए है कि वे प्रत्येक वही कर सकते हैं जो वे सबसे अच्छा करते हैं और अपनी गति से स्वतंत्र प्रक्रियाओं के रूप में काम करते हैं।

यहाँ मैंने क्या किया है: लेकिन आपको ऐसा करने की ज़रूरत नहीं है, क्योंकि मैंने एक टार-गज़िप फ़ाइल प्रदान की है जिसमें परिणामी फ़ाइल-पेड़ है।

NodeJS सर्वर-साइड सेटअप:

सीडी ~

mkdir node_rgb cd node_rgb mkdir public

'index.html' और 'style.css' को '~/node_rgb/public' डाइरेक्टरी में डालें''rgbDriver.c' और 'rgb_main.js' को '~/node_rgb' डायरेक्टरी में डालें

सी प्रक्रिया 'आरजीबीड्राइवर' संकलित/निर्माण करें:

सीडी ~/नोड_आरजीबी

cc -o rgbDriver rgbDriver.c -lwiringPi -lpthread

तुल्यता को डाउनलोड और विस्तारित करना

अपने घर निर्देशिका (~ pi) में अपने Pi-Zero में node_rgb.tgz (नीचे) डाउनलोड करने के लिए आप निम्नलिखित ३ में से एक कर सकते हैं:

  1. अपने Pi-Zero के GUI में ब्राउज़र से डाउनलोड करें फ़ाइल को ~pi/
  2. आपसे जुड़ी एक टर्मिनल विंडो में Pi-Zero:cd ~piwget

    एमवी FZBF9BDIL6VBHKF.tgz rgb_node.tgz

  3. अपने डेस्कटॉप कंप्यूटर के ब्राउज़र से डाउनलोड करें। इसे पाई-जीरो पर ~pi निर्देशिका में कॉपी करने के लिए WinSCP का उपयोग करें

# 1 2 या 3 ऊपर प्रदर्शन करने के बाद …

सीडी ~

tar -xzvf node_rgb.tgz ट्री node_rgb … node_rgb ├── सार्वजनिक │ Dow_Jones_Index.html │ index.html └── style.css rgbDriver rgbDriver.c ├── rgb_main. जेएस start_rgb किल_आरजीबी track_dji

परिणामी निष्पादन योग्य (ऊपर से) 'rgbDriver' को Node.js इंटरफ़ेस प्रक्रिया से स्वतंत्र रूप से उपयोग किया जा सकता है।

यह सत्यापित करने के लिए कि यह ड्राइवर और हार्डवेयर काम कर रहे हैं, तीन मानों (0-255 के) के फ़ीड सेट, एक स्थान से अलग किए गए, ड्राइवर को। जैसे 'इको 255 0 0 |./rgbDriver' लाल रंग के लिए या 'echo 0 255 0 |./rgbDriver' हरे रंग के लिए। ध्यान दें कि "./" ओएस को वर्तमान निर्देशिका में हमारे प्रोग्राम 'आरजीबीड्राइवर' को खोजने के लिए कहता है। जब आप ड्राइवर को रोकने के लिए ^c (cntl-c) जारी करते हैं तो एलईडी चालू रह भी सकती है और नहीं भी। वैकल्पिक रूप से, आप इसके मूल्यों को अंतःक्रियात्मक रूप से खिला सकते हैं। कमांड लाइन से इन पंक्तियों को एक के बाद एक टाइप करने का प्रयास करें और एलईडी देखें।

./आरजीबीड्राइवर

0 255 0 100 0 100 255 255 0 …आदि… ^c

सुनिश्चित करें कि आपके पास इनमें से 2 प्रक्रियाएं समानांतर में नहीं चल रही हैं।

Node.js सर्वर सहित संपूर्ण सॉफ़्टवेयर एप्लिकेशन सूट लॉन्च करने के लिए इस कमांड का उपयोग करें:

सुडो नोड rgb_main.js

फिर जब आप Node.js सर्वर को बंद करना चाहते हैं तो cntl-c का उपयोग करें। इसके साथ लॉन्च करें

सुडो नोड rgb_main.js&

इसे बैक ग्राउंड में चलाने के लिए, लेकिन फिर आपको इसे रोकने के लिए 'सुडो किल -9 पिड' कमांड का उपयोग करना होगा। यदि यह आदेश आपको विदेशी लगता है, तो इन आदेशों के आउटपुट की समीक्षा करें: 'मैन किल' और 'मैन सुडो'।

अपने डेस्कटॉप, टैबलेट या फोन पर एक ब्राउज़र का उपयोग करें, जो आपके स्थानीय नेटवर्क से जुड़ा हो। https://raspberrypi:8080/ पर जाएं या यदि वह काम नहीं करता है तो डिवाइस के आईपी पते का उपयोग करें (cmd 'ifconfig' से प्राप्त) कुछ ऐसा 192.168.1.15 प्लस पोर्ट विनिर्देश: 8080 या यदि Pi-Zero's का उपयोग कर रहे हैं जीयूआई: लोकलहोस्ट: 8080 काम करेगा।

ऊपर आने वाले पेज पर RGB स्लाइडर्स को ऑपरेट करें और RGB-LED लैम्प को फॉलो करते हुए देखें।

अन्य सहायक आदेश ध्यान दें कि यदि आप एक समय में एक से अधिक 'rgbDriver' चलाते हैं तो आपको अप्रत्याशित व्यवहार मिलने की संभावना है। यदि आप rgb_main.js की दूसरी प्रति चलाने का प्रयास करते हैं तो यह त्रुटिपूर्ण हो जाएगा।

यह आदेश सभी संबंधित प्रक्रियाओं को सूचीबद्ध करेगा:

पीएस ऑक्स |ग्रेप आरजीबी

यह आदेश 'rgbDriver' बाल प्रक्रियाओं के साथ सभी नोडजेएस प्रक्रियाओं को मार देगा:

सुडो पीएस ऑक्स | ग्रेप नोड। * आरजीबी | awk '{प्रिंट "सुडो किल -9 " $2}' | श्री

स्टैंड अलोन ऑपरेशन

अपने पसंदीदा संपादक (जैसे नैनो ~/.bash_profile) का उपयोग करके पाई-ज़ीरो को Node.js सर्वर ऐप शुरू करने के लिए, निम्न पंक्तियों में टाइप करें और ~/.bash_profile में सहेजें

सीडी नोड_आरजीबी

सुडो नोड rgb_main.js और

टर्मिनल विंडो खोलते समय उपद्रव त्रुटि संदेश प्राप्त करने से बचने के लिए 'start_rgb' फ़ाइल में शेल स्क्रिप्ट की तरह सशर्त कोडिंग का उपयोग करें

जब Pi-Zero बिना कीबोर्ड, माउस या मॉनिटर के एम्बेडेड चल रहा हो; ग्राफिकल यूजर इंटरफेस कम से कम सीपीयू समय लेगा, क्योंकि कोई यूजर इंटरेक्शन नहीं होगा। मैं ऑटो GUI स्टार्ट-अप को अक्षम नहीं करता, क्योंकि इस मामले में Pi-Zero के पास आवश्यकता से अधिक संसाधन हैं; और मुझे भविष्य में किसी भी समय कुछ केबलों को जोड़ने और इसका उपयोग करने में सक्षम होना पसंद है। हालाँकि, यह आवश्यक नहीं है क्योंकि आप किसी भी आवश्यक रखरखाव के लिए दूरस्थ SSH टर्मिनल (जैसे PuTTY) का उपयोग कर सकते हैं।

इसे इवेंट मॉनिटर के रूप में उपयोग करना

मैंने डॉव जोन्स इंडेक्स में दैनिक परिवर्तन की निगरानी के लिए एक वेब पेज बनाया है। इसका स्रोत आपके स्वयं के पृष्ठ के लिए एक दिशानिर्देश के रूप में उपयोग किया जा सकता है जो कुछ वेब डेटा का उपयोग करता है और आपके पीआई-शून्य संकेतक को तदनुसार चलाता है। यह पृष्ठ अपना (json) डेटा Google वेब सेवा से प्राप्त करता है। वेब सेवाओं के कई रूप हैं, इसलिए आपको उस पर शोध करना होगा जिसका आप उपयोग करना चाहते हैं ताकि इसे एक्सेस करने के लिए जावास्क्रिप्ट कोड निर्धारित किया जा सके।

यदि आप अपने डिवाइस का उपयोग करना चाहते हैं, जैसा कि मैं करता हूं, एक समर्पित, स्टैंड-अलोन, डॉव इंडेक्स चेंज इंडिकेटर के रूप में इन पंक्तियों को ~/.bash_profile फ़ाइल के अंत में जोड़ें, या वांछित एसएसएच में और दूसरी कमांड लाइन जारी करें. यदि आप बाद में रिमोट कंट्रोल 'किल -9' का उपयोग करना चाहते हैं तो परिणामी एपिफेनी-ब्राउज़र प्रक्रिया।

सो जाओ 20

एपिफेनी-ब्राउज़र --डिस्प्ले=:0.0 लोकलहोस्ट:8080/Dow_Jones_Index.html &

सूचक 0 के मान के साथ हल्के भूरे रंग को रोशन करेगा। यह उच्च मूल्यों के साथ अधिक से अधिक हरा हो जाता है। यह लगभग २५० पर सबसे चमकीला शुद्ध हरा है। उच्चतर अभी तक मान पहले उथले फ्लैश का कारण बनते हैं, लगभग ५०० पर सबसे गहरे फ्लैश तक। नकारात्मक मूल्य (डॉव में दैनिक बूंदों) के लिए यह समान होता है, लेकिन लाल रंग में।

अद्यतन मई 2018

मैंने एक नया वेब पेज बनाया है (SolarStorm_devCon.html,.txt फ़ाइल के रूप में संलग्न है,.html फ़ाइल अपलोड नहीं होने के कारण) जो जियोमैग्नेटिक स्टॉर्म की जानकारी एकत्र करता है (जो एक विनाशकारी सीएमई, ईएमपी की भविष्यवाणी कर सकता है) और एक रंग प्रस्तुत करने के लिए इसका उपयोग करता है एक प्रकार का भू-तूफान 'DevCon' अनुक्रमणिका को प्रदर्शित करने वाला पैमाना। अंतरिक्ष के मौसम, संभवत: सोलर फ्लेयर्स या कोरोनल मास इजेक्शन (सीएमई) से उत्पन्न इलेक्ट्रोमैग्नेटिक पल्स (ईएमपी) के कारण आपदा की संभावना को दर्शाता है। इसका उपयोग ऐसे करें जैसे आपने "Dow_Jones_Index.html" का उपयोग किया होगा।

चरण 6: दूरस्थ वेब पेज नियंत्रण

Image
Image

इस बिंदु पर आप अपने IOT रंग लैंप को अपने स्थानीय नेटवर्क पर कहीं से भी नियंत्रित कर सकते हैं। इसे सार्वजनिक इंटरनेट पर कैसे दिखाना है, यह इस निर्देश का हिस्सा नहीं है। यदि आप अपने डिवाइस के लिए एक सार्वजनिक आईपी सेटअप करते हैं, तो आपको इसकी आवश्यकता होगी अपने पेज के जावास्क्रिप्ट में ओपन सॉकेट कमांड में उस आईपी का उपयोग करें (जैसे ~/node_rgb/public/index.html)

मैं डॉव जोन्स इंडेक्स में दिन के बदलाव के लिए अपने पीआई-जीरो आईओटी डिवाइस को रीयल-टाइम कलर इंडिकेटर के रूप में उपयोग करने की योजना बना रहा हूं। मैंने एक पेज बनाया जो ऐसा करता है, जो google.com/finance से json डेटा प्राप्त करता है। मैंने इस छोटे IOT डिवाइस के लिए व्यापक उपयोगों को प्रदर्शित करने के लिए कुछ वेब पेज बनाए। सार्वजनिक इंटरनेट पर अपना PiZero डालने के बजाय, मैं मेरे मौजूदा सार्वजनिक सामना करने वाले वेब सर्वर (वर्तमान में @ 71.84.135.81 उर्फ: https://raspi.ddns01.com/ जब मेरा मुफ़्त डायनामिक डोमेन नाम सर्वर चल रहा है) पर पृष्ठों की मेजबानी की, जो एक मूल संस्करण बी रास्पबेरी-पाई पर चल रहा है.

अपने दूरस्थ पृष्ठों पर कोड में मैंने 192.168.1.41:8080 पर सॉकेट कनेक्शन खोलेमैंने अपने पाई-जीरो के आईपी को 192.168.1.41 पर तय किया था। इसी तरह से करने के लिए हेडिंग के तहत सेटिंग-अप-रास्पबेरी-पाई-साथ-वाईफाई-और-ए-स्टेटिक-आईपी पर निर्देशों का पालन करें: स्टेटिक आईपी एड्रेस।, ये पृष्ठ, मेरी वेब साइट से खोले गए, आपके डिवाइस के साथ संचार करेंगे, क्योंकि कनेक्शन क्लाइंट की ओर से किया जाता है।

यहां वे पृष्ठ हैं जिनका उपयोग मैंने अपने पाई-जीरो आईओटी लाइटिंग डिवाइस का परीक्षण और संचालन करने के लिए किया था। यदि आप इन पृष्ठों (https://71.84.135.81/iot/rgbLamp/ उर्फ https://raspi.ddns01.com/iot/rgbLamp/ या उस पृष्ठ पर बनाए गए किसी भी पृष्ठ) को सामने लाते हैं, तो क्लाइंट-साइड जावास्क्रिप्ट अपनी बनाई IOT लाइट चलाएं (यह इस url "192.168.1.41:8080" पर चल रहा है) यदि आप चाहें तो उन पृष्ठों में से किसी के स्रोत की प्रतिलिपि बना सकते हैं और अपनी पसंद के अनुसार संशोधित कर सकते हैं।

पहले पेज से आप अपने डिवाइस को किसी भी रंग में सेट कर सकते हैं। एलईडी लैंप और वेब पेज में आपको दिखाई देने वाला रंग काफी अच्छी तरह से ट्रैक करेगा। उपयोग किए गए प्रतिरोधी मूल्यों को और अधिक सही मायने में मिलान करने के लिए उन्हें (साथ ही मॉनिटर) को ट्वीक किया जा सकता है। मैंने यह सुनिश्चित करने में बहुत कम समय बिताया कि वे मेल खाते हैं। जब भी कोई और रंग बदलता है तो यह पृष्ठ अपना रंग अपडेट कर देगा और सर्वर अद्यतन जानकारी संदेश भेजता है।

एक पृष्ठ एक साधारण बटन नियंत्रित ट्रैफिक लाइट है।

एक खेल प्रतियोगिता (जैसे फ़ुटबॉल, बास्केटबॉल, बेसबॉल), एक चुनाव को ट्रैक करने के लिए डिज़ाइन किया गया एक पृष्ठ है, या यहां तक कि फंड जुटाने या DEFCON अलर्ट स्तर शैली संकेतक के लिए अनुकूलित है। स्कोर (या प्रतिबद्ध चुनावी वोट) स्वचालित रूप से एक वेब सेवा से प्राप्त किए जा सकते हैं या किसी अन्य वेब पेज को स्क्रैप कर सकते हैं। मेरे पास मेरे Contest_demo पृष्ठ को चलाने वाली स्वचालित फ़ीड नहीं है। सही जानकारी वाला कोई व्यक्ति हाई पावर एलईडी फ्लड लाइट चलाने के लिए एक पावर ड्राइवर जोड़ सकता है और टीम के रंग के साथ एक कमरे (या स्पोर्ट्स बार) को स्नान कर सकता है जब वे आगे होते हैं। दुर्भाग्य से मुझे इस साल की सुपर-बाउल पार्टियों के लिए इस निर्देश के साथ बहुत देर हो चुकी है, लेकिन 2016 के चुनाव के लिए समय।

फिर मेरे द्वारा उपयोग किए जाने वाले पेज के समान एक पेज है जो मेरे डिवाइस को डॉव जोन्स ट्रैकिंग इंडिकेटर में बदलने के लिए उपयोग करेगा। स्लाइडर और बटन केवल प्रदर्शन उद्देश्यों के लिए डीजेआई डेमो पेज पर हैं। इस पृष्ठ के स्रोत में एक कोड है जिसे मैंने हरे-स्क्रीन से प्रेरित छवि को फिर से रंगने के लिए विकसित किया है; पर्याप्त टिप्पणियों के साथ कि आप इसे उपयोगी भी पा सकते हैं।

इन 4 पृष्ठों में से केवल पहला (Pi-Zero आधारित index.html पृष्ठ के साथ) सर्वर अपडेट संदेशों को सुनता है, और तदनुसार ताज़ा करें। बाकी सब केवल सर्वर को भेजते हैं।

सिफारिश की: