## MeshCore Firmware for Heltec T114

Прошивки на базе [MeshCore](https://github.com/meshcore-dev/MeshCore) для платы **Heltec T114**.

---

## 1. Simple Sensor — Heltec T114 + BME280

Прошивка **Simple Sensor** для платы **Heltec T114** (без экрана) с датчиком **BME280** (температура, влажность, атмосферное давление).

### 🎯 Назначение

Удалённый сенсорный узел mesh-сети. Автоматически считывает показания с BME280 и передаёт телеметрию в сеть. Поддерживает опрос данных, алерты при выходе за пороги и управление по последовательному порту или через LoRa.

### 📻 Параметры радиоканала

| Параметр | Значение |
|---|---|
| Частота | 868.856018 МГц |
| Полоса (BW) | 62.5 кГц |
| Spreading Factor | 7 |
| Coding Rate | 4/7 |
| Хэш пути | 2 байта |
| Мощность | 22 dBm |

### 🧩 Поддерживаемые датчики

Все датчики определяются автоматически на шине I2C (пины `PIN_WIRE1_SDA`/`PIN_WIRE1_SCL`):

- **BME280** — температура, влажность, давление
- AHTx0 — температура, влажность
- BMP280 — температура, давление
- SHTC3 — температура, влажность
- SHT4x — температура, влажность
- LPS22HB — давление
- INA219 / INA226 / INA260 / INA3221 — напряжение, ток, мощность
- MLX90614 — бесконтактная температура
- VL53L0X — дальномер
- BME680 / BMP085 — дополнительные датчики

Период опроса датчиков: **60 секунд** (настраивается).

### 🔧 Сборка

```bash
pio run -e Heltec_t114_without_display_simple_sensor
```

Генерация UF2 для заливки через USB (drag-n-drop):
```bash
pio run -e Heltec_t114_without_display_simple_sensor -t create_uf2
```

Файл прошивки: `.pio/build/Heltec_t114_without_display_simple_sensor/firmware.uf2`

**Заливка:** подключи T114 по USB, дважды нажми RESET (или зажми BOOT при подключении) — появится диск `T114` — перетащи `firmware.uf2` на него.

### 📡 Использование

После заливки и первой загрузки:

1. Подключись через Serial Monitor (115200 бод)
2. На экране появится `Sensor ID: <hex>` — публичный ключ устройства
3. Для управления используй CLI-команды:
   - `help` — список команд
   - `set name "Мой датчик"` — имя узла
   - `set password mypass` — пароль администратора
   - `phm 1` — хэш пути 2 байта (уже установлен по умолчанию)
   - `io` — чтение/запись GPIO

Другие устройства mesh-сети могут подключаться к сенсору и запрашивать телеметрию по протоколу MeshCore.

---

## 2. Beacon Sensor (Auto-Announce) — Heltec T114 + BMP280

Прошивка **Beacon Sensor** — устройство автоматически отправляет flood-объявление (advert) в mesh-сеть **каждые 15 минут**. Подключён **BMP280** по I2C, телеметрия доступна по запросу. Подключается к Companion-клиентам через **BLE**.

### 📻 Параметры радиоканала

| Параметр | Значение |
|---|---|
| Частота | 868.731018 МГц |
| Полоса (BW) | 62.5 кГц |
| Spreading Factor | 7 |
| Coding Rate | 7 |
| Хэш пути | 1 байт |
| Мощность | 22 dBm |

### 🧩 Поддерживаемые датчики (I2C на Wire1, SDA=7, SCL=8)

- **BMP280** — температура, давление
- Все датчики из списка Simple Sensor

### 🔧 Сборка

```bash
# Без дисплея, через BLE (рекомендуемый вариант)
pio run -e Heltec_t114_without_display_beacon_sensor_ble -t create_uf2

# С дисплеем, через BLE
pio run -e Heltec_t114_beacon_sensor_ble -t create_uf2

# Без дисплея, через USB (Serial)
pio run -e Heltec_t114_without_display_beacon_sensor_usb -t create_uf2

# С дисплеем, через USB (Serial)
pio run -e Heltec_t114_beacon_sensor_usb -t create_uf2
```

Файл прошивки: `.pio/build/<env>/firmware.uf2`

### 🚀 Прошивка (UF2)

1. Зажми кнопку **BOOT/PRG** на T114
2. Подключи USB к компьютеру
3. Отпусти кнопку — появится диск `T114`
4. Перетащи `firmware.uf2` на этот диск
5. Устройство перезагрузится и начнёт работу

Или через nrfutil:
```bash
nrfutil dfu usb-serial -pkg .pio/build/<env>/firmware.zip -p /dev/ttyACM0
```

### 📡 Использование

- Устройство автоматически отправляет объявление (advert) в mesh-сеть каждые 15 минут
- Объявление распространяется flood'ом (ретранслируется другими узлами)
- Подключись через **BLE** (пин: `123456`) к мобильному приложению MeshCore
- BMP280 телеметрия доступна по запросу через протокол MeshCore

### 🔗 Совместимость

- Работает с Companion Radio (BLE/USB/WiFi)
- Поддерживает удалённое управление из мобильного приложения MeshCore
- Совместим с Repeater и Room Server для расширения сети

### 📜 Лицензия

Проект основан на MeshCore (MIT License). См. `license.txt`.
