All Projects → DmytroKorniienko → FireLamp_JeeUI

DmytroKorniienko / FireLamp_JeeUI

Licence: GPL-3.0, GPL-3.0 licenses found Licenses found GPL-3.0 LICENSE GPL-3.0 COPYING
Project Fire Lamp based on EmbUI framework (GPL license)

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
HTML
75241 projects
Batchfile
5799 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to FireLamp JeeUI

Deviot
Sublime Text plugin for IoT development based in PlatformIO ecosystem (Arduino IDE)
Stars: ✭ 281 (+264.94%)
Mutual labels:  ota, platformio
EspBuddy
Wrapper to easily upload (OTA or Serial), backup, batch query, monitor ESP8266 boards using Esptool.py, Espota.py and Platformio
Stars: ✭ 47 (-38.96%)
Mutual labels:  ota, platformio
bintray-secure-ota
Over-The-Air firmware upgrades for the Internet of Things devices with JFrog @bintray
Stars: ✭ 37 (-51.95%)
Mutual labels:  ota, platformio
platform-shakti
Shakti: development platform for PlatformIO
Stars: ✭ 26 (-66.23%)
Mutual labels:  platformio
timonel
ATtiny85/45/25 I2C bootloader
Stars: ✭ 108 (+40.26%)
Mutual labels:  platformio
fullmetalupdate
FullMetalUpdate Python client application.
Stars: ✭ 19 (-75.32%)
Mutual labels:  ota
DUS
A differential download based Over The Air(OTA) Update system for React Native
Stars: ✭ 71 (-7.79%)
Mutual labels:  ota
Tasmota
Alternative firmware for ESP8266 with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
Stars: ✭ 16,624 (+21489.61%)
Mutual labels:  ota
nextdriver
An Arduino-based controller for Celestron CG5-series equatorial mounts
Stars: ✭ 21 (-72.73%)
Mutual labels:  platformio
platformio-core-installer
PlatformIO Core Installer
Stars: ✭ 53 (-31.17%)
Mutual labels:  platformio
platform-lattice ice40
Lattice iCE40: development platform for PlatformIO
Stars: ✭ 34 (-55.84%)
Mutual labels:  platformio
cookiecutter-esp32-webserver
Cookiecutter template to get you quickly started with an ESP32-based webserver project.
Stars: ✭ 13 (-83.12%)
Mutual labels:  ota
ArduinoOcpp
OCPP 1.6 client for microcontrollers
Stars: ✭ 139 (+80.52%)
Mutual labels:  platformio
XMC-for-Arduino
Integration of Infineon's XMC microcontrollers into the Arduino IDE.
Stars: ✭ 85 (+10.39%)
Mutual labels:  platformio
uru-card
Arduino based firmware for FIDO2 Authenticator
Stars: ✭ 114 (+48.05%)
Mutual labels:  platformio
arduino-bme280
💧 Arduino library for Bosch Sensortec BME280 – combined temperature, pressure, humidity sensor. The library allows using the sensor over I2C or SPI on any board that supports Arduino.
Stars: ✭ 25 (-67.53%)
Mutual labels:  platformio
CH552
L1 R1:WCH 24MHz MCS-51 USB MCU (CH552T/CH552P/CH552E/CH552G/CH551G)
Stars: ✭ 32 (-58.44%)
Mutual labels:  pio
Wasm3 RGB Lamp
Animating an RGB lamp, using WebAssembly!
Stars: ✭ 35 (-54.55%)
Mutual labels:  platformio
canairio firmware
CanAirIO is a citizen science initiative. We are developing a mobile application that is able to set a PM2.5 or CO2 sensors, and other related sensors, as a fixed station using WiFi or mobile station with an smartphone by using a Bluetooth connection.
Stars: ✭ 84 (+9.09%)
Mutual labels:  platformio
Maix-LogoClassifier
A simple logo classifier developed using Maixduino framework and PlatfomIO, to run on K210 MCU on Sipeed's Maix dev board.
Stars: ✭ 25 (-67.53%)
Mutual labels:  platformio

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 дотики, утримання - регулювання "масштабу" ефекту

Це поведінка кнопки "за замовчуванням", але в налаштуваннях лампи її змінити.

За допомогою енкодера:

  • прокручування вліво\право - повільне регулювання яскравості, крок 1 одиниця з 0-255
  • швидке прокручування вліво\право - регулювання яскравості з кроком 16 одиниць
  • натиснути та прокрутити - зміна ефекту. (Треба мати на увазі, що буде вибрано слідуючий\попередній ефект, але сама зміна єфекту відбудеться тільки після відпускання єнкодера. При цьому номер єфекту, який ви вибираєте, буде відображатися на лампі та дисплеї TM1637, яащо він підключений та сконфігурований в проекті.)
  • натиснути та швидко прокрутити - швидка зміна номера ефекта, крок 16.
  • 1 натискання енкодера - включити\виключити лампу.
  • дії на 2, 3...7 натискань можна сконфігурувати до збирання прошивки в файлі user_config.h
  • натискання і утримання головки енкодера зі стану "виключено" включить режим "нічник", тобто ефект "Біла лампа" на низькій яскравості. Маніпуляції зі зміною єфектів приведе до виходу з режиму "нічник".

Командами 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 (застаріло, використовуеться http-update)

також команди можна об'єднувати в ланцюжки, в одній посилці. Тобто, - включити лампу, встановити яскравість, перейти до ефекту. Аналогічні команди працюють і для MQTT, якщо чогось не вистачає або щось не виходить - запитуйте в issues.

Додаткові службові команди:

  • /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, та створити локальний клон проекту собі на ПК, оновлювати проект буде значно простіше.

Також, для користувачів ОС Windows 7-11 можна скористатися інсталятором Install_builder&repo.exe. Цей інструмент встановить все, що потрібно для збірки та оновлень проекту. Достатньо виконати один за одним всі кроки меню. Увага! Для встановлення Python інструмент потрібно запустити "від Адміністратора" і потім перезапустити ПК. Все інше встановлюється в нормальному режимі. На останньому этапі буде скачано та встановлено локальний клон репозиторію, а папка з ним відкрита в Провіднику Windows.

В подальшому, для збірки та оновлення проекту, можна використовувати скрипт Builder.bat. Всі команди там описані двома мовами - англійською та українською. Для збирання проекту, засобами Builder.bat, встановлення на налаштування VSC не обов'язкове.

Як завантажити/оновлювати проект

Найпростіший спосіб - використати команду 1 або 2 (залежить який бренч ви використовуєте Master чи Dev). А також... Актуальний зріз проекту завжди можна завантажити у вигляді zip-архіву (за посиланням) (https://github.com/DmytroKorniienko/FireLamp_EmbUI/archive/master.zip), або перейшовши за посиланням останнього релізу, там же зберігаються бінарники, зібрані під цей реліз Або можна підтримувати клон репозиторію і підтягувати оновлення перед кожним новим складанням за допомогою Git.

Відкриваємо Git-bash, клонуємо репозиторій в тукучу папку командою 'git --depth 1 --no-single-branch https://github.com/DmytroKorniienko/FireLamp_EmbUI.git' В подальшому для того, щоб оновити репозиторій, достатньо перейти в папку проекту і виконати команду 'git pull' Щоб переключитися на гілку для ESP32 виконуємо команду 'git checkout esp32', перейти назад на master 'git checkout master'

Після того, як ви скопіювали проект (у вигляді zip архіву або через git clone), необхідно в папці include скопіювати файл user_config.h.default під новим ім'ям user_config.h і в ньому налаштувати складання під свої параметри матриці, пінів, функцій та додаткового обладнання, типу: кнопка\енкодер, TM1637, DFPlayer, DS18B20, вентилятор обдуву матриці, AUX-реле і таке інше.

Як зібрати проект?

Найпростіший спосіб збирати проект в Builder.bat за допомогою команд 4, 7, 7D та 9 для ESP32 (DEBUG версія для ESP32 не підтримується). Або...

  • Відкриваємо папку проекту у VSCode
  • Щоб зібрати прошивку, можна скористатися кнопками в нижньому статусному рядку:
    • PlatformIO:Build - зібрати прошивку
    • PlatformIO:Upload - завантажити прошивку через USB у плату.

Platformio сам завантажить необхідні бібіотеки для проекту.

Також можна відкрити термінал за допомогою клавіш Ctrl+Shit+` та скористатися розширеними командами для складання проекту.

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

Після першої прошивки подальші оновлення можна заливати у контролер повітрям. Для цього потрібно зайти браузером на контролер за URL-адресою http://embui-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

## Важливо знати!
  • Для роботи прошивки також потрібно прошити в контролер образ ФС! Його можна створити методами VSC, або в Builder.bat командами b або b1 для ESP32. Рекомендується спочатку прошивати прошивку, а потім ФС.
  • Читати уважно описи команд в Builder.bat, окрім команд збірки там є команди збірки-прошивки (по кабелю)
  • В папці проекту є приклад скрипта Uploader.bat.default. Цей файл можна адаптувати для бездротового оновлення прошивки або ФС, змінивши всередені IP адресу на свою, та вказавши що саме прошивати firmware.bin чи littlefs.bin для ФС. Таких файлів можна створити безліч, важливо щоб їхня назва була по шаблону Uploader-****.bat.
  • Кожен раз, коли ви робите збірку без прошивки, в Builder.bat, копія бінарного файла потрапляє в папку ../out_bin/, і саме звідти Uploader-****.bat буде брати файли для оновлення лампи по повітрю.
  • Доповнюється...

Суміжні ресурси

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].