विषयसूची:

टिक स्टैक और नोकैन प्लेटफॉर्म के साथ ईसी/पीएच/ओआरपी डेटा स्टोर और ग्राफ करें: 8 कदम
टिक स्टैक और नोकैन प्लेटफॉर्म के साथ ईसी/पीएच/ओआरपी डेटा स्टोर और ग्राफ करें: 8 कदम

वीडियो: टिक स्टैक और नोकैन प्लेटफॉर्म के साथ ईसी/पीएच/ओआरपी डेटा स्टोर और ग्राफ करें: 8 कदम

वीडियो: टिक स्टैक और नोकैन प्लेटफॉर्म के साथ ईसी/पीएच/ओआरपी डेटा स्टोर और ग्राफ करें: 8 कदम
वीडियो: अल्लाह का ख़ौफ़ और वैश्या औरत😭🙏🏻 #emotional #inspiration #motivation 2024, नवंबर
Anonim
टिक स्टैक और नोकैन प्लेटफॉर्म के साथ ईसी/पीएच/ओआरपी डेटा स्टोर और ग्राफ करें
टिक स्टैक और नोकैन प्लेटफॉर्म के साथ ईसी/पीएच/ओआरपी डेटा स्टोर और ग्राफ करें

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

NoCAN प्लेटफॉर्म रास्पबेरी पाई का उपयोग करता है, इसलिए जो कुछ भी कर सकता है वह उपलब्ध होगा। हम टिक स्टैक स्थापित करके इसका लाभ उठाने जा रहे हैं। यह हमें माप को संग्रहीत करने के लिए InfluxDB का उपयोग करने देगा। यह इस तरह की चीज़ के लिए बनाया गया एक समय-आधारित डेटाबेस है। यह डैशबोर्ड बनाने और हमारे द्वारा लिए जा रहे सभी डेटा को प्रदर्शित करने के लिए क्रोनोग्राफ के साथ भी आता है। T और K का मतलब टेलीग्राफ और कैपेसिटर है। टेलीग्राफ आपके द्वारा भेजे जा रहे डेटा और इन्फ्लक्स डेटाबेस के बीच बैठता है। कैपेसिटर इवेंट इंजन है। जब कुछ होता है, तो यह आपको विभिन्न तरीकों से एक सूचना भेज सकता है। और, सिर्फ इसलिए कि मैं इसे क्रोनोग्राफ से बेहतर पसंद करता हूं, मैं डैशबोर्ड के लिए ग्राफाना स्थापित करूंगा।

चरण 1: रास्पबेरी पाई तैयार करना

रासबियन डाउनलोड पेज पर जाएं और डेस्कटॉप और अनुशंसित सॉफ्टवेयर के साथ छवि डाउनलोड करें, फिर इसे एसडी कार्ड पर फ्लैश करें।

छवि आपके एसडी कार्ड पर होने के बाद, आपके पास दो वॉल्यूम, रूट और बूट होना चाहिए। बूट में एक टर्मिनल खोलें और टाइप करें:

स्पर्श ssh

वह SSH को सक्षम करेगा।

फिर टाइप करें:

नैनो wpa_supplicant.conf

और अपनी काउंटी और वाईफाई सेटिंग्स के लिए इसे संशोधित करने के बाद निम्नलिखित को कॉपी/पेस्ट करें:

देश = यूएस

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="NETWORK-NAME" psk="NETWORK-PASSWORD" }

देश कोड यहाँ से आते हैं।

एसपीआई सक्षम करें:

इको "dtparam=spi=on" >> config.txt

अपने रास्पबेरी पाई में एसडी कार्ड डालें, थोड़ा इंतजार करें और टाइप करें:

ssh [email protected]

आपको लॉगिन प्रॉम्प्ट पर होना चाहिए। पासवर्ड रास्पबेरी है।

चरण 2: NoCAN सेट करना

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

मैंने सीखा है कि एक अच्छी बैश स्क्रिप्ट बनाने में जितना अधिक विकास समय लग सकता है, उतना ही जो आप वास्तव में स्थापित करने की कोशिश कर रहे हैं। कुछ करने के 1000 तरीके हैं, दूसरों की तुलना में समझने या निष्पादित करने के लिए कुछ आसान। अंत में, मैंने वास्तव में बहुत कुछ नहीं किया। यदि आप निष्पादित करते हैं:

wget https://ufire.co/nocan.sh && chmod +x nocan.sh && sudo./nocan.sh

आपके रास्पबेरी पाई के टर्मिनल में, यह स्क्रिप्ट को डाउनलोड और निष्पादित करेगा।

