Giter VIP home page Giter VIP logo

firelamp_jeeui's Introduction

People of good will, we Ukrainians appeal to you! The Russian Fuhrer sent all the military power of his Russian Reich to our country. Do not believe rashist-fascist propaganda. Ukrainians defend their home and believe that the free people of the whole world will support us in this. The Russian Reich will fall, the Russian Fuhrer will answer for nuclear threats to the whole world, victory will be ours!

Гражданам России. В связи с тем, что ваша страна развязала полномасштабную войну против моей страны, тех, кто поддерживает действия своего фюрера, просим собрать остатки совести и не использовать этот проект, как проект авторов из ненавистной вам Украины. Тем, же, кто против войны, команда проекта соболезнует, вам, и вашим детям нести этот стыд. Проект не закрывется, но переносится на после нашей победы! Будет "денационализирован" (будет убрана рус.озвучка, рус.переводы, эффекты с российской символикой). Зарубежным же друзьям, кто мог раньше пользоваться русскоязычным интерфейсов, приносим искренние извинения. Друзья, используя ../include/text_res-UA.h делайте переводы на свои родные языки, и предлагайте в issues. Слава Україні!!

Что это

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 полностью поддерживается на уровне движка, но имеет ограниченный функционал (в основном связанный со сторонними библиотеками).

Сборка под ESP32 выполняется отдельно. pio run -e 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

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.