mirror of
https://github.com/AlexGyver/GyverLamp2.git
synced 2025-08-08 01:00:37 +03:00
Merge branch 'main' into update-http-api
This commit is contained in:
@@ -1,93 +1,27 @@
|
|||||||
/*
|
/*
|
||||||
Версия 0.22b
|
ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
|
||||||
Чуть переделан смерч
|
ДЛЯ КОМПИЛЯЦИИ ПРОШИВКИ ПОД NODEMCU/WEMOS/ESP01/ESP12 ВЫБИРАТЬ
|
||||||
Исправлены глюки когда есть вайфай но нет интернета
|
Инструменты / Плата Generic ESP8266
|
||||||
Добавлено свечение после завершения рассвета, время настраивается
|
Инструменты / Flash Size 4MB (FS:2MB OTA)
|
||||||
Обновлены бинарники, прошлая версия могла быть с ошибкой
|
CPU Frequency / 160 MHz (рекомендуется для стабильности светомузыки!!!)
|
||||||
|
При прошивке с других прошивок лампы поставить: Инструменты/Erase Flash/All Flash Contents
|
||||||
Версия 0.21b
|
ESP core 2.7.4+ http://arduino.esp8266.com/stable/package_esp8266com_index.json
|
||||||
Выбор палитры для частиц и конфетти
|
FastLED 3.4.0+ https://github.com/FastLED/FastLED/releases
|
||||||
Счётчик количества ламп онлайн в приложении
|
|
||||||
Синхронизация текущего эффекта с приложением
|
|
||||||
Добавлен эффект смерч
|
|
||||||
|
|
||||||
Версия 0.20b
|
|
||||||
Оптимизация
|
|
||||||
Исправление критических ошибок
|
|
||||||
Пофикшено падение АР
|
|
||||||
Пофикшено падение лампы во время светомузыки
|
|
||||||
|
|
||||||
Версия 0.19b
|
|
||||||
Минимальная версия приложения 1.17!!!
|
|
||||||
Почищен мусор, оптимизация, повышена стабильность и производительность
|
|
||||||
Мигает теперь 16 светиков
|
|
||||||
Снова переделана сетевая политика, упрощён и сильно ускорен парсинг
|
|
||||||
Изменены пределы по светодиодам, что сильно увеличило производительность
|
|
||||||
Выключенная (программно) лампа не принимает сервисные команды кроме команды включиться
|
|
||||||
Добавлены часы, в том числе в рассвет
|
|
||||||
Slave работает со светомузыкой сам, если не получает данные с мастера
|
|
||||||
|
|
||||||
Версия 0.18b
|
|
||||||
Уменьшена чувствительность хлопков
|
|
||||||
Увеличена плавность светомузыки
|
|
||||||
Переделана сетевая политика
|
|
||||||
Микрофон и датчик света опрашивает только мастер и отсылает данные слейвам своей группы
|
|
||||||
4 клика - включить первый режим
|
|
||||||
Отправка точного времени на лампу в режиме АР для работы рассвета и синхронизации эффектов
|
|
||||||
|
|
||||||
Версия 0.17b
|
|
||||||
Автосмена отключается 30 сек во время настройки режимов
|
|
||||||
Убрана кнопка upload в режимах
|
|
||||||
Лампа чуть мигает при получении данных
|
|
||||||
Кастом палитра работает на огне 2020
|
|
||||||
Вкл выкл двумя хлопками
|
|
||||||
Плавное выключение
|
|
||||||
Починил рассвет
|
|
||||||
|
|
||||||
Версия 0.16b
|
|
||||||
Исправлен масштаб огня 2020
|
|
||||||
Фикс невыключения рассвета
|
|
||||||
|
|
||||||
Версия 0.14b
|
|
||||||
Мелкие баги
|
|
||||||
Вернул искры огню
|
|
||||||
Добавлены палитры
|
|
||||||
Добавлен огонь 2020
|
|
||||||
|
|
||||||
Версия 0.13b
|
|
||||||
Улучшена стабильность
|
|
||||||
|
|
||||||
Версия 0.12b
|
|
||||||
Мелкие исправления
|
|
||||||
|
|
||||||
Версия 0.11b
|
|
||||||
Добавлен редактор палитр
|
|
||||||
Исправлены мелкие баги в эффектах
|
|
||||||
Переподключение к роутеру после сброса сети
|
|
||||||
Настройка ориентации матрицы из приложения
|
|
||||||
Переработан эффект "Частицы"
|
|
||||||
Добавлена скорость огня
|
|
||||||
Переключение на новый/выбранный режим при редактировании
|
|
||||||
Отправка времени из сервиса (для АР)
|
|
||||||
Выключение по таймеру теперь плавное
|
|
||||||
Добавлен рассвет
|
|
||||||
|
|
||||||
TODO:
|
|
||||||
плавная смена режимов
|
|
||||||
Mqtt?
|
|
||||||
Базовый пак
|
|
||||||
Эффект погода https://it4it.club/topic/40-esp8266-i-parsing-pogodyi-s-openweathermap/
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ! ВНИМАНИЕ!
|
/*
|
||||||
// ДЛЯ КОМПИЛЯЦИИ ПРОШИВКИ ПОД NODEMCU/WEMOS/ESP01/ESP12 ВЫБИРАТЬ
|
Версия 0.23b
|
||||||
// Инструменты / Плата Generic ESP8266
|
Поправлена яркость рассвета
|
||||||
// Инструменты / Flash Size 4MB (FS:2MB OTA)
|
|
||||||
// CPU Frequency / 160 MHz (рекомендуется для стабильности светомузыки!!!)
|
TODO:
|
||||||
// При прошивке с других прошивок лампы поставить: Инструменты/Erase Flash/All Flash Contents
|
Upload -> Применить
|
||||||
// ESP core 2.7.4+ http://arduino.esp8266.com/stable/package_esp8266com_index.json
|
Длина огня в светомуз?
|
||||||
// FastLED 3.4.0+ https://github.com/FastLED/FastLED/releases
|
Плавная смена режимов
|
||||||
#define GL_BUILD 0 // 0: com 300, 1: com 900, 2: esp1 300, 3: esp1 900, 4: module 300, 5: module 900
|
Mqtt
|
||||||
|
Базовый пак
|
||||||
|
Поддержка куба
|
||||||
|
Погода https://it4it.club/topic/40-esp8266-i-parsing-pogodyi-s-openweathermap/
|
||||||
|
*/
|
||||||
|
|
||||||
// ---------- Настройки -----------
|
// ---------- Настройки -----------
|
||||||
#define GL_KEY "GL" // ключ сети
|
#define GL_KEY "GL" // ключ сети
|
||||||
@@ -103,7 +37,7 @@
|
|||||||
#define PHOT_VCC 14 // питание фоторезистора GPIO14 (D5 на wemos/node)
|
#define PHOT_VCC 14 // питание фоторезистора GPIO14 (D5 на wemos/node)
|
||||||
|
|
||||||
// ------------ Лента -------------
|
// ------------ Лента -------------
|
||||||
#define STRIP_PIN 2 // пин ленты GPIO2 (D4 на wemos/node)
|
#define STRIP_PIN 2 // пин ленты GPIO2 (D4 на wemos/node), GPIO5 (D1) для module
|
||||||
#define MAX_LEDS 300 // макс. светодиодов
|
#define MAX_LEDS 300 // макс. светодиодов
|
||||||
#define STRIP_CHIP WS2812 // чип ленты
|
#define STRIP_CHIP WS2812 // чип ленты
|
||||||
#define STRIP_COLOR GRB // порядок цветов в ленте
|
#define STRIP_COLOR GRB // порядок цветов в ленте
|
||||||
@@ -121,14 +55,16 @@ const char AP_NameChar[] = "GyverLamp2";
|
|||||||
const char WiFiPassword[] = "12345678";
|
const char WiFiPassword[] = "12345678";
|
||||||
|
|
||||||
// ------------ Прочее -------------
|
// ------------ Прочее -------------
|
||||||
#define GL_VERSION 22 // код версии прошивки
|
#define GL_VERSION 23 // код версии прошивки
|
||||||
#define EE_TOUT 30000 // таймаут сохранения епром после изменения, мс
|
#define EE_TOUT 30000 // таймаут сохранения епром после изменения, мс
|
||||||
//#define DEBUG_SERIAL // закомментируй чтобы выключить отладку (скорость 115200)
|
#define DEBUG_SERIAL_LAMP // закомментируй чтобы выключить отладку (скорость 115200)
|
||||||
#define EE_KEY 56 // ключ сброса eeprom
|
#define EE_KEY 56 // ключ сброса eeprom
|
||||||
#define NTP_UPD_PRD 5 // период обновления времени с NTP сервера, минут
|
#define NTP_UPD_PRD 5 // период обновления времени с NTP сервера, минут
|
||||||
//#define SKIP_WIFI // пропустить подключение к вафле (для отладки)
|
//#define SKIP_WIFI // пропустить подключение к вафле (для отладки)
|
||||||
|
|
||||||
// ------------ БИЛДЕР -------------
|
// ------------ БИЛДЕР -------------
|
||||||
|
#define GL_BUILD 0 // 0: com 300, 1: com 900, 2: esp1 300, 3: esp1 900, 4: module 300, 5: module 900
|
||||||
|
|
||||||
#if (GL_BUILD == 0)
|
#if (GL_BUILD == 0)
|
||||||
#elif (GL_BUILD == 1)
|
#elif (GL_BUILD == 1)
|
||||||
#define MAX_LEDS 900
|
#define MAX_LEDS 900
|
||||||
@@ -203,7 +139,7 @@ byte udpScale = 0, udpBright = 0;
|
|||||||
void setup() {
|
void setup() {
|
||||||
misc();
|
misc();
|
||||||
delay(2000); // ждём старта есп
|
delay(2000); // ждём старта есп
|
||||||
#ifdef DEBUG_SERIAL
|
#ifdef DEBUG_SERIAL_LAMP
|
||||||
Serial.begin(115200);
|
Serial.begin(115200);
|
||||||
DEBUGLN();
|
DEBUGLN();
|
||||||
#endif
|
#endif
|
||||||
|
@@ -19,7 +19,7 @@
|
|||||||
#define MAX_PRESETS 40 // макс количество режимов
|
#define MAX_PRESETS 40 // макс количество режимов
|
||||||
|
|
||||||
// ------------------- МАКРО --------------------
|
// ------------------- МАКРО --------------------
|
||||||
#ifdef DEBUG_SERIAL
|
#ifdef DEBUG_SERIAL_LAMP
|
||||||
#define DEBUGLN(x) Serial.println(x)
|
#define DEBUGLN(x) Serial.println(x)
|
||||||
#define DEBUG(x) Serial.print(x)
|
#define DEBUG(x) Serial.print(x)
|
||||||
#else
|
#else
|
||||||
|
@@ -3,6 +3,7 @@ void effectsRoutine() {
|
|||||||
if (!effTmr.isReady()) return;
|
if (!effTmr.isReady()) return;
|
||||||
|
|
||||||
if (dawnTmr.running() || postDawn.running()) {
|
if (dawnTmr.running() || postDawn.running()) {
|
||||||
|
FastLED.setBrightness(255);
|
||||||
byte thisColor = dawnTmr.getLength8();
|
byte thisColor = dawnTmr.getLength8();
|
||||||
if (postDawn.running()) thisColor = 255;
|
if (postDawn.running()) thisColor = 255;
|
||||||
fill_solid(leds, MAX_LEDS, ColorFromPalette(HeatColors_p, thisColor, scaleFF(thisColor, dawn.bright), LINEARBLEND));
|
fill_solid(leds, MAX_LEDS, ColorFromPalette(HeatColors_p, thisColor, scaleFF(thisColor, dawn.bright), LINEARBLEND));
|
||||||
|
@@ -65,7 +65,6 @@ void checkDawn() {
|
|||||||
DEBUGLN(dawn.time * 60000ul);
|
DEBUGLN(dawn.time * 60000ul);
|
||||||
dawnTmr.setInterval(dawn.time * 60000ul);
|
dawnTmr.setInterval(dawn.time * 60000ul);
|
||||||
dawnTmr.restart();
|
dawnTmr.restart();
|
||||||
FastLED.setBrightness(255);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
firmware/PlatformIO/.gitignore
vendored
1
firmware/PlatformIO/.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
|
.DS_Store
|
||||||
.pio
|
.pio
|
||||||
.vscode/.browse.c_cpp.db*
|
.vscode/.browse.c_cpp.db*
|
||||||
.vscode/c_cpp_properties.json
|
.vscode/c_cpp_properties.json
|
||||||
|
10
firmware/PlatformIO/.vscode/settings.json
vendored
Normal file
10
firmware/PlatformIO/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"*.tcc": "cpp",
|
||||||
|
"deque": "cpp",
|
||||||
|
"list": "cpp",
|
||||||
|
"string": "cpp",
|
||||||
|
"unordered_map": "cpp",
|
||||||
|
"vector": "cpp"
|
||||||
|
}
|
||||||
|
}
|
@@ -1,7 +0,0 @@
|
|||||||
PIO project
|
|
||||||
|
|
||||||
pio update
|
|
||||||
pio run --target erase
|
|
||||||
pio run --target upload
|
|
||||||
|
|
||||||
|
|
23
firmware/PlatformIO/README.md
Normal file
23
firmware/PlatformIO/README.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# PIO project
|
||||||
|
|
||||||
|
### Prerequisites:
|
||||||
|
```
|
||||||
|
pio update
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update over wire:
|
||||||
|
```
|
||||||
|
pio run -e debug -t erase
|
||||||
|
pio run -e debug -t upload
|
||||||
|
pio run -e release -t upload
|
||||||
|
```
|
||||||
|
|
||||||
|
### Listen to serial monitor:
|
||||||
|
```
|
||||||
|
pio device monitor
|
||||||
|
```
|
||||||
|
|
||||||
|
### Update over local network:
|
||||||
|
```
|
||||||
|
pio run -e wireless -t upload
|
||||||
|
```
|
@@ -8,10 +8,26 @@
|
|||||||
; Please visit documentation for the other options and examples
|
; Please visit documentation for the other options and examples
|
||||||
; https://docs.platformio.org/page/projectconf.html
|
; https://docs.platformio.org/page/projectconf.html
|
||||||
|
|
||||||
[env:esp8266]
|
[platformio]
|
||||||
|
default_envs = debug
|
||||||
|
|
||||||
|
[env]
|
||||||
platform = espressif8266
|
platform = espressif8266
|
||||||
board = esp12e
|
board = d1_mini
|
||||||
|
board_build.ldscript = eagle.flash.4m2m.ld
|
||||||
|
board_build.flash_mode = dout
|
||||||
framework = arduino
|
framework = arduino
|
||||||
upload_speed = 460800
|
upload_speed = 460800
|
||||||
monitor_speed = 115200
|
monitor_speed = 115200
|
||||||
|
|
||||||
lib_deps = fastled/FastLED@^3.4.0
|
lib_deps = fastled/FastLED@^3.4.0
|
||||||
|
|
||||||
|
[env:release]
|
||||||
|
|
||||||
|
[env:debug]
|
||||||
|
build_type = debug
|
||||||
|
build_flags = -D DEBUG_SERIAL_LAMP
|
||||||
|
|
||||||
|
[env:wireless]
|
||||||
|
upload_protocol = espota
|
||||||
|
upload_port = 192.168.8.164
|
||||||
|
Reference in New Issue
Block a user