तो यह:

  1. Omzlo NoCAN डेमॉन को डाउनलोड करता है और आसान पहुंच के लिए इसे /usr/bin में स्थापित करता है, एक ~/.nocand फ़ोल्डर बनाता है और 'पासवर्ड' पर सेट पासवर्ड के साथ एक बहुत ही बुनियादी कॉन्फ़िगरेशन फ़ाइल लिखता है। आपको शायद इसे किसी और चीज़ में बदलना चाहिए, यह ~/.nocand/config पर है।
  2. Omzlo NoCAN क्लाइंट को डाउनलोड करता है और इसे /usr/bin में कॉपी करता है और उसी पासवर्ड सेट के साथ एक बेसिक कॉन्फिगरेशन फाइल बनाता है। यह ~/.nocanc.conf पर है।
  3. एक Systemd सेवा सेट करता है जो NoCAN डेमॉन को चालू रखता है।
  4. ~/.nocand, nocan_ufire.py पर एक अजगर फ़ाइल लिखता है। यह NoCAN नोड के फर्मवेयर से बात करेगा और EC, pH और ORP माप लेगा, परिणामों को पार्स करेगा और उन्हें InfluxDB डेटाबेस में जोड़ देगा।
  5. InfluxData के रेपो को उपयुक्त में जोड़ता है और TICK स्टैक को स्थापित करता है। और चूंकि मैं इसे क्रोनोग्राफ पर पसंद करता हूं, इसलिए यह ग्राफाना को भी स्थापित करता है।
  6. एक खाली इन्फ्लक्स डेटाबेस बनाता है

कुछ गठजोड़ आप में भाग सकते हैं:

  • हो सकता है कि आपका लोकेल सेटअप न हो, इसलिए dpkg-reconfigure locales चलाएँ
  • Grafana इंस्टाल हैंग हो सकता है, इसलिए बस पुनः प्रयास करें।
  • स्क्रिप्ट को डेटाबेस जोड़ने के लिए इनफ्लक्स डेमॉन को समय पर शुरू नहीं किया जा सकता है, टाइप करें

    कर्ल-आई-एक्सपोस्ट https://localhost:8086/query --data-urlencode "q=CREATE DATABASE nocan"

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

आखिरी चीज क्रॉन जॉब जोड़ना है। मुझे इसे स्क्रिप्ट करने का एक बहुत अच्छा तरीका नहीं मिला, इसलिए मैन्युअल रूप से संपादित करने के लिए 'crontab -e' टाइप करें और '* * * * * python /home/pi/.nocand/nocan_ufire.py' जोड़ें।

एक बार यह सब हो जाने के बाद, आप सत्यापित कर सकते हैं कि सब कुछ सेटअप है और जैसा होना चाहिए वैसा ही चल रहा है। ग्राफाना https://[रास्पबेरी पाई का पता]: 3000/ पर रहता है। आपको एक लॉगिन पृष्ठ देखना चाहिए, व्यवस्थापक/व्यवस्थापक डिफ़ॉल्ट है।

क्रोनोग्राफ https://[रास्पबेरी पाई का पता]:8888/ पर पाया जा सकता है

चरण 3: UFire हार्डवेयर को एक साथ रखना

UFire हार्डवेयर को एक साथ रखना
UFire हार्डवेयर को एक साथ रखना

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

अब जब पता बदल गया है, तो हार्डवेयर को एक साथ रखना आसान है। यह सेटअप मूल रूप से एक ही काम करने वाले पहले के काम पर आधारित है लेकिन डेटा संचारित करने के लिए CAN के बजाय BLE का उपयोग कर रहा है। आप इसके बारे में Arduino Project Hub पर पढ़ सकते हैं। सभी सेंसर डिवाइस Qwiic कनेक्ट सिस्टम का उपयोग करते हैं, इसलिए बस एक श्रृंखला में सब कुछ एक साथ कनेक्ट करें, Qwiic को Qwiic तारों में सम्मिलित करने का केवल एक ही तरीका है। किसी एक सेंसर को CANZERO नोड से जोड़ने के लिए आपको एक Qwiic से Male तार की आवश्यकता होगी। तार सुसंगत और रंग कोडित हैं। काले को नोड के GND से, लाल को +3.3V या +5V पिन से, नीले को SDA पिन से जो कि D11 है, और पीले को D12 पर SCL पिन से कनेक्ट करें।

इस परियोजना के लिए, यह तापमान की जानकारी ईसी सेंसर से आने की उम्मीद करेगा, इसलिए ईसी बोर्ड में तापमान सेंसर संलग्न करना सुनिश्चित करें। हालांकि सभी बोर्डों में तापमान मापने की क्षमता होती है। ईसी, पीएच और ओआरपी जांच को उपयुक्त सेंसर से जोड़ना न भूलें। वे आसानी से BNC कनेक्टर्स से जुड़ जाते हैं। यदि आपके पास एक बाड़ा है, तो यह सब अंदर रखना एक अच्छा विचार होगा, विशेष रूप से पानी को शामिल करने पर विचार करना।

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

नोकैन हार्डवेयर
नोकैन हार्डवेयर

NoCAN हार्डवेयर को असेंबल करना भी आसान है। PiMaster को रास्पबेरी पाई से जोड़ें और इसके लिए उपयुक्त बिजली की आपूर्ति खोजें।

