MQTT हमेशा जुड़ा और 4 जी डेटा लोड


10

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

अभी हमारे पास बहुत कम ग्राहक हैं और वे हमेशा ब्रोकर से जुड़े रहते हैं। मैं इस चर्चा से जानता हूं कि 1000+ इकाइयों तक बढ़ने पर भी कोई समस्या नहीं होगी।

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

जब कोई पैकेट प्रकाशित नहीं होता है तो क्या मैं यातायात को मान सकता हूं?

जवाबों:


6

MQTT कल्पना PINGREQ और PINGRESP पैकेटों के विवरणों को सूचीबद्ध करती है जो कि जीवित-जीवित लेनदेन करते हैं।

प्रत्येक आकार में सिर्फ 2 बाइट्स है इसलिए एक पूर्ण रखने वाली घटना कुल 4 बाइट्स का उपयोग करती है। चूंकि आप यह नियंत्रित कर सकते हैं कि प्रत्येक ग्राहक के लिए कितनी बार रखने के लिए-जिंदा पैकेट भेजे जाते हैं, इसलिए आपको यह जानने की जरूरत है कि कनेक्शन कितनी जल्दी समाप्त हो गया है, आपके पास पूर्ण नियंत्रण है कि कोई संदेश वास्तव में प्रकाशित नहीं होने पर कितना डेटा उपयोग किया जाता है।

यदि आप डेटा लोड को और भी कम करना चाहते हैं, तो आप 4 जी राउटर से पहले एक अलग ब्रोकर चला सकते हैं, जो 10 डिवाइसों को कनेक्ट करता है और फिर केंद्रीय ब्रोकर को दी जाती है। इससे ग्राहक के लिए 1 के बजाय 4-राऊटर के लिए जिंदा पैकेटों की संख्या घटकर 1 प्रति 4G हो जाएगी। इससे यह फायदा होता है कि यदि लिंक नीचे चला जाता है तो 10 स्थानीय डिवाइस एक-दूसरे के बीच संदेश भेजना जारी रख सकते हैं और जब अलग-अलग क्लाइंट्स नीचे जाते हैं तो आप ट्रैक किए गए संदेशों / अंतिम विल और टेस्टीमेंट संदेशों का उपयोग कर सकते हैं।


मध्यवर्ती ब्रोकर का उपयोग करना एक अच्छी सलाह है, यहां तक ​​कि मुझे डर है कि यह इस विशिष्ट मामले में फिट नहीं है। हालांकि, जानने के लिए उपयोगी!
मार्क

वैसे भी, मैं PINGREQ / RESP के व्यवहार को जानता था, लेकिन मुझे जो नहीं मिला वह यह है कि वे केवल ऐसे पैकेट हैं जिनका कोई वास्तविक गतिविधि नहीं है (यानी उपयोगकर्ता अनुप्रयोगों द्वारा शुरू किया गया)। मैं आपके उत्तर से यह अनुमान लगा सकता हूं, लेकिन डॉक्स स्पष्ट रूप से ऐसा नहीं लगता है।
मार्क

हर बार एक पैकेट प्राप्त होने पर जिंदा टाइमर को रीसेट कर दिया जाता है, मुझे यह याद नहीं रहता है कि यह कल्पना में मेरे सिर के ऊपर से कहा जाता है
hardillb

2
केवल यह बताना चाहता था कि एक स्थानीय ब्रोकर को पेश करने का सुझाव और भी अधिक समझ में आता है यदि हम प्रति संदेश 2 बाइट्स के बारे में बात नहीं कर रहे हैं, लेकिन टीसीपी / आईपी के कारण यह प्रति संदेश 42 बाइट्स की तरह अधिक है, इसलिए एक पिंग चक्र के लिए इसका 84।
xwoker

1
तथ्य यह है कि केवल पिंग पैकेट ही अगर कोई संदेश नहीं भेजे जा रहे हैं वाक्य इस तालिका के बाद के अनुसार लगाए गए भेजा बात कर रहे हैं @Mark: docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/...
hardillb
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.