Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ESP-LoRa-SmartHub-HA

Репозиторий с набором LoRa-устройств для локального мониторинга погоды и электросети с интеграцией в Home Assistant.

Состав проекта

  • wemos-meteo — метеодатчик на ESP8266 (AHT20 + BMP280 + SX1278).
  • esp32-s3-pzem — датчик электросети на ESP32-S3 (PZEM-004T x3 + SX1278).
  • lora-hub — основной хаб на Heltec Wireless Stick V3 (LoRa + Wi-Fi + MQTT + Web).
  • temp_lora_hub — упрощенный тестовый хаб для диагностики LoRa пакетов.

Как работает система

  1. Датчики собирают данные и отправляют бинарные пакеты по LoRa.
  2. Хаб принимает пакеты, проверяет CRC, отправляет ACK и при необходимости команду датчику.
  3. Основной хаб публикует данные в MQTT и отдает их через веб-API.

Форматы пакетов (актуально)

Заголовок (общий)

Поле Тип Описание
header uint8 0xAA
deviceId uint16 ID устройства
sensorType uint8 0x01 метео, 0x02 электросеть
timestamp uint32 Unix-time датчика

Метеопакет

Поле Тип
header PacketHeader
temperature1 float
temperature2 float
humidity float
pressure float
battery uint8
flags uint8
crc uint16
footer uint8 (0x55)

Пакет электросети

Поле Тип
header PacketHeader
voltage[3] float[3]
current[3] float[3]
power[3] float[3]
energy[3] float[3]
frequency float
powerFactor[3] float[3]
battery uint8
flags uint8
crc uint16
footer uint8 (0x55)

ACK пакет

Поле Тип
header uint8 (0xBB)
deviceId uint16
hubTimestamp uint32
ackCode uint8
cmdCode uint8
cmdParam uint32
crc uint16
footer uint8 (0xCC)

Команды от хаба

Код Команда
0x00 нет команды
0x01 clear_queue
0x02 set_interval
0x10 reset_energy
0x11 set_phases_config

Быстрый старт

  1. Выберите нужный подпроект и откройте соответствующий .ino в Arduino IDE.
  2. В папке проекта создайте config.h из config.example.h.
  3. Настройте пины и параметры устройства.
  4. Для lora-hub укажите Wi-Fi, MQTT и NTP параметры.
  5. Прошейте устройства и проверьте обмен пакетами.

Зависимости

  • wemos-meteo: LoRa, Adafruit AHTX0, Adafruit BMP280, ESP8266 core.
  • esp32-s3-pzem: LoRa, PZEM004Tv30, ArduinoJson, ESP32 core.
  • lora-hub: Heltec ESP32 framework, PubSubClient, ArduinoJson.

Безопасность конфигурации

  • Файлы config.h содержат локальные параметры и должны оставаться вне git.
  • Перед публикацией убедитесь, что в коммитах нет SSID, паролей Wi-Fi и MQTT токенов.
  • Если секреты уже попали в историю, замените их и перепишите историю перед публичным push.

Подготовка к публикации на GitHub

  1. Проверьте, что в git не попали локальные config.h.
  2. Проверьте README каждого подпроекта и актуальность инструкций.
  3. Добавьте LICENSE и описание политики безопасности.
  4. Сделайте финальный просмотр изменений через git diff.

Лицензия

MIT, см. файл LICENSE.

About

No description or website provided.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages