# APRS-IS Display для ESP32 + SH1106 OLED Приём и отображение APRS-пакетов через WiFi на OLED-дисплее 128×64. ## Возможности - Подключение к APRS-IS серверу через WiFi (основная + резервная сеть) - Фильтр по радиусу 300 км от дома (67.37°N, 32.49°E) - Отображение станций на дисплее - **Обычные станции**: позывной (крупно), направление/расстояние, комментарий - **Метеостанции**: бейдж `[WX]`, позывной, температура (°C), влажность (%), давление (мм рт. ст.) - Автоматическое обновление экрана — всегда виден последний принятый пакет - Сплэш-экран «APRS» при старте - Счётчик принятых пакетов в статус-баре - Переподключение при потере связи (WiFi и APRS-IS) ## Аппаратное обеспечение - ESP32 (ESP32-D0WD-V3) - OLED-дисплей SH1106 128×64, I2C - Питание через USB ## Схема подключения | ESP32 | SH1106 | |-------|--------| | 3.3V | VCC | | GND | GND | | GPIO21| SDA | | GPIO22| SCL | ## Прошивка ### Требования - Arduino CLI - Ядро ESP32 3.3.8 - Библиотеки: U8g2, APRS-IS-Lib, APRS-Decoder-Lib v0.0.1 ### Компиляция и загрузка ``` arduino-cli compile --fqbn esp32:esp32:esp32:PartitionScheme=huge_app \ -u -p /dev/ttyUSB0 "/home/ua1zbe/Рабочий стол/pr133" ``` Обязателен `PartitionScheme=huge_app` (3 МБ под приложение). ### Настройка Параметры заданы константами в начале скетча `pr133.ino`: - **WiFi** — `WIFI_SSID1`, `WIFI_PASS1` (основная сеть), `WIFI_SSID2`, `WIFI_PASS2` (резервная) - **APRS-IS** — `APRS_USER`, `APRS_PASS`, `APRS_SERVER`, `APRS_PORT`, `APRS_FILTER` - **Домашние координаты** — `HOME_LAT`, `HOME_LON` (для расчёта расстояния и направления) ## Формат пакетов ### Метеостанции Распознаются по наличию полей `tNNN` (температура в °F), `hNN` (влажность %), `bNNNNN` (давление в десятых долях гПа). На дисплей выводятся: - Температура в °C (автоконвертация) - Влажность (если есть) - Давление в мм рт. ст. (×0.75 от гПа) ### Обычные станции Показываются позывной, направление/дистанция от дома, оставшийся текст комментария. ## Структура проекта ``` pr133.ino — основной скетч BUILD.md — инструкция по сборке с нуля README.md — данное описание pr133.ino.backup — оригинальный автосгенерированный скетч (на всякий случай) ``` ## История версий - **v1.0** — чистый rewrite с нуля: сплэш APRS, приём пакетов через APRS-IS, парсинг координат, отображение на дисплее, определение метеостанций, давление в мм рт. ст.