क्या मुझे MQTT या HTTP का उपयोग करने की आवश्यकता है?


9

मैं एक ऐसे उपकरण पर काम कर रहा हूं जो तापमान, आर्द्रता आदि जैसे पर्यावरण से जानकारी लेता है और एकत्रित करता है।

डिवाइस किसी भी शक्ति स्रोत से जुड़ा नहीं है, लेकिन इसमें चार्ज करने के लिए एक बैटरी और एक सौर पैनल है।

यह लगभग अधिकांश समय गहरी नींद की स्थिति में होता है, और यह केवल तभी जागता है जब इसे डेटा को समझने और स्थानांतरित करने की आवश्यकता होती है। इस ऑपरेशन में लगभग 1-2 मिनट लगते हैं, और फिर यह फिर से सो जाता है।

मैं इस क्षेत्र का विशेषज्ञ नहीं हूं, लेकिन मुझे लगता है कि यदि किसी विषय से हर समय संदेश प्राप्त करने के लिए डिवाइस को एक्सेस करने की आवश्यकता होती है, तो MQTT एक अच्छा विकल्प होना चाहिए, लेकिन मेरे परिदृश्य में यह केवल सेंसर पढ़ता है, और कुछ को डेटा भेजता है समय-समय पर सर्वर।

वर्तमान में मैं HTTP के माध्यम से डेटा भेज रहा हूं, लेकिन मैं सोच रहा हूं कि क्या यह MQTT को लागू करने के लिए समझ में आता है? क्या मुझे इस परिदृश्य के लिए HTTP पर कोई लाभ मिलना चाहिए?


1
यह समान है, लेकिन मेरी बात यह समझने की है कि क्या मुझे अपने परिदृश्य में एमक्यूटीटी को लागू करने की आवश्यकता है: जब मेरा डिवाइस 99% गहरी नींद में होगा, और सिर्फ रीडिंग भेजने के लिए जाग रहा होगा।
zephrax

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

प्रश्न शीर्षक में आवश्यकता को पकड़ने के लिए अच्छा होगा, आम तौर पर, आप छोटे, अनूठे सेंसर मूल्यों के बारे में पूछ रहे हैं, मुझे लगता है।
शॉन हुलिएन

@Xofo मैं उस के आसपास एक जवाब देखने के लिए दिलचस्पी होगी, और आप एक कस्टम प्रोटोकॉल का उपयोग करने का सुझाव क्यों दे सकते हैं। क्या यह 'अपने खुद के रोल' के अतिरिक्त प्रयास के लायक है, साथ ही सुरक्षा के मुद्दे, आदि?
Aurora0001

कस्टम प्रोटोकॉल नहीं ... मैंने कहा कि पहले आवश्यकताओं को परिभाषित करें। निर्धारित किए गए कुछ प्रोटोकॉल अक्सर बहुत भारी होते हैं।
Xofo

जवाबों:


8

यदि आप डेटा स्टोर कर रहे हैं, तो बस HTTP से चिपके रहें। HTTP सिर्फ एक ही रास्ता संकेत है।

यदि आपके सर्वर या किसी अन्य "चीज़" को एक विशिष्ट सिग्नल (कम तापमान, ...) पर प्रतिक्रिया करनी चाहिए, तो MQTT का उपयोग करें। जैसे यह कई डिवाइस आपके तापमान सिग्नल की सदस्यता ले सकते हैं और आपके सर्वर का उपयोग किए बिना तुरंत प्रतिक्रिया कर सकते हैं।


1
इसके अलावा बड़े (http) और छोटे (mqtt) डेटा के बीच एक ही बार में विभाजन होता है और mqtt खराब सिग्नल स्थितियों पर अधिक विश्वसनीय होता है।
माइको

1
सर्वर केवल सेंसर से डेटा प्राप्त करता है। मेरी पोस्ट की बात, क्या मुझे यकीन नहीं है कि अगर एमक्यूटीटी का उपयोग करने का कोई मतलब है, क्योंकि डिवाइस गहरी नींद की स्थिति में 99% होगा (सभी बसों, मॉडेम, सेंसर बंद हो गए) और यह केवल सेंसर को पढ़ने और डेटा भेजने के लिए उठता है।
zephrax

यदि आप अपना डेटा कहीं स्टोर करते हैं, तो इसका मतलब है कि आपके पास एक डेटाबेस है और इसे क्वेरी करने के लिए एक बैकएंड तरीका है (अपाचे सर्वर, कमांड लाइन SQL, ...)। यदि आप इसके ऊपर एक MQTT लगाते हैं तो आपके पास प्रबंधन करने के लिए एक और उदाहरण और पोर्ट होगा।
गौफलाइट

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

8

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

इसलिए, आप CoAP , Co nstrained A pplication P रोटोकॉल पर विचार करना चाह सकते हैं , जो विशेष रूप से इंटरनेट ऑफ थिंग्स में विवश उपकरणों के लिए बनाया गया है।

वेब ऑफ़ थिंग्स एप्लिकेशनों में CoAP और HTTP की लागत-दक्षता की तुलना करने वाले पेपर में , आप कुछ आकर्षक सम्मोहक सबूत पा सकते हैं कि CoAP आपको यहाँ कुछ बिजली बचत करवा सकती है। परिशिष्ट A (पृष्ठ 38) में, आप तालिका A.4 में उपकरणों की अपेक्षित बैटरी जीवन पर एक नज़र डाल सकते हैं। 120 सेकंड के समय अंतराल के लिए, जैसा कि आप अपने उपयोग के मामले में उम्मीद कर रहे हैं:

टी बैट (HTTP), दिन - २०१३

t बैट (CoAP), दिन - 11013

उन गणनाओं को कार्बन-जस्ता एए बैटरी की एक जोड़ी पर चलाया गया था, लेकिन आप स्पष्ट रूप से देख सकते हैं कि सीओएपी बहुत कम शक्ति का उपयोग करता है, इसलिए यह विचार करने योग्य हो सकता है। इसका 'पुश मोड', जैसा कि पेपर में बताया गया है, बिल्कुल वैसा ही लगता है, जैसा आप करना चाहते हैं।

यद्यपि आपने विशेष रूप से CoAP के बारे में नहीं पूछा था, मुझे लगता है कि यह एक उल्लेख के लायक है, क्योंकि Goufalite ने पहले ही MQTT और HTTP के बीच आवश्यक अंतर को कवर किया है। अंगूठे का एक अच्छा नियम है: क्या आप एक-से-एक , या एक-से-कई संवाद करने की योजना बनाते हैं ? यदि यह पूर्व है, HTTP और CoAP बेहतर फिट की तरह लग रहे हैं। यदि यह बाद का है, तो MQTT शायद अधिक सुविधाजनक है।

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