Мешком
Meshcom действительно является захватывающим проектом Института гражданской науки для космической и беспроводной связи (www.icssw.org), направленного на создание устойчивого инструмента коммуникации на основе текста для любителей. Он использует технологию модуляции LORA ™ и протокол APRS для создания сети сетки в полосе 70 см. Основные цели Meshcom-реализовать подключенную систему обмена сообщениями вне сети с низким потреблением энергии и экономически эффективным оборудованием. Техническая реализация основана на радиомодулях LORA ™, которые могут передавать сообщения, позиции, измерения и больше на большие расстояния с низкой мощностью передачи. Модули Meshcom могут быть подключены для формирования сети сетки или создания сети обмена сообщениями через шлюзы Meshcom, идеально подключенные через Hamnet.
Основные функции:
- Каждый узел идентифицируется любительским радиоприемником (с необязательным SSID)
- Короткие тестовые сообщения могут быть отправлены всем (всем), с ACK с сервера/шлюза
- Короткие текстовые сообщения могут быть отправлены непосредственно на другие звонки, с конечным Anknowledgement
- Некоторые узлы могут быть настроены на то, чтобы выступить в качестве шлюза в Hamnet или Internet (Wi -Fi)
- Каждый узел должен выступать в качестве ретранслятора для всех других сообщений Meshcom в эфире
- Серверы и шлюзы могут иметь некоторые функциональные возможности, чтобы избежать передачи избыточной трафики
- Узлы автоматически отправят сообщения о состоянии и позиции
- Узлы с дополнительными датчиками будут периодически отправлять данные WX-DATA или телеметрии
- Сообщения будут дипломированы на небольшом OLED -дисплее или через смартфон BT подключенного к BT, или через USB -подключенную последовательную консоль
Основная цель состоит в том, чтобы иметь сетку с сетью самостоятельной и саморазвития, которые могут быть улучшены другими компонентами любительского радио-сервиса, таких как Hamnet (IP-NetWork), централизованные или распределенные серверы Meshcom. Это увеличит охват для всех континентов и позволит взаимосвязь с другими режимами и услугами (APRS, Winlink, DMR, Tetra-SDS, SOTA-Watch, PoCSAG, VARA-AC,…) Создание единой коммуникационной платтформы. Участком полезным является Meshcom для экстренной связи (EMCOM) в случае катастрофы или отключения. Во всех условиях использования терминов и правил любительского радио (строго не коммерческого, экспериментального) следует соблюдать уважение. Это открытый научный проект Citizen, который должен помочь продвигать радио -службу любительского радио в академике и обществе.
Частота в регионе:
ЕС: 433,175 Великобритания: TBD Nordic: TBD USA: 433.175 Afrika: 433.175 Asia/Pacific: TBD
Лора Параметр:
SF: 11 Bandwith: 250 кГц CR: 4/6
APRS-Protokoll:
Документ: http://www.aprs.org/doc/aprs101.pdf Адрес: call-ssid, источник, цель, дигри1-5 телеметрия: данные, формула, единицы,… погода: температура, давление, дождь,… цель-быть полностью совместимым с Aprs.fi
Аппаратное обеспечение:
ESP32/LORA-MODUL, RAK-WISBLOCK, ESP32-DEV4/E22-LORA, ...
Прошивка Meshcom 4.0
Meshcom - это проект по обмену текстовыми сообщениями через Radio Modules. Основная цель состоит в том, чтобы реализовать сетевые обмен сообщениями без сети с низкой мощностью и низкой стоимостью оборудования.
Технический подход основан на использовании радиомодулей LORA, которые передают сообщения, позиции, измеренные значения, телеконтроль и многое другое с низкой мощностью передачи на большие расстояния. Модули Meshcom могут быть объединены для формирования сети сетки, но также могут быть подключены к сети сообщений через шлюзы Meshcom, которые идеально подключены через Hamnet. Это позволяет радиосетям Meshcom, которые не подключены друг к другу через радио, общаться друг с другом.
Протокол Meshcom
Meshcom 4.0 использует ссылку на протокол APRS для данных источника, назначения, дигипатера и полезной нагрузки, как определено для APRS. (APRS101.PDF APRS Протокол Ссылка на версию 1.0 2000, стр. 12) Meshcom 4.0 Verwendet für Die Power-Daten DAS AX.25 Protokoll, Wie es Für Aprs Definiert IST. (APRS101.pdf APRS Протокол Справочник по протоколу версии 1.0 2000, Seite 12)
Условия:
- Идентификатор - идентификатор типа данных APRS
- Идентификатор сообщения-32-битная LSB-> Уникальное значение MSB
- Max-Hop-Макс. 7 (Маска 0x07) используется по умолчанию 5, что позволяет еще 4 передачи.
- 0x80 - ID относительно того, было ли это сообщение уже отправлено через сервер MQTT
- 0x40 - идентификация того, что это сообщение должно быть дополнено для каждого сетку с признаком вызова передающей станции. Для целей измерения и контроля.
- Адрес источника - это поле содержит Callsign и SSID передающей станции
- Адрес назначения - это поле может содержать знак назначения APRS или
- Digipeater - в этой области может быть от 0 до 8 звонков Digipeater. Примечание. Эти адреса Digipeater могут быть перезаписаны общим путем Digipeater APRS (указанный SSID адреса назначения).
- Полезная нагрузка - это поле содержит транспортные данные. Первым символом этого поля является идентификатор типа данных APRS, который указывает, какой тип данных о полезной нагрузке следует.
- Идентификатор оборудования - см. Таблицу ниже
- Индекс модуляции LORA - см. Таблицу ниже
- Последовательность проверки кадров - FCS представляет собой последовательность из 16 бит, используемых для проверки целостности полученного кадра.
Сообщения:
- Текстовые сообщения:
- : |! Mmmmmmmmm |! Hh | oe0xxx-99 |>*|: | Текстовое сообщение |! 00 |! HW |! MOD | FCS#
- Текстовые сообщения с путем из сетки:
- : |! Mmmmmmmm |! Hh | OE0XXX-99, OE3XXX-12, OE3YYY-12 |>*|: | Текстовое сообщение |! 00 |! HW |! MOD | FCS#
- Отчеты о позиции:
- ! |! Mmmmmmmm |! HH | OE0XXX-99 |>*| Bbb /a = hhhh |! 00 |! Hw |! Mod | fcs#
- Легенда:
- | ... служит только для того, чтобы показать разделение здесь, в тексте
Элементы сообщения
- ID Medlution:! @ ... текст, положение, погода
- Mmmmmmmmm Id Message 32-битный LSB-> MSB
- HH Max-Hop 8-битная маска 0x07
- Сообщение через MQTT Server Mask 0x80
- Вставьте путь в сетку (с запятой в качестве разделения) битовая маска 0x40
- 4800,00 градусов с широты/десятичная x 100
- 01600.00 Longidude Degrees/Decimal x 100
- N North / South Char
- / APRS Symbol Group (/ или) char
- Ee ast / west char
- # Символ APRS символ
- Состояние батареи BBB в % int 0 - 100
- /A = hhhh gps sea level (m) int 0 - 9999
- Завершение сообщения закрывает диапазон сообщений APRS от 0x00
- HW ... идентификатор типа аппаратного обеспечения
- Мод ... идентификатор модуляции Lora
- FCS# Checksum, включая идентификатор и 0x00 из завершения сообщений без знака INT 16-бит
- Дополнительная информация для формирования MHEEARD
- Идентификатор шлюза Ggggggg (только для совместимости Meshcom 2.0) 32-битный LSB-> MSB
- HW Adplaware ID 8-бит (см. Таблицу)
Meshcom Hardware Id
- Аппаратный идентификатор HW Тип MCU Тип типа Lora HW Короткое имя HW версия
- 1 TTGO ESP32 PaxCounter ESP32 SX1278 Tlora v2
- 2 TTGO ESP32 PaxCounter ESP32 SX1278 Tlora v1
- 3 TTGO ESP32 PaxCounter ESP32 SX1278 Tlora v2 1.6
- 4 TTGO T-BEAM ESP32 SX1278 T-BEAM 1.1
- 5 TTGO T-BEAM ESP32 SX1268 T-BEAM-1268 1.1 1268
- 6 TTGO T-BEAM ESP32 SX1262 T-BEAM-0,7 0,7
- 7 T-Echo Lora SX1262 NRF SX1262 T-ECHO
- 8 T-Deck ESP32-S3 SX1262 T-Deck
- 9 Wisblock RAK4631 NRF Wisblock NRF RAK4631
- 10 Wi-Fi Lora 32 V2 ESP32 SX1262 HELTEC-V2-1 V2
- 11 Wi-Fi Lora 32 V1 ESP32 SX1276 Heltec-V1 v1
- 12 TTGO T-BEAM ESP32 SX1278 TBEAM-AXP2101
- 39 Ebyte Lora E22 ESP32 SX1278 Ebyte-E22
- 43 Wi-Fi Lora 32 V3 ESP32-S3 SX1262 Heltec-V3 V3
Индекс модуляций Meshcom Lora
- 0 расширенный диапазон 10-20 быстро
- 1 расширенный диапазон 10-20 медленных (устойчивых) 0,275 кбит / с
- 2 дополнительного расширенного диапазона 20-40 медленного (устойчивого) 0,183 кбит / с
- 3 нормальный диапазон 5-10 медленно (устойчивый)
- 4 нормального диапазона 5-10 быстро 5469 кбит / с
- 5 локальный диапазон 0-5 медленно (устойчиво)
- 6 локальный диапазон 0-5 быстро 21 875 кбит / с
Подготовка к плагину Platform.io VSCODE
- Установите необходимые платформы на платформах:
- Эспресс 32
- Nordic NRF52 версия 9.6.0 (пока)
- Для добавления правильных определений совета по беспроводной сети RAK RAK4631 Следуйте этим инструкциям: https://github.com/rakwireless/wisblock/blob/master/platformio/readme.md
Мигающая прошивка
Обычно это делается через кнопку загрузки в VSCODE напрямую.
ESP32 через командную строку:
- Для этой задачи необходим Esptool. Вы можете использовать тот, который от Platform.io, который находится на
.platformio/tool-esptoolpy/esptool.py в дополнение к Python venv, который находится по адресу: .platformio/penv/bin/python . Стациональный каталог .platformio находится в вашем пользовательском режиссере.
В противном случае, если еще не установлено, установите недавнюю версию Python. Тогда вам нужно получить Esptool через PIP: pip install esptool
- Firmware.bin, Bootloader.bin и Partition.bin записывается после компиляции в Hidden
.pio/build Directory в каталоге Repo Meshcom-Firmware.
Если вы только обновляете прошивку, вы хотите, чтобы соответствующий файл вспыхнул.
Аделки, где можно прошить каждый из файлов:
| Адрес | Файл |
|---|
| 0x1000 | bootloader.bin |
| 0x8000 | разделы.bin |
| 0x10000 | прошивка.bin |
Mac: python esptool.py -p /dev/tty.usbserial-<NUMBER> write_flash 0x10000 <PATH-TO-BIN-FILE>/firmware.bin
Linux: то же самое, но последовательное устройство под /dev может быть ttyUSB0 или аналогично.
Windows: серийное устройство обычно какое -то ком
Прошивка готовой сборки также может быть пропутана через онлайн -инструмент (Chrome, Edge, Opera):
https://oe1kfr.com/esptool/
Стирать NVS:
Если вы хотите стереть настройки, хранящиеся на узле:
python esptool.py --port <SERIAL-PORT> erase_region 0x009000 0x005000
Rak4631 через CLI:
Для этого вам нужен Adafruit Nrfutil. Установка и использование:
https://github.com/adafruit/adafruit_nrf52_nrfutil
Rak4631 через файл UF2:
Когда вы дважды нажимаете кнопку на модуле, он объединяет USB -устройство, где вы можете скопировать файл .uf2 в модуль. Чтобы сгенерировать этот файл, вам нужен следующий скрипт Python:
https://github.com/microsoft/uf2/blob/master/utils/uf2conv.py
./uf2conv.py <PATH_TO-HEX-FILE> -c -o firmware.uf2 -f 0xADA52840