
पैकेट रेडियो के लिए एक नया हल्का, हाइब्रिड रूटिंग मेश प्रोटोकॉल
## MeshCore के बारे में MeshCore एक हल्का, पोर्टेबल C++ लाइब्रेरी है जो LoRa और अन्य पैकेट रेडियो का उपयोग करने वाले एम्बेडेड प्रोजेक्ट्स के लिए मल्टी-हॉप पैकेट रूटिंग को सक्षम बनाती है। यह उन डेवलपर्स के लिए डिज़ाइन किया गया है जो इंटरनेट के बिना काम करने वाले लचीले, विकेंद्रीकृत संचार नेटवर्क बनाना चाहते हैं। ## 🔍 MeshCore क्या है? MeshCore अब कई LoRa डिवाइसों का समर्थन करता है, जिससे फर्मवेयर को मैन्युअल रूप से कंपाइल किए बिना आसानी से फ्लैश करना संभव हो जाता है। उपयोगकर्ता Adafruit ESPTool जैसे टूल्स का उपयोग करके पहले से बने बाइनरी को फ्लैश कर सकते हैं और सीरियल कंसोल के माध्यम से नेटवर्क के साथ इंटरैक्ट कर सकते हैं। MeshCore वायरलेस मेश नेटवर्क बनाने की क्षमता प्रदान करता है, जो Meshtastic और Reticulum के समान है, लेकिन एम्बेडेड प्रोजेक्ट्स के लिए हल्के मल्टी-हॉप पैकेट रूटिंग पर केंद्रित है। Meshtastic के विपरीत, जो सामान्य LoRa संचार के लिए तैयार किया गया है, या Reticulum, जो उन्नत नेटवर्किंग प्रदान करता है, MeshCore सरलता और स्केलेबिलिटी को संतुलित करता है, जिससे यह कस्टम एम्बेडेड समाधानों के लिए आदर्श बन जाता है, जहाँ डिवाइस (नोड्स) मध्यवर्ती नोड्स के माध्यम से संदेशों को रिले करके लंबी दूरी तक संचार कर सकते हैं। यह विशेष रूप से ऑफ-ग्रिड, आपातकालीन, या सामरिक स्थितियों में उपयोगी है जहाँ पारंपरिक संचार अवसंरचना उपलब्ध नहीं होती है। ## ⚡ मुख्य विशेषताएँ * मल्टी-हॉप पैकेट रूटिंग * डिवाइस कई नोड्स में संदेशों को अग्रेषित कर सकते हैं, जिससे रेंज एक रेडियो की पहुँच से आगे बढ़ जाती है। * नेटवर्क दक्षता को संतुलित करने और अत्यधिक ट्रैफ़िक को रोकने के लिए कॉन्फ़िगर करने योग्य संख्या तक हॉप्स का समर्थन करता है। * नोड्स निश्चित भूमिकाओं का उपयोग करते हैं जहाँ "Companion" नोड्स संदेशों को बिल्कुल भी रिपीट नहीं करते हैं ताकि प्रतिकूल रूटिंग पथों के उपयोग को रोका जा सके। * LoRa रेडियो का समर्थन करता है – Heltec, RAK Wireless, और अन्य LoRa-आधारित हार्डवेयर के साथ काम करता है। * विकेंद्रीकृत और लचीला – किसी केंद्रीय सर्वर या इंटरनेट की आवश्यकता नहीं; नेटवर्क स्व-उपचारात्मक है। * कम बिजली की खपत – बैटरी-चालित या सोलर-चालित डिवाइसों के लिए आदर्श। * तैनात करना आसान – पहले से बने उदाहरण एप्लिकेशन शुरू करना आसान बनाते हैं। ## 🎯 आप MeshCore का उपयोग किस लिए कर सकते हैं? * ऑफ-ग्रिड संचार: दूरदराज के क्षेत्रों में भी जुड़े रहें। * आपातकालीन प्रतिक्रिया और आपदा रिकवरी: जहाँ अवसंरचना ठप है वहाँ तत्काल नेटवर्क स्थापित करें। * बाहरी गतिविधियाँ: हाइकिंग, कैंपिंग, और एडवेंचर रेसिंग संचार। * सामरिक और सुरक्षा अनुप्रयोग: सैन्य, कानून प्रवर्तन, और निजी सुरक्षा उपयोग के मामले। * IoT और सेंसर नेटवर्क: दूरस्थ सेंसरों से डेटा एकत्र करें और इसे केंद्रीय स्थान पर रिले करें। ## 🚀 शुरुआत कैसे करें - The Comms Channel द्वारा [MeshCore QuickStart Playlist](https://www.youtube.com/watch?v=iaFltojJrAc&list=PLshzThxhw4O4WU_iZo3NmNZOv6KMrUuF9) देखें - Liam Cottle द्वारा [MeshCore Technical Presentation](https://www.youtube.com/watch?v=OwmkVkZQTf4) देखें। - हमारे [अक्सर पूछे जाने वाले प्रश्न](https://github.com/meshcore-dev/meshcore/blob/main/docs/faq.md) और [दस्तावेज़ीकरण](https://docs.meshcore.io) पढ़ें। - समर्थित डिवाइस पर MeshCore फर्मवेयर फ्लैश करें। - समर्थित क्लाइंट के साथ कनेक्ट करें। डेवलपर्स के लिए: - [Visual Studio Code](https://code.visualstudio.com) में [PlatformIO](https://docs.platformio.org) इंस्टॉल करें। - MeshCore रिपॉज़िटरी को क्लोन करें और Visual Studio Code में खोलें। - उदाहरण एप्लिकेशन देखें जिन्हें आप संशोधित और चला सकते हैं: - [Companion Radio](https://github.com/meshcore-dev/meshcore/blob/main/examples/companion_radio) - BLE, USB या Wi-Fi के माध्यम से बाहरी चैट ऐप के साथ उपयोग के लिए। - [KISS Modem](https://github.com/meshcore-dev/meshcore/blob/main/examples/kiss_modem) - होस्ट एप्लिकेशन के लिए सीरियल KISS प्रोटोकॉल ब्रिज। ([प्रोटोकॉल दस्तावेज़](https://github.com/meshcore-dev/meshcore/blob/main/docs/kiss_modem_protocol.md)) - [Simple Repeater](https://github.com/meshcore-dev/meshcore/blob/main/examples/simple_repeater) - संदेशों को रिले करके नेटवर्क कवरेज बढ़ाता है। - [Simple Room Server](https://github.com/meshcore-dev/meshcore/blob/main/examples/simple_room_server) - साझा Posts के लिए एक सरल BBS सर्वर। - [Simple Secure Chat](https://github.com/meshcore-dev/meshcore/blob/main/examples/simple_secure_chat) - डिवाइसों के बीच सुरक्षित टर्मिनल आधारित टेक्स्ट संचार। - [Simple Sensor](https://github.com/meshcore-dev/meshcore/blob/main/examples/simple_sensor) - टेलीमेट्री और अलर्टिंग के साथ दूरस्थ सेंसर नोड। Simple Secure Chat उदाहरण के साथ Visual Studio Code में Serial Monitor के माध्यम से, या Android पर Serial USB Terminal के साथ इंटरैक्ट किया जा सकता है। ## ⚡️ MeshCore Flasher हमारे पास समर्थित डिवाइसों पर फ्लैश करने के लिए तैयार फर्मवेयर है। - https://meshcore.io/flasher लॉन्च करें - एक समर्थित डिवाइस चुनें - फर्मवेयर प्रकारों में से एक फ्लैश करें: - Companion, Repeater या Room Server - फ्लैशिंग पूरी होने के बाद, आप नीचे दिए गए MeshCore क्लाइंट्स में से किसी एक के साथ कनेक्ट कर सकते हैं। ## 📱 MeshCore क्लाइंट्स **Companion Firmware** आपके द्वारा फ्लैश किए गए फर्मवेयर प्रकार के आधार पर companion फर्मवेयर से BLE, USB या Wi-Fi के माध्यम से कनेक्ट किया जा सकता है। - Web: https://app.meshcore.nz - Android: https://play.google.com/store/apps/details?id=com.liamcottle.meshcore.android - iOS: https://apps.apple.com/us/app/meshcore/id6742354151?platform=iphone - NodeJS: https://github.com/liamcottle/meshcore.js - Python: https://github.com/fdlamotte/meshcore-cli **Repeater और Room Server Firmware** repeater और room server फर्मवेयर को वेब कॉन्फ़िग टूल में USB के माध्यम से सेट किया जा सकता है। - https://config.meshcore.io इन्हें मोबाइल ऐप में Remote Management सुविधा का उपयोग करके LoRa के माध्यम से भी प्रबंधित किया जा सकता है। ## 🛠 हार्डवेयर संगतता MeshCore उन डिवाइसों के लिए डिज़ाइन किया गया है जो [MeshCore Flasher](https://meshcore.io/flasher) में सूचीबद्ध हैं ## 📜 लाइसेंस MeshCore MIT License के तहत जारी एक ओपन-सोर्स सॉफ़्टवेयर है। आप इसे व्यक्तिगत और व्यावसायिक परियोजनाओं के लिए स्वतंत्र रूप से उपयोग, संशोधित और वितरित कर सकते हैं। ## योगदान कृपया PR सबमिट करते समय 'dev' को बेस ब्रांच के रूप में उपयोग करें! छोटे बदलावों के लिए बस अपना PR सबमिट करें और हम इसकी समीक्षा करने का प्रयास करेंगे, लेकिन किसी भी अधिक 'प्रभावशाली' चीज़ के लिए कृपया पहले एक Issue खोलें और चर्चा शुरू करें। पहले यह समझना बेहतर है कि आप क्या हासिल करना चाहते हैं, और सर्वोत्तम दृष्टिकोण पर आम सहमति बनाने का प्रयास करें, विशेष रूप से जब यह इस कोडबेस की संरचना या आर्किटेक्चर को प्रभावित करता हो। यहाँ कुछ सामान्य सिद्धांत दिए गए हैं जिनका पालन करने का प्रयास आपको करना चाहिए: * इसे सरल रखें। कृपया, एक उच्च-स्तरीय भाषा प्रोग्रामर की तरह न सोचें। एम्बेडेड की तरह सोचें, और कोड को संक्षिप्त रखें, बिना किसी अनावश्यक परत के। * कोई डायनामिक मेमोरी आवंटन नहीं, सिवाय setup/begin फ़ंक्शन के दौरान। * वही ब्रेस और इंडेंटिंग शैली उपयोग करें जो कोर सोर्स मॉड्यूल में है। (जल्द ही एक .clang-format जोड़ा जाएगा, लेकिन कृपया मौजूदा कोड को पूर्वव्यापी रूप से पुनः फ़ॉर्मेट न करें। यह अनावश्यक diffs बनाता है जो समस्याओं को खोजना कठिन बनाते हैं) हमें प्राथमिकता देने में मदद करें! कृपया उन issues/PRs पर thumbs-up के साथ प्रतिक्रिया दें जिनकी आपको सबसे अधिक परवाह है। काम की योजना बनाते समय हम प्रतिक्रिया गणना को देखते हैं। ### यूनिट टेस्ट चलाना यूनिट टेस्ट चलाने के लिए, निम्नलिखित कमांड चलाएँ: ```bash pio test --environment native --verbose ``` ## रोड-मैप / टू-डू पाइपलाइन में कई काफी बड़ी सुविधाएँ हैं, जिनके साथ अभी कोई विशेष समय-सीमा संलग्न नहीं है। बहुत मोटे तौर पर कालानुक्रमिक क्रम में: - [X] Companion radio: UI redesign - [X] Repeater + Room Server: add ACL's (like Sensor Node has) - [X] Standardise Bridge mode for repeaters - [ ] Repeater/Bridge: Standardise the Transport Codes for zoning/filtering - [X] Core + Repeater: enhanced zero-hop neighbour discovery - [ ] Core: round-trip manual path support - [ ] Companion + Apps: support for multiple sub-meshes (and 'off-grid' client repeat mode) - [ ] Core + Apps: support for LZW message compression - [ ] Core: dynamic CR (Coding Rate) for weak vs strong hops - [ ] Core: new framework for hosting multiple virtual nodes on one physical device - [ ] V2 protocol spec: discussion and consensus around V2 packet protocol, including path hashes, new encryption specs, etc ## 📞 सहायता प्राप्त करें - [GitHub Issues](https://github.com/meshcore-dev/meshcore/issues) पेज पर बग रिपोर्ट करें और सुविधाओं का अनुरोध करें। - [मेरी साइट](https://buymeacoffee.com/ripplebiz) पर अतिरिक्त गाइड और घटक खोजें। - डेवलपर्स के साथ चैट करने और समुदाय से सहायता प्राप्त करने के लिए [MeshCore Discord](https://meshcore.gg) से जुड़ें।