Meshtastic — рСализация самодостаточной mesh-сСти Π½Π° Π±Π°Π·Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² LoRa

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Meshtastic Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для построСния самодостаточной Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ сСти ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сообщСний, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ каТдая Ρ‚ΠΎΡ‡ΠΊΠ° сСти связываСтся Ρ‡Π΅Ρ€Π΅Π· сосСдниС Ρ‚ΠΎΡ‡ΠΊΠΈ, Π±Π΅Π· использования Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ². Для трансляции сигнала ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ Π½Π° Π±Π°Π·Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° LoRa, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ частот со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ нСсколько ΠΊΠΈΠ»ΠΎΠ±ΠΈΡ‚ Π² сСкунду Π½Π° расстояния Π² дСсятки ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ сотни ΠΊΠΈΠ»ΠΎΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ Meshtastic установлСн Ρ€Π΅ΠΊΠΎΡ€Π΄ Π² 254 ΠΊΠΌ).

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ связи Π² труднодоступной мСстности, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ поисковых Ρ€Π°Π±ΠΎΡ‚ ΠΈΠ»ΠΈ занятии спортом (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Ρ€Π°ΠΏΠ»Π°Π½Π΅Ρ€ΠΈΠ·ΠΌΠΎΠΌ) Π² мСстности Π±Π΅Π· инфраструктуры ΠΈΠ»ΠΈ Π² условиях ΠΏΠ»ΠΎΡ…ΠΎΠ³ΠΎ ΠΎΡ…Π²Π°Ρ‚Π° Ρ‚Π΅Ρ€Ρ€ΠΈΡ‚ΠΎΡ€ΠΈΠΈ сотовыми ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… мСстах участниками ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΈ, Ρ€Π΅Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния ΠΈ Π·Π°ΠΏΠΈΡ‚Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ солнСчных Π±Π°Ρ‚Π°Ρ€Π΅ΠΉ, Π° Ρƒ самих участников ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ LoRa-устройства, ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‰ΠΈΠ΅ сигналы ΠΈ управляСмыС Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ смартфонам ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ Bluetooth.

Meshtastic - рСализация самодостаточной mesh-сСти Π½Π° Π±Π°Π·Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² LoRa

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ участник сСти ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ тСкстовыС сообщСний, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска Π΄Ρ€ΡƒΠ³ΠΈΡ… участников срСдства гСопозиционирования Π½Π° основС привязки ΠΊ GPS. Благодаря ΠΏΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΡŽ mesh-сСти сообщСния ΠΏΠ΅Ρ€Π΅ΡΡ‹Π»Π°ΡŽΡ‚ΡΡ ΠΏΠΎ Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅, Ρ‡Ρ‚ΠΎ позволяСт ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сообщСния ΠΎΡ‚ самого дальнСго участника, нСзависимо ΠΎΡ‚ возмоТности ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ с Π½ΠΈΠΌ прямой ΠΊΠ°Π½Π°Π» связи. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΊΠ°ΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ адрСсных сообщСний, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ участнику. ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ сообщСния ΡˆΠΈΡ„Ρ€ΡƒΡŽΡ‚ΡΡ с использованиСм Π·Π°Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ PSK (pre-shared key) ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° AES256.

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ достаточно простой: ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ отправляСтся Π² ΡˆΠΈΡ€ΠΎΠΊΠΎΠ²Π΅Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, послС Ρ‡Π΅Π³ΠΎ эфир анализируСтся Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Π° подтвСрТдСния получСния ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· участников. Если ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ, Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ осущСствляСтся Π΅Ρ‰Ρ‘ Ρ‚Ρ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ. ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° выполняСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°, ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ» Π»ΠΈ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ, ΠΈ Ссли Π΄Π° ΠΎΠ½ игнорируСтся, Π° Ссли Π½Π΅Ρ‚ — рСтранслируСтся Π΄Ρ€ΡƒΠ³ΠΈΠΌ участникам. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ счётчик Ρ…ΠΎΠΏΠΎΠ² ΠΈ ΠΏΡ€ΠΈ достиТСнии нуля рСтрансляция ΠΏΠ°ΠΊΠ΅Ρ‚Π° прСкращаСтся.

Код ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ для ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² написан Π½Π° языках Π‘/Π‘++ ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с mesh-ΡΠ΅Ρ‚ΡŒΡŽ со смартфонов Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ… Android ΠΈ iOS, Π° Ρ‚Π°ΠΊΠΆΠ΅ web-интСрфСйс ΠΈ Python-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΡ‘ΠΌΠ° сообщСний. ΠŸΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚ Π½Π° Π±Π°Π·Π΅ Ρ‡ΠΈΠΏΠΎΠ² ESP32, nRF52 ΠΈ RP2040, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ RAK Meshtastic Start Kit (RAK4631 nRF52840, RAK11200 ESP32, RAK11310 RP2040), Station G1, LILYGO LoRa T3-S3, Nano G1, HELTEC LoRa V3 ΠΈ Raspberry Pi Pico с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ SX1262.

Meshtastic - рСализация самодостаточной mesh-сСти Π½Π° Π±Π°Π·Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² LoRaMeshtastic - рСализация самодостаточной mesh-сСти Π½Π° Π±Π°Π·Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² LoRaMeshtastic - рСализация самодостаточной mesh-сСти Π½Π° Π±Π°Π·Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ² LoRa


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru