Files
lighthub/documentation/hardware/hardware_platforms.md
T
2026-10-11 01:27:15 +03:00

70 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LightHub на разном железе
> Источник: Wiki LightHub (lazyhome.ru), страница «lighthub\_на\_разном\_железе». Снапшот от 2026-10-02.
Прошивка может компилироваться и работать на следующих аппаратных платформах:
1. AVR Arduino MEGA 2560 - первая платформа, на которой была реализована. Прошивка оттестирована на этом железе. Но в настоящее время, уже не рекомендуется по причине ограниченной оперативной памяти. (не получится использовать всю периферию, но для небольших инсталляций подойдет)
2. Arduino DUE - в настоящее время, базовая платформа. Используется в контроллерах LightHub. Прошивка тщательно оттестирована на этом железе. Все новые функции изначально внедряются под эту платформу.
3. ESP8266 - Достаточно полнофункциональная стабильная сборка.
4. ESP32 - Достаточно полнофункциональная стабильная сборка.
5. NRF52840 - пилотная сборка, поддерживающая базовый функционал
6. STM32 - сборка с ограниченной функциональностью, является базовой для устройства LightSpot (минимальное LightHub устройство без IP стека, которое взаимодействует с внешним миром через полноценные устройства LightHub по шинне CAN)
Базовые возможности прошивки LightHUB поддерживаются на любом железе. К ним относится:
* Единообразное конфигурирование с использованием JSON
* Поддержка MQTT и интеграция, фактически, с любой системой Умного Дома, поддерживающей данный протокол, включая, сенсоры, выключатели, термостаты(теплые полы), кондиционеры.
* Поддержка всего расширенного набора команд, группы каналов, сохранение цвета/яркости и пр
* Восстановление состояния контроллера и каналов при перезапуске из MQTT
* Локальное управление каналами (даже при отсутствии сетевого соединения)
* Термостаты (до 20-ти, в пределах кол-ва дискретных выходов)
* Гибкая настройка работы с выключателями/кнопками, включая распознавание одинарного, двойного, тройного нажатия, длительного нажатия, кратковременного выключения
Возможности прошивки, зависящие от железа:
| Возможность | Mega2560 | DUE | ESP8266 | ESP32 | NRF52840 | STM32 | CONTROLLINO |
|---|---|---|---|---|---|---|---|
|DMX512 In|+|+|-|-|-|-|-|
|DMX512 Out|+|+|+|+|-|-|-|
|Artnet|+|+|+|-|?|?|+|
|1-Wire software|+|+|+|+|+|?|+|
|1-Wire DS2482-100|+|+|+|+|+|+|+|
|MCP23017 - I2C расширитель портов|+|+|+|?|?|?|?|
|Wiznet 5100 Ethernet|+|+|+|+|-|+|+|
|Wiznet 5500 Ethernet|+|+|+|+|+|+|-|
|Wi-Fi|-|-|+|+|-|-|-|
|Modbus Master|+|+|+|+|+|+|+|
|DHT-22|+|+|+|+|+|?|+|
|CCS811 & HDC1080 - сенсоры влажности и eCO2|+|+|+|+|+|?|+|
|Управление кондиционерами Haier через UART|+|+|+|+|+|+|+|
|Управление задвижками вентиляции с резистором ОС|+|+|+|+|?|?|+|
|SPI-LED адресные ленты|+|+|+|+|+|+|+|
|Watchdog|+|+|?|?|?|?|+|
|Сохранение конфигурации во FLASH|+|+|+|+|-|?|+|
|CAN|-|+|-|+|-|+|-|
|Дискретных входов||||||||
|Аналоговых входов||||||||
|Дискретных выходов||||||||
|PWM выходов||||||||
|OTA|+-Optiboot bootloader|+|+|+|-|-|-|
|Плавное управление DMX|-|+|-|-|-|-|-|
(Легенда: `+` — поддерживается, `-` — не поддерживается, `?` — не проверено / зависит от конкретной реализации.)
---
## Сверка с кодом (2026-10-02)
- Перечень платформ в тексте (Mega2560, DUE, ESP8266, ESP32, NRF52840, STM32) **совпадает** с окружениями `platformio.ini`: `mega2560`/`mega2560slim`/`mega2560-optiboot`/`mega2560-5100`, `due`/`lighthub21`, `esp8266-wifi`, `esp32-wifi`/`esp32c3-wifi`/`m5stack`, `nrf52840`, `stm32`/`stm32-enc2860`/`stm32-noip`, а также `controllino`.
- Текст не упоминает **ESP32-C3** (env `esp32c3-wifi`) и **M5Stack** (env `m5stack`, ESP32-based) — в таблице возможностей у них стоит колонка ESP32; фактически это отдельные сборки.
- **STM32 / LightSpot**: в `platformio.ini` есть `stm32-noip` — сборка без IP-стека (LightSpot), что соответствует описанию в п. 6.
- **CAN**: в таблице отмечен только для DUE и ESP32/STM32. В `lighthub21`/`due` используется библиотека `collin80/due_can` (см. `platformio.ini`), для ESP32 — `anklimov/arduino-CAN`, для STM32 (stm32-noip) — `pazi88/STM32_CAN`. Совпадает.
- **Wi-Fi** только у ESP8266/ESP32 — подтверждается наличием `WIFI_ENABLE`/`WiFiManager` только в ESP-окружениях.
- **Сохранение конфигурации во FLASH** не поддержано у NRF52840 в таблице — в env `nrf52840` используется `NRFFlashStorage`/`d00616/arduino-NVM`, что требует уточнения (в таблице стоит `-`/`?`).