
हमारे पास प्रत्येक पंक्ति में 16 खुले रैक के साथ 4 पंक्तियों में एक उपदेशात्मक क्षेत्र है।
एयर कंडीशनिंग योजना: गर्म-ठंडे गलियारे, बाहरी वाष्पीकरण वाले आंतरिक एयर कंडीशनर, प्रति पंक्ति 3 एयर कंडीशनर, यानी 6 एयर कंडीशनर प्रति कोल्ड कॉरिडोर।
उद्देश्य: कंडीशनर को विफल होने से रोकने की संभावना के साथ एक हर्मेटिक ज़ोन तापमान निगरानी प्रणाली का निर्माण करना।
इस समस्या को हल करने के लिए, 1-तार तापमान सेंसर और एक निगरानी प्रणाली Zabbix 2 के नेटवर्क का उपयोग करने का निर्णय लिया गया था।
हम 1-तार नेटवर्क को इकट्ठा करते हैं।1-तार नेटवर्क क्या है,
यहां पाया जा सकता
है ।
हमें चाहिए:
1. DS9490R 1-वायर नेटवर्क नियंत्रक
2. तापमान सेंसर DS18B20 , मात्रा में, गणना: 4 पंक्तियाँ * एक पंक्ति में 16 रैक * प्रति रैक (ठंड और गर्म गलियारे) में 2 सेंसर, यानी 128 सेंसर।

3. सेंसर की सुविधाजनक स्थापना के लिए, हमने
आरजे 45, आरजे 45, जैसे
एडेप्टर आरजे 45 का उपयोग किया
। 5e GCT11-8p8c , 128 टुकड़ों की मात्रा में भी

4. और प्रत्येक सेंसर के लिए, 2 पैच डोरियां, जो कि 128 * 2 = 256 है, पैच कॉर्ड की लंबाई सर्वर रैक की आधी चौड़ाई है
हम सेंसर को इकट्ठा करते हैं, एडेप्टर में किसी भी तीन तारों का चयन करते हैं, एडेप्टर में 3 छेद बनाते हैं, सेंसर को मिलाते हैं, और इसलिए 128 बार :)
एक थर्मल बंदूक से गोंद के साथ मिलाप की जगह को भरने की सिफारिश की जाती है, यह इस तरह से कुछ निकलता है:

यह अनुशंसा की जाती है कि आप तुरंत 1-तार नेटवर्क नियंत्रक से कनेक्ट करके और उससे जानकारी पढ़ने के द्वारा तुरंत ऑपरेशन के लिए सेंसर की जांच करें। सेंसर को नंबर देने की भी सिफारिश की गई है: 1 से 128 क्रमिक रूप से संख्याओं को चिपकाएं। 1-तार नेटवर्क के प्रारंभ को नीचे वर्णित किया जाएगा।
और इसलिए यह दिखता है कि क्या आप इसे एक रैक पर ठीक करते हैं।