अपने प्रोजेक्ट के लिए केबल बनाने के बारे में ओम्ज़लो के निर्देशों का पालन करें।

अपने नोड को तैनात करें और PiMaster के लिए जगह खोजें।

चरण 5: CANZERO नोड को प्रोग्राम करें

CANZERO नोड प्रोग्राम करें
CANZERO नोड प्रोग्राम करें

इस सेटअप के बारे में महान चीजों में से एक यह है कि आप नोड्स को तैनात करने के बाद भी एक्सेस कर सकते हैं। उन्हें CAN वायर पर प्रोग्राम किया जाता है, इसलिए आप जब चाहें उन्हें फिर से प्रोग्राम कर सकते हैं।

उसके लिए, आपको Arduino IDE स्थापित, आपके नेटवर्क पर PiMaster, और CAN बस से जुड़ा आपका नोड चाहिए। आपको अपने विकास कंप्यूटर पर स्थापित nocanc नामक प्रोग्राम की भी आवश्यकता होगी। यह सब ओम्ज़्लो के संस्थापन पृष्ठ पर वर्णित है।

GitHub पर जाएं और कोड को एक नए Arduino IDE स्केच में कॉपी करें। बोर्ड को Omzlo CANZERO में बदलें और 'पोर्ट' मेनू में नोड का चयन करें। फिर सामान्य की तरह अपलोड पर क्लिक करें। यदि सब कुछ योजना के अनुसार हुआ, तो आपके पास कुछ माप लेने के लिए एक प्रोग्राम नोड तैयार होना चाहिए।

चरण 6: यह सब एक साथ कैसे जुड़ता है?

यह सब एक साथ कैसे जुड़ता है?
यह सब एक साथ कैसे जुड़ता है?

अब जब सभी सॉफ़्टवेयर और हार्डवेयर सेट हो गए हैं, तो आइए इस बारे में बात करने के लिए कुछ समय दें कि यह सब वास्तव में कैसे काम करेगा। और मेरे GIMP कौशल का प्रदर्शन करें…

सारांश:

  1. CANZERO नोड PiMaster से जुड़ा है और कहीं तैनात है
  2. PiMaster पर हर मिनट एक क्रॉन जॉब चलाया जाता है। यह एक पायथन लिपि निष्पादित करेगा।
  3. पायथन लिपि नोड को एक माप या कोई अन्य कार्रवाई करने के लिए कहेगी।
  4. नोड निष्पादित करेगा कि आदेश क्या था और JSON प्रारूप में परिणाम लौटाएगा।
  5. पायथन लिपि उस परिणाम को प्राप्त करेगी, इसे पार्स करेगी, और इसके साथ एक इन्फ्लक्सडीबी अपडेट करेगी।

अंतिम चरण कुछ अच्छे दिखने वाले चार्ट में एकत्रित डेटा को देखना है।

चरण 7: क्रोनोग्राफ या ग्राफाना सेट करना

क्रोनोग्राफ या ग्राफाना सेट करना
क्रोनोग्राफ या ग्राफाना सेट करना

आखिरी काम क्रोनोग्राफ या ग्राफाना में कुछ चार्ट सेट करना है।

आपको डेटा स्रोत सेट करना होगा. InfluxDB के लिए डिफ़ॉल्ट ठीक हैं। इसका पता 'https://localhost:8086' है और इसमें कोई यूजरनेम या पासवर्ड नहीं है।

दोनों इस मायने में समान हैं कि उन्हें डैशबोर्ड में व्यवस्थित किया जाता है, जिसमें उनके अंदर कितने भी चार्ट होते हैं। दोनों में एक एक्सप्लोर क्षेत्र है जो आपको माप देखने और अंतःक्रियात्मक रूप से चार्ट बनाने की अनुमति देता है। याद रखें कि डेटाबेस का नाम 'नोकन' है और एक मान के साथ कई मापों में व्यवस्थित है।

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

चरण 8: कुछ सुधार

  • आप अपने रास्पबेरी पाई का होस्ट नाम अपने नेटवर्क पर इसे आसानी से एक्सेस करने के लिए सेट कर सकते हैं। आप इसे रास्पि-कॉन्फ़िगरेशन में कर सकते हैं। मैंने अपना नोकन में बदल दिया, इसलिए मैं इसे एक्सेस करने के लिए nocan.local पर जा सका (एंड्रॉइड पर काम नहीं करता)।
  • आप अपने रास्पबेरी पाई को अपने नेटवर्क के बाहर एक्सेस करने के लिए ngrok जैसा प्रोग्राम इंस्टॉल कर सकते हैं।
  • सूचनाएं प्रदान करने के लिए कपैसिटर द्वारा प्रदान की जाने वाली विधियों में से एक का उपयोग करें।
  • बेशक, अधिक सेंसर जोड़ें।

सिफारिश की: