मेरे रास्पबेरी पाई को वास्तविक समय में सीपीयू तापमान, सीपीयू लोड इत्यादि को इंगित करने वाले डायल के साथ एक वेबपेज की मेजबानी करने के लिए मुझे क्या करने की आवश्यकता है?


27

मैं यूनिक्स कमांड्स और स्क्रिप्टिंग के साथ अच्छा हूं, लेकिन मेरे पास लगभग कोई वेब अनुभव नहीं है। मेरे पास एक स्क्रिप्ट है जो मीट्रिक्स को पकड़ती है, जैसे कि सीपीयू लोड या सिस्टम टेम्प और हर 10 सेकंड में एक फाइल अपडेट करता है। मैं अपने iPad को मेरे रास्पबेरी पाई द्वारा होस्ट की गई स्थानीय वेबसाइट पर इंगित करना चाहूंगा, जिसमें इस डेटा का वास्तविक समय अद्यतन चित्रमय प्रतिनिधित्व है।

मैंने एक साधारण अपाचे वेब सर्वर स्थापित करने से पहले काम किया है, और मैं HTML और जावास्क्रिप्ट लिख सकता हूं। इसके अलावा, मैं खो गया हूं और मुझे सही दिशा में इशारा करने के लिए किसी की जरूरत है।


2
आपका प्रश्न थोड़ा व्यापक है। क्या आप कुछ त्वरित और गंदा समाधान चाहते हैं, या क्या आप एक न्यूनतम कार्यक्रम को कोड करना चाहते हैं जो कि छोटे लिनक्स एम्बेडेड सिस्टम पर भी फिट बैठता है?
बेसिल स्टारीनेविच

मैं शुरू में कुछ जल्दी और गंदे की तलाश में था, लेकिन अब नीचे बताए गए बहुत अच्छे उपकरणों की उपलब्धता से मुझे अधिक दिलचस्पी है।
jake9115

FYI करें वहाँ भी एक रास्पबेरी पाई स्टैक: raspberrypi.stackexchange.com
टोड विलकॉक्स

github.com/firehol/netdata को सेट करना बहुत आसान है। हालांकि यह एक पाई पर परीक्षण नहीं किया गया है
डेर Hochstapler

जवाबों:


30

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

वे उत्पन्न होते ही मैं अपने सभी अपडेट्स को InfluxDB में स्ट्रीम कर देता हूं। तब ग्राफाना उन्हें एक अच्छे दृश्य प्रारूप में प्रदर्शित करने के सभी चित्रमय कार्य करता है। मैंने अपने पुराने iPad के लिए अपनी छोटी स्क्रीन के साथ एक साधारण डैशबोर्ड डिज़ाइन किया है।

यह बहुत अधिक स्थापित और ओवरहेड की तरह ध्वनि करता है, लेकिन यह सुनिश्चित करता है कि यह सुंदर दिखे।

यहां छवि विवरण दर्ज करें


बहुत ही शांत। क्या आपके पास आपके ग्राफाना मॉनीटर का कोई स्क्रीनशॉट है? बस उत्सुक।
jake9115

हाँ। बहुत मतलब नहीं हो सकता है, यह एक चीजों का एक प्रकार का मैश है। मेरे कंप्यूटर पर तड़क, तो आकार नहीं के रूप में यह iPad पर दिखता है।
0xACE

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

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

1
@ 0xACE यह एक बहुत बुरा विचार के रूप में के रूप में अच्छी तरह से अनुरोध के साथ अपाचे सर्वर स्पैमिंग होने के लिए एक पीआई पर विचार कर रहा है। इसके अलावा, 10s का मतलब है कि वर्तमान में सेटअप करने वाले लोग चाहते हैं कि वे तेजी से कुछ करना चाहते हैं।
jdwolf

9

अपने रास्पबेरी पर एक हल्के और बहुत आसान वेब मॉनिटरिंग डैशबोर्ड को सेटअप (और विस्तारित) मॉनिटरिंग पेज के लिए आपको आरपीआई मॉनिटर मिला है ।

यह कुछ चूक के साथ आता है और कॉन्फ़िगरेशन ज्यादातर सरल पाठ फ़ाइलों के एक जोड़े को संपादित कर रहा है। मैंने DTH21 से आर्द्रता ग्राफ को जोड़ने के लिए इसे आसानी से कॉन्फ़िगर किया।

img_link img_link2


2
मैं योगदान की सराहना करता हूं; यह वास्तव में हल्का लगता है और शायद एक अच्छा रेखांकन पसंद है, जबकि मैं कुछ और समाधानों को यहाँ सेटअप करना सीखता हूँ। धन्यवाद!
जेक 9115

आपका स्वागत है। मैंने इसे घर पर लगभग 3 साल तक इस्तेमाल किया है। संबंधित प्रश्न देखें। Electronics.stackexchange.com/questions/236530/…
Rui F Ribeiro

6

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

एप्लिकेशन सर्वर पर आप किस लाइब्रेरी का उपयोग करते हैं यह इस बात पर निर्भर करता है कि आप किस वेब प्लेटफॉर्म का उपयोग करना चाहते हैं, लेकिन उदाहरण के लिए Node.js के लिए एक लोकप्रिय सॉकेट है।

क्लाइंट की तरफ आप इस तरह एक कनेक्शन स्थापित कर सकते हैं:

socket = new WebSocket("ws://website.net:8282");

socket.addEventListener('message', function (event) {
    var message = event.data;
    // Code to update site
});

मूल WebSocket लाइब्रेरी का उपयोग करके Node.js के साथ सर्वर साइड पर:

const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8282 });
wss.on('connection', function connection(ws) {
  dataOnUpdateEvent(function(event) {
    var data = event.getdata();
    var message = parseData(data);
    ws.send(message);
  });
});

1
विचार के लिए धन्यवाद। यह बहुत उपयोगी है, लेकिन बहुत सारे ग्राउंडवर्क की तरह दिखता है, जो समझ में आता है।
jake9115

2
@ jake9115 हेह आपका प्रश्न अच्छा लग रहा था कि आप इस आवेदन को स्वयं बनाने में रुचि रखते हैं।
jdwolf

2
सभी ईमानदारी से मैं वास्तव में इसे खुद को कोड करने का लक्ष्य बना रहा था, लेकिन यह ग्राफ्टाना इतना धीमा है कि मैं इस पर पहिया को फिर से स्थापित नहीं करना चाहता हूं। हालांकि धन्यवाद!
jake9115

4

आप Node-RED https://nodered.org पर भी देख सकते हैं। यह रास्पियन पर स्टॉक आता है

यहाँ मैंने एक डैशबोर्ड बनाया है यहाँ छवि विवरण दर्ज करें


मैं इस पर गौर करूँगा, योगदान के लिए धन्यवाद।
जेक 9115

1
मैं अपने सेटअप के साथ नोड-रेड का उपयोग करता हूं, लेकिन ऐतिहासिक डेटा केवल तभी तक मान्य है जब तक आपका उदाहरण चल रहा है। यही है, यदि आप पुनर्वितरित करते हैं (या शक्ति खो देते हैं) कोई भी ऐतिहासिक माप नहीं रखा जाता है, तो आपके चार्ट सभी कुछ भी नहीं से शुरू होते हैं। वह विशेषता है जिसने मुझे वास्तव में InfluxDB में लॉगिंग शुरू करने के लिए प्रेरित किया।
0xACE

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

हां, यह उदाहरण है कि मेरे पास आईओएस ऐप स्टोर पर एक ऐप से डेटा भी शामिल है (बॉय स्काउट्स के लिए अच्छा मोड़ है) जो स्टोर करता है वह Google फायर बेस में डेटा है। वह सबसे नीचे का नक्शा है। मैं डेटा बेस को फायर बेस से खींचने के लिए नोड रेड का उपयोग करता हूं और इसे फ्लक्स में धकेलता हूं, इसलिए यह सभी इन्फ्लक्स और ग्राफाना नहीं है।
0xACE

2

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


1

यदि आप C या C ++ में कोड करना चाहते हैं, तो आप अपने विशेष HTTP सर्वर (शायद डेटाबेस के लिए sqlite का उपयोग करके ) को कोड करने के लिए कुछ HTTP सर्वर लाइब्रेरी का उपयोग कर सकते हैं जैसे libonion या Wt । फिर आपको HTTP प्रोटोकॉल ( HTTP कुकीज़ और HTTP हेडर सहित ) और HTML5 को अच्छी तरह से समझ लेना चाहिए ।

आप Ajax और WebSocket तकनीकों का उपयोग करना चाह सकते हैं (WebSockets libonion & Wt द्वारा समर्थित हैं, Ajax क्लाइंट ब्राउज़र में चल रहे जावास्क्रिप्ट कोड द्वारा शुरू किए गए साधारण HTTP अनुरोध देता है)। आप ग्राफिक्स के लिए एचटीएमएल 5 कैनवास और / या एसवीजी का उपयोग कर सकते हैं । आपको कुछ HTML5 वेब फ्रेमवर्क उपयोगी मिल सकते हैं ; उनमें से अधिकांश जावास्क्रिप्ट, डोम, एचटीएमएल 5,… का उपयोग कर रहे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.