चूंकि नियंत्रक में एक आरजे 11 कनेक्टर है, आरजे 45 नहीं, मैं एक शून्य सेंसर एडेप्टर बनाने की सलाह देता हूं, इसका सीरियल नंबर शून्य होगा, और रैक की संख्या 1 से शुरू होगी, जो अधिक परिचित है।
महत्वपूर्ण!
हमारे नेटवर्क की लंबाई लगभग 140 मीटर थी, क्योंकि सर्वर 2 पंक्तियों में था।
परीक्षण की प्रक्रिया में, यह पता चला कि यूएसबी पोर्ट पावर इतने लंबे नेटवर्क के लिए पर्याप्त नहीं है, नियंत्रक बस आधे नेटवर्क से परे सेंसर से पूछताछ नहीं कर सकता है, इसलिए मैं यूएसबी हब खरीदने की सलाह देता हूं, बाहरी शक्ति सुनिश्चित करें, और नियंत्रक को इससे कनेक्ट करें। हब को जोड़ने के बाद, सेंसर की मतदान दर में वृद्धि हुई, और त्रुटियों को नेटवर्क पर दिखाई देना बंद हो गया, सभी सेंसर पढ़े गए।
मैं नेटवर्क को दो खंडों में विभाजित नहीं कर सकता था, क्योंकि प्रोग्राम जो सेंसर से डेटा पढ़ता है वह समझ नहीं सका कि किस नियंत्रक के साथ काम करना है, कम से कम मैं इसे प्राप्त नहीं कर सका।
1-तार नेटवर्क का प्रारंभ और सेंसर मान प्राप्त करना।इसलिए, हम सॉफ़्टवेयर भाग को कॉन्फ़िगर करने के लिए आगे बढ़ते हैं।
जिस सर्वर पर 1-वायर नेटवर्क का USB नियंत्रक जुड़ा है, वह FreeBSD 9.1 चला रहा है, Zabbix 2.0.8 बंदरगाहों से स्थापित है।
DigiTemp सॉफ़्टवेयर का उपयोग सेंसर मान प्राप्त करने के लिए किया जाता है
।DigiTemp स्रोतों को डाउनलोड करें और संकलित करें, संकलित कार्यक्रम /usr/local/etc/digitemp/new/digitemp-3.6.0/ पर स्थित हैं
हमारे नियंत्रक के साथ काम करने के लिए, प्रोग्राम digitemp_DS2490 का उपयोग करें
# cd /usr/local/etc/digitemp/new/digitemp-3.6.0/
# ./digitemp_DS2490 -i
DigiTemp को रूट से चलाने की आवश्यकता है ताकि यह डिवाइस से डेटा पढ़ सके।
आपको प्रोग्राम को केवल इसकी निर्देशिका से चलाने की आवश्यकता है, क्योंकि नेटवर्क कॉन्फ़िगरेशन फ़ाइल वहां संग्रहीत है।
./digitemp_DS2490 -i
- निष्पादन का परिणाम कार्यक्रम के घर निर्देशिका में .digitemprc नाम के साथ एक 1-वायर नेटवर्क कॉन्फ़िगरेशन फ़ाइल होगी।
इस मामले में, डिजिटम्प 64-बिट सेंसर आईडी का उत्पादन करेगा, जिसे वह एक फाइल पर लिखेगा।
.Digitemprc उदाहरण
TTY USB
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 133
ROM 0 0x28 0x62 0xB5 0x19 0x03 0x00 0x00 0x61
ROM 1 0x28 0x29 0xD5 0x19 0x03 0x00 0x00 0xFD
ROM 2 0x28 0x59 0xDE 0x19 0x03 0x00 0x00 0x15
ROM 3 0x28 0xDA 0xD6 0x19 0x03 0x00 0x00 0x98
ROM 4 0x28 0xFD 0xBE 0x19 0x03 0x00 0x00 0x84
ROM 5 0x28 0xCB 0xE2 0x19 0x03 0x00 0x00 0x6F
महत्वपूर्ण
काउंटर नंबर ROM 0 0x28 0x62 0xB5 0x19 0x03 0x00 0x00 0x61, नेटवर्क पर इसका भौतिक रूप से अनुक्रमिक संख्या नहीं हो सकता है, यह संख्या नेटवर्क आरंभीकरण के दौरान प्राप्त हुई थी, अर्थात, जिसने पहले उत्तर दिया था कि फाइल को लिखा गया था।
इसलिए, सोल्डरिंग सेंसरों के चरण में और उन्हें जांचने के बाद, मैं सुझाव देता हूं कि आप तुरंत एक अनुक्रमिक नेटवर्क बनाते हैं। यही है, हम सेंसर लेते हैं, इसे मिलाप करते हैं, इसे तुरंत नियंत्रक से जोड़ा जाता है, लॉन्च किया गया ।/digitemp_DS2490 -i ने इसकी आईडी प्राप्त की, इसे एक्सेल टेबल पर कॉपी किया और साथ ही रॉम नंबर ... को टेबल क्रमिक रूप से जोड़ा।
उन्होंने सेंसर को काट दिया, उस पर एक सीरियल नंबर चिपका दिया, और इसे एक माला पर लटका दिया, इसे पैच कार्ड के साथ जोड़ दिया। मैं नियंत्रक से माला को जोड़ने और परीक्षण शुरू करने की अनुशंसा नहीं करता, सबसे पहले यह बहुत लंबा होगा, और दूसरी बात, उपरोक्त के प्रकाश में, इस तथ्य के कारण कि सेंसर से प्रतिक्रियाएं अनुक्रम में नहीं आती हैं, नए सेंसर की आईडी की खोज करना अधिक कठिन होगा।आपके द्वारा सभी सेंसरों का परीक्षण करने के बाद, माला को कंट्रोलर से कनेक्ट करें और चलाएँ
./digitemp_DS2490 -i
आपकी नेटवर्क कॉन्फ़िगरेशन फ़ाइल .digitemprc जेनरेट हो जाएगी
आपको प्रतिस्थापित करने की आवश्यकता है
ROM 0 0x28 0x62 0xB5 0x19 0x03 0x00 0x00 0x61
ROM 1 0x28 0x29 0xD5 0x19 0x03 0x00 0x00 0xFD
ROM 2 0x28 0x59 0xDE 0x19 0x03 0x00 0x00 0x15
ROM 3 0x28 0xDA 0xD6 0x19 0x03 0x00 0x00 0x98
ROM 4 0x28 0xFD 0xBE 0x19 0x03 0x00 0x00 0x84
उसी में से जो आपको एक्सेल फ़ाइल में उसी प्रारूप में मिला है।
परिणामी .digitemprc फ़ाइल को किसी अन्य फ़ोल्डर में सहेजें, क्योंकि यदि आप अचानक चलते हैं। /
./digitemp_DS2490 -i
फिर से, आपकी फ़ाइल अधिलेखित कर दी जाएगी, और फिर उच्च क्षमता के साथ भौतिक पता गलत होगा।
1-वायर नेटवर्क कॉन्फ़िगर किए जाने के बाद, आप सेंसर मान पढ़ सकते हैं, चला सकते हैं
./digitemp_DS2490 -q -a -r1 -n1
, प्रोग्राम सेंसर मान प्रदर्शित करता है।
जांचें कि नेटवर्क में सीरियल कनेक्शन सही है, उदाहरण के लिए, 5 सेंसर गर्म करें, और प्रोग्राम को चलाएं, तापमान 4 से बढ़ना चाहिए (क्योंकि नंबर 0 से जाता है)
चलो Zabbix की स्थापना के लिए आगे बढ़ते हैं ।
जिस सर्वर पर Zabbix को Zabbix में संस्थापित किया जाता है, उसे ZabbixServer कहा जाता है।
हम इसमें 129 डेटा एलिमेंट बनाते हैं, यानी डेटा एलिमेंट द्वारा प्रत्येक तापमान सेंसर के लिए।

