MeshCore
другият начин да изградим LoRa mesh мрежа без интернет

📡 MeshCore – другият начин да изградим LoRa mesh мрежа без интернет
Ако четете SHTF.BG от известно време, вероятно вече сте попадали на Meshtastic.
Говорили сме как с малки LoRa устройства можем да изпращаме текстови съобщения, позиции и данни на километри разстояние, без SIM карта, мобилен оператор и интернет.
И логично може да останете с впечатлението:
„Добре де, LoRa mesh комуникация = Meshtastic.“
Само че не.
😁
И точно тук се появява MeshCore.
И още от самото начало искам да уточня нещо, защото около тези две системи вече успяха да се появят достатъчно лагери, спорове и почти футболни агитки:
Това не е статия „защо MeshCore е по-добър от Meshtastic“.
Нито обратното.
Това са две различни системи, изградени с различна философия и различен подход към един сходен проблем:
Как да комуникираме, когато нормалната комуникационна инфраструктура липсва?
А на мен точно този въпрос ми е интересен.
Не кой проект ще „победи“.
Не кой има повече фенове във Facebook.
Не кой firmware е по-як.
А:
Ще стигне ли съобщението?
🔑 Какво всъщност е MeshCore?
MeshCore е open-source комуникационна система за multi-hop packet routing, разработена за LoRa и други packet radio устройства.
На човешки език:
📟 имаме малки радиоустройства;
📡 те могат да комуникират директно;
🔁 определени устройства могат да препредават пакетите;
🕸️ така изграждаме mesh мрежа;
🌐 и всичко това може да работи без интернет и мобилна мрежа.
Официалният проект определя MeshCore като lightweight и portable C++ библиотека за изграждане на устойчиви децентрализирани комуникационни мрежи.
Тук думата lightweight е важна.
MeshCore не се опитва да превърне LoRa в интернет.
И това всъщност е хубаво.
LoRa има ограничен bandwidth.
Ефирното време е ценно.
Следователно:
Колкото по-малко ненужни данни хвърляме във въздуха, толкова по-добре.
K.I.S.S. 😁
📻 Но първо – какво е LoRa?
Това е важно, защото MeshCore и LoRa не са едно и също нещо.
LoRa е радиотехнология.
MeshCore е система, която я използва.
Представете си го така:
LoRa = пътят.
MeshCore = правилата, по които автомобилите се движат по него.
LoRa е създадена за изпращане на сравнително малко количество данни на големи разстояния при ниска консумация на енергия.
Това означава, че е чудесна за:
📨 кратки текстови съобщения;
📍 координати;
🌡️ телеметрия;
🔋 отдалечени сензори;
📡 комуникация между малки устройства.
Но не очаквайте:
❌ YouTube;
❌ Netflix;
❌ видеоразговор;
❌ да изпратите 47 MB снимка на котката.
😂
Това не е целта.
🕸️ Какво означава Mesh?
Да приемем, че имаме:
Аз → Иван
и сме достатъчно близо един до друг.
Съобщението може да стигне директно.
Но ако Иван е прекалено далеч?
Между нас може да има друго устройство:
Аз → Repeater → Иван
А ако разстоянието е още по-голямо:
Аз → Repeater A → Repeater B → Иван
Това е multi-hop communication.
Съобщението преминава през междинни точки, докато стигне до получателя.
И така няколко сравнително малки LoRa устройства могат да образуват комуникационна инфраструктура върху значително по-голяма територия.
Без клетъчни кули.
Без SIM карти.
Без интернет.
🧠 И тук започва голямата разлика във философията
При MeshCore устройствата могат да имат различни роли.
И това е едно от първите неща, които трябва да разберете.
Защото не всяко устройство трябва да прави всичко.
Основните роли са:
Companion
Repeater
Room Server
Официалният MeshCore firmware се предлага именно в тези основни варианти.
И точно тук MeshCore започва да става много интересен.
📱 Companion – устройството, което носите
Companion е най-близкото до това, което нормалният потребител би нарекъл:
„моето радио“.
То е вашата идентичност в MeshCore мрежата.
Използвате го, за да:
💬 изпращате съобщения;
📥 получавате съобщения;
👥 комуникирате с други потребители;
📡 откривате nodes;
🗺️ работите с позиции и други функции според използвания клиент.
Companion firmware може да комуникира с външно приложение чрез Bluetooth, USB или Wi-Fi, в зависимост от устройството и firmware-а.
И тук идва нещо много важно.
Companion по принцип не е repeater.
Тоест всеки човек, който минава през квартала с LoRa устройство в джоба, не се превръща автоматично в част от постоянната инфраструктура за препредаване.
MeshCore разделя тези задачи.
📡 Repeater – гръбнакът на мрежата
Repeater-ът има друга работа.
Неговата задача е:
да препредава пакети и да разширява покритието.
Това вече е инфраструктура.
И ако ще изграждам такава мрежа, бих искал repeater-ите да бъдат поставени там, където има смисъл:
🏢 висок покрив;
⛰️ хълм;
🏡 висока къща;
📡 комуникационна точка;
☀️ соларно захранван външен node.
Идеята е проста.
Вместо да разчитаме всяко случайно устройство да препредава всичко, изграждаме предвидими точки, чиято работа е точно това.
MeshCore изрично използва фиксирани роли и Companion nodes не препредават съобщения като стандартни repeaters.
Това позволява мрежата да бъде планирана.
🗺️ Представете си София
Да кажем, че имаме няколко добре разположени repeater-а:
📡 Витоша
📡 Люлин
📡 Младост
📡 център
📡 някоя висока точка извън града
А потребителите носят Companion устройства.
Тогава вече не говорим просто за:
„Имам две LoRa джаджи и ще видим докъде ще стигнат.“
Говорим за:
комуникационна мрежа.
И това е съществената философска разлика.
🏠 А какво е Room Server?
Тук MeshCore става още по-интересен.
Room Server е нещо като малък off-grid bulletin board / BBS.
Помните форумите?
Е, някои от нас ги помним. 😂
Room Server може да съхранява споделени posts/съобщения, така че потребителите да могат да взаимодействат с тях през MeshCore мрежата. Самият официален проект го описва като прост BBS server за shared posts.
Това означава, че комуникацията вече не е задължително само:
Аз → Иван
а може да имаме общо място за информация.
Представете си например при бедствие:
СТЪРГЕЛ – ИНФОРМАЦИЯ
Пътят към София е проходим.
Вода има при…
Медицинска помощ има в…
Следващата доставка ще бъде…
И човек, който се включи по-късно, може да получи информацията от Room Server.
Това е много интересен preparedness сценарий.
🧩 Значи имаме три различни задачи
Това е най-лесният начин да го запомните:
📱 Companion → човекът
📡 Repeater → мрежата
🏠 Room Server → информацията
Това, разбира се, е опростено.
Но ако тепърва навлизате в MeshCore, точно така бих започнал.
🔐 А личните съобщения?
MeshCore поддържа secure direct messaging и използва криптографски механизми за комуникацията между nodes.
Тук обаче няма да навлизам в криптографската математика.
Защо?
Защото целта на тази статия е човекът, който вчера за първи път е чул думата MeshCore, да разбере системата, а не да го накараме да затвори страницата на третия параграф.
😁
Ще разгледаме сигурността отделно.
💬 Как всъщност пиша съобщение?
Най-често Companion устройството работи заедно с клиентско приложение.
Официалната MeshCore екосистема в момента предлага клиенти за web, Android и iOS, а съществуват и NodeJS/Python инструменти.
Тоест типичната конфигурация може да изглежда така:
Телефон
⬇️ Bluetooth
LoRa Companion
⬇️ LoRa
Repeater
⬇️ LoRa
Repeater
⬇️ LoRa
Companion на другия човек
И съобщението пристига.
Без мобилен оператор.
📟 А ако НЕ искам телефон?
Ето тук вече знаете защо толкова харесвам T-Deck.
😁
MeshCore може да се използва и върху standalone устройства.
И точно тук в историята влиза WADAMESH, за който вече писах отделно.
На T-Deck получавам:
⌨️ физическа клавиатура;
🖥️ дисплей;
📡 LoRa;
💬 Chat;
👥 Contacts;
🗺️ Maps;
📍 GPS;
📊 инструменти за наблюдение.
И телефонът става опция, а не задължителна част от системата.
Това вече много повече се доближава до моята идея за истински off-grid комуникатор.
🔧 Какъв хардуер ми трябва?
Добрата новина е, че MeshCore поддържа множество популярни LoRa устройства.
Официалният проект поддържа предварително компилирани firmware-и за съвместимия хардуер през своя Flasher, вместо задължително да компилирате всичко сами.
И тук има още нещо интересно.
Част от хардуера, който използваме за Meshtastic, може да се използва и за MeshCore.
Тоест не винаги трябва да купувате нова купчина джаджи само за да експериментирате.
На някои устройства можете просто да смените firmware-а.
А ако устройството ви поддържа Launcher…
Е, вече знаете защо написах цяла статия за него. 😁
🚀 MeshCore Quickstart – най-простият вариант
Ако искаме просто да разберем как работи системата, бих започнал с две съвместими устройства.
Флашваме ги като Companion.
Свързваме ги към клиентите.
Настройваме правилните радио параметри.
Откриваме другото устройство.
И изпращаме:
„Test.“
Ако пристигне:
🎉 Имаме първата си MeshCore комуникация.
После добавяме repeater.
И вече можем да започнем да виждаме защо MeshCore е направен така, както е направен.
🔥 И тук става интересно
Поставяме repeater на добра позиция.
Човек A не може директно да достигне човек B.
Но и двамата могат да достигнат repeater-а.
Получаваме:
A → 📡 → B
Добавяме още инфраструктура:
A → 📡 → 📡 → 📡 → B
Това е моментът, в който LoRa престава да бъде:
„Колко километра хваща тази джаджа?“
и започва да бъде:
„Как да проектирам мрежата?“
Това е много по-интересният въпрос.
🧠 Защо да не направим просто всички устройства repeaters?
Защото радиоефирът не е безкраен ресурс.
Всеки препредаден пакет използва airtime.
А LoRa е бавна технология.
Ако всяко устройство започне безразборно да повтаря всичко, с увеличаването на мрежата расте и количеството трафик.
MeshCore се опитва да контролира точно този проблем чрез архитектурата и routing подхода си, вместо всеки Companion автоматично да се държи като repeater.
И това е една от причините системата да е интересна за по-планирани мрежи.
⚖️ Значи MeshCore е по-добър от Meshtastic?
НЕ.
😂
Знаех си, че ще стигнем до този въпрос.
И тук ще бъда пределно ясен.
Meshtastic и MeshCore решават сходни проблеми по различен начин.
Meshtastic има огромна екосистема, зрели приложения и е много лесен начин няколко души просто да вземат устройства и да започнат да комуникират.
MeshCore има по-различна философия и ясно разделение между потребителските устройства и инфраструктурните роли.
И двете имат:
👍 силни страни;
👎 недостатъци;
🎯 сценарии, в които са чудесни;
🤷♂️ сценарии, в които бих избрал нещо друго.
Затова няма да превръщаме SHTF.BG в агитка на едната система.
🤦♂️ Защото комуникацията не е футболен отбор
Това го казвам съвсем умишлено.
По някаква необяснима балканска традиция и около тези технологии вече успяхме да направим:
нашите срещу вашите.
Meshtastic срещу MeshCore.
Кой е по-як.
Кой има повече nodes.
Кой кого е блокирал.
Кой на кого не разрешавал еди-какво си.
На мен това изобщо не ми е интересно.
😁
Ако съм в планината с група хора и Meshtastic решава проблема ми:
ползвам Meshtastic.
Ако искам да изградя по-структурирана инфраструктура с фиксирани repeaters и MeshCore ми върши по-добра работа:
ползвам MeshCore.
А ако трябва да комуникирам с човек на 800 метра и две PMR446 радиостанции решават проблема:
ползвам PMR.
Не вадя LoRa само защото е модерно.
🏕️ Къде виждам практическо приложение на MeshCore?
Ето тук вече става интересно за SHTF.BG.
Представете си:
🏡 село или малка общност
Няколко добре поставени repeaters и Companion устройства в домовете.
⛰️ планински район
Repeater на подходяща висока точка и комуникация между групи в различни райони.
🚑 бедствие
Временно изградена комуникационна инфраструктура там, където GSM мрежата е претоварена или липсва.
🏕️ лагер
Организатори, медицински екип и логистика могат да обменят кратки текстови съобщения и позиции.
🏠 семейна preparedness мрежа
Дом.
Вила.
Автомобил.
Роднини.
Предварително изградена комуникационна схема.
☀️ А repeaters могат да бъдат автономни
Тук вече започват проектите, които лично на мен са ми много интересни.
LoRa устройствата могат да бъдат изключително икономични.
Следователно можем да мислим за:
📡 LoRa node
🔋 батерия
☀️ соларен панел
📦 водоустойчива кутия
📶 добра антена
и получаваме автономна комуникационна точка.
Не за три часа.
А потенциално за продължителна работа, ако системата е правилно проектирана.
И точно такива проекти ще правим.
⚠️ LoRa не е магия
Това ще го повтарям във всяка статия.
😁
Купуването на LoRa устройство не ви гарантира 20, 50 или 100 километра връзка.
Обхватът зависи от:
📡 антената;
⛰️ релефа;
🏢 сградите;
🌲 растителността;
📍 височината;
⚙️ радио настройките;
📡 разположението на repeaters;
🔊 шума в ефира.
Две устройства на върхове могат да направят невероятна връзка.
Същите две устройства между два бетонни блока могат да ви разочароват.
Физиката продължава да работи.
Дори когато маркетингът твърди друго. 😁
🌍 А честотите?
Тук ще бъда внимателен.
MeshCore не ви освобождава от радиорегулациите.
Фактът, че дадено устройство може да предава на определена честота и мощност, не означава автоматично, че имате право да го използвате така.
За Европа и България трябва да се използват подходящите SRD/LoRa честотни диапазони и да се спазват приложимите ограничения за мощност, duty cycle/достъп до спектъра и останалите технически изисквания.
Затова ще направя отделен материал специално за България, вместо тук да хвърля едно „868 MHz е законно“ и да приключим.
При радиото детайлите имат значение.
🔧 Инсталиране на MeshCore
За поддържаните устройства има официален web flasher с готови firmware изображения. Можете да изберете съвместимото устройство и ролята, която искате да изпълнява – например Companion, Repeater или Room Server.
За repeaters и room servers има и отделни инструменти за конфигуриране, а официалният проект поддържа и remote management през LoRa.
Тоест не е необходимо да сте embedded developer и да компилирате C++ код, за да започнете.
И слава Богу.
😂
📡 Какво ще правим оттук нататък?
Тази статия е само:
„Какво, по дяволите, е MeshCore?“
След нея вече можем да започнем истинската работа.
Искам да разгледаме практически:
MeshCore Companion – настройка от нулата;
MeshCore Repeater – как се изгражда инфраструктурен node;
Room Server – какво реално можем да правим с него;
соларен MeshCore repeater – автономна точка;
реални тестове – град, гора и планина;
и разбира се:
Meshtastic vs MeshCore
Но не:
🥊 „КОЙ ЩЕ ПОБЕДИ?!“
а:
„Имам конкретен проблем. Коя от двете системи е по-подходящият инструмент?“
Това според мен е сравнението, което има смисъл.
✅ Заключение
MeshCore е още един много интересен инструмент в света на off-grid комуникациите.
Не замества мобилния телефон.
Не замества радиостанцията.
Не замества сателитната комуникация.
И не е магическа мрежа, която ще работи навсякъде само защото сме завили една антена.
Но позволява да изградим децентрализирана LoRa комуникационна мрежа с ясно разграничени потребителски и инфраструктурни роли, която може да работи без интернет и мобилен оператор.
И това определено заслужава внимание.
Особено ако не мислим само:
„Каква джаджа да си купя?“
а започнем да мислим:
„Каква комуникационна система мога да изградя?“
Там вече става интересно.
📡
И оттук нататък ще си играем много.
Защото в SHTF.BG няма да избираме футболен отбор.
Ще избираме инструмент според задачата.
Не ме интересува коя система ще „победи“. Интересува ме дали човекът ще може да изпрати съобщение, когато няма друг начин да го направи.
Оцелявай умно, а не трудно. 😉📡



