Giter VIP home page Giter VIP logo

firelamp_jeeui's Introduction

Что это

Обсуждение и поддержка данной прошивки идет на форуме

GitHub Logo

Управление

По кнопке:

  • Из выключенного состояния
    • 1 касание - включить на последнем эффекте
    • 2 касания - включить в режиме ДЕМО
    • долгое удержание - включить в режиме "белая лампа" на минимальную яркость (ночник)
    • касание, удержание - включить в режиме "белая лампа" на максимальную яркость
  • Во включенном состоянии
    • 1 касание - выключить лампу

    • 2 касания - следующий эффект

    • 3 касания - предыдущий эффект

    • 4 касания + 4 касания - запуск сервиса ОТА

    • 5 касаний - вывод IP на лампу

    • 6 касаний - вывод текущего времени бегущей строкой

    • удержание - регулировка яркости

    • 1 касание, удержание - регулировка "скорости" эффекта

    • 2 касания, удержание - регулировка "масштаба" эффекта

Это дефолтное состояние для кнопки, но абсолютно любую настройку можно поменять

По HTTP

команды можно посылать на лампу через браузер или curl по URL вида http://esp-xxxxxx/cmd?arg=param

  • /cmd?on /cmd?off /cmd?on=true /cmd?on=false - вкл/выкл
  • /cmd?demo - режим ДЕМО
  • /cmd?gbright /cmd?gbright=true - проверка/установка для глобальной яркости
  • /cmd?msg=Hello - вывод сообщения на лампу
  • /cmd?bright=0-255 - яркость
  • /cmd?speed=0-255 - скорость
  • /cmd?scale=0-255 - шкала
  • /cmd?effect=N - эффект номер N
  • /cmd?move_next - следующий эффект
  • /cmd?move_prev - предыдущий эффект
  • /cmd?move_rnd - случайный эффект
  • /cmd?effect - номер текущего эффекта
  • /cmd?warning /cmd?warning=[16777215,5000,500] - неблокирующий вывод мигалки поверх эффекта (выдача предупреждений)
  • /cmd?alarm=true - форсировать включение будильника
  • /cmd?dynCtrlX , к примеру cmd?dynCtrl5=123 - получить/установить значение дин. контрола
  • /cmd?reboot - перезагрузить лампу
  • /cmd?OTA - запустить сервер обновления OTA через PIO

так же команды можно объединять в цепочки в одной посылке, т.е. допустим включить лампу, установить яркость, перейти к эффекту аналогичные команды работают и для MQTT, если чего-то не хватает или что-то не получается - спрашивайте в теме

Дополнительные служебные комманды:

  • /heap - показать свободное место на куче
  • /echo - показать эхо-ответ (json для формирования интерфейса)
  • /config - показать текущий конфиг (json основных настроек)
  • /scan - показать доступные WiFi-сети
  • /config.json - скачать активный конфиг лампы
  • /events_config.json - скачать активный конфиг событий
  • /update - форма http-обновления прошивки
  • /edit - вызов редактора конфигов (esp8266/esp8266 - логин/пассворд)

ESP8266 vs ESP32

На данный момент основная разработка ведется под контроллер esp8266, в мастер ветке сборка поддерживается только под эту платформу. Код для ESP32 находится в отдельной ветке и может немного отставать от мастера пока работа приостановлена

Как собрать проект

Проект собирается с помощью Platformio

Для сборки проекта понадобится следующее:

Установить IDE Visual Studio Code, и в качестве плагина к ней установить Platformio. О том как это сделать можно найти массу роликов на youtube, например этот.

Желательно еще установить Git, обновлять проект будет значительно проще

Как скачать/обновлять проект

Актуальный срез проекта всегда можно скачать в виде zip-архива по ссылке, либо перейдя по ссылке последнего релиза, там же хранятся бинарники собранные под этот релиз Либо можно поддерживать клон репозитория и подтягивать обновления перед каждой новой сборкой Открываем Git-bash, клонируем репозиторий в тукущую папку командой 'git --depth 1 --no-single-branch https://github.com/DmytroKorniienko/FireLamp_JeeUI.git' В последующем для того чтобы обновить репозиторий достаточно перейти в папку проекта и выполнить команду 'git pull' Что бы переключиться на ветку для ESP32 выполняем команду 'git checkout esp32', переключиться обратно на master 'git checkout master'

После того как вы скопировали проект (в виде zip архива или через git clone), необходимо в папке include скопировать файл user_config.h.default под новым именем user_config.h и в нем настроить сборку под свои параметры матрицы, номеров выводов и требуемых функций.

Сборка

  • Открываем папку проекта в VSCode
  • Что бы собрать прошивку, можно воспользоваться кнопками в нижней статусной строке:
    • PlatformIO:Build - собрать прошивку
    • PlatformIO:Upload - загрузить прошивку через USB в плату.

Platformio сам скачает необходимые бибиотеки для сборки проекта.

Также можно открыть терминал с помощью клавишь Ctrl+Shit+` и воспользоваться расширенными командами для сборки проекта.

  • pio run - собрать проект по умолчанию (esp8266dev), dev версия под esp8266 c выводом отладочных сообщений через serial интерфейс.
  • pio run -e esp8266 - собрать версию esp8266, будет собрана облегченная прошивка без вывода отладочных сообщений через serial интерфейс Рекомендуется для повседневного использования, если нет нужды отлаживать работу лампы
  • pio run -e esp32dev - собрать версию esp32dev, будет собрана прошивка под esp32 c выводом отладочных сообщений через serial интерфейс
  • pio run -t upload - собрать и прошить проект по умолчанию (esp8266dev)
  • pio run -e esp8266 -t upload - собрать и прошить облегченную версию
  • pio deviсe monitor - запустить serial-монитор для просмотра сообщений, выдаваемых контроллером

После первой прошивки дальнейшие обновления можно заливать в контроллер по воздуху. Для этого нужно зайти браузером на контроллер по URL вида http://jeeui-xxxx/update, где xxxx это ID контроллера, нажать на кномку 'Firmware', выбрать файл с прошивкой и загрузить его в контроллер. Файл с прошивкой Platformio кладет в подпапки проекта:

  • .pio/build/esp8266/firmware.bin - обычная версия под esp8266
  • .pio/build/esp8266dev/firmware.bin - debug версия под esp8266
  • .pio/build/esp32dev/firmware.bin - debug версия под esp32

firelamp_jeeui's People

Contributors

dmytrokorniienko avatar kostyamat avatar anton-zolotarev avatar vortigont avatar st3p40 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.