हमारे लिए यह समझना महत्वपूर्ण है:
gmz.temp.t17 तत्व की कुंजी है, वे सेंसर मूल्य भेजने के लिए उपयोग किए जाते हैं
और आइटम का प्रकार "Zabbix ट्रैपर" होना चाहिए, क्योंकि मान zabbix_ender प्रोग्रामर के माध्यम से भेजे जाएंगे।
हम प्रत्येक 12 एयर कंडीशनर के लिए 12 अतिरिक्त डेटा तत्व भी बनाते हैं। सेंसर स्थित हैं ताकि 3 सेंसर एयर कंडीशनर के ठंडे हवा के आउटलेट के नीचे स्थित हों, इसलिए हम इन तीन सेंसर के औसत पर विचार करते हैं, फिर डेटा तत्व की गणना की जाएगी।

सूत्र पर ध्यान दें, अर्थात्, अंतिम प्राप्त सेंसर मान को जोड़ा जाता है और तीन से विभाजित किया जाता है।
हमने डेटा तत्व जोड़े जाने के बाद, हम Zabbix को वैल्यू डेटा भेज सकते हैं।
रूट उपयोगकर्ता के क्रॉस्टैब में, कार्य जोड़ें:
*/1 * * * * /usr/local/etc/digitemp/digitemp_cron.sh > /dev/null 2>&1
यही है, हम एक मिनट में एक बार स्क्रिप्ट digitemp_cron.sh चलाते हैं
cat /usr/local/etc/digitemp/digitemp_cron.sh
#!/usr/local/bin/bash
cd /usr/local/etc/digitemp/new/digitemp-3.6.0/
./digitemp_DS2490 -q -a -r1 -n1 -o"ZabbixServer gmz.temp.t%s %N %.2C" | /usr/local/bin/zabbix_sender -vv -z 127.0.0.1 -I 127.0.0.1 -T -i -
-o"ZabbixServer gmz.temp.t%s %N %.2C"
- यह पंक्ति डेटा आउटपुट स्वरूप को परिभाषित करती है।
महत्वपूर्ण!
ZabbixServer Zabbix सर्वर में Zabbix सर्वर के साथ होस्ट का नाम है।रन
./digitemp_DS2490 -q -a -r1 -n1 -o"ZabbixServer gmz.temp.t%s %N %.2C" | /usr/local/bin/zabbix_sender -vv -z 127.0.0.1 -I 127.0.0.1 -T -i -
./digitemp_DS2490 -q -a -r1 -n1 -o"ZabbixServer gmz.temp.t%s %N %.2C" | /usr/local/bin/zabbix_sender -vv -z 127.0.0.1 -I 127.0.0.1 -T -i -
zabbix_sender के परिणामस्वरूप, यह होना चाहिए कि सभी लाइनें भेजी और प्राप्त की जाएं:
सर्वर से जानकारी: "संसाधित 133 असफल 0 कुल 133 सेकंड में 0.000540 खर्च हुए"
भेजा: 133; छोड़ दिया: 0; कुल: 133यदि ऐसा है, तो आप ग्राफ़ और ट्रिगर जोड़ सकते हैं, और अलर्ट सेट कर सकते हैं।

