Дописи 07.07.2023 о 16:49 comment views icon

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвитку

author avatar
https://itc.ua/wp-content/uploads/2023/07/Avatar256-150x150.png *** https://itc.ua/wp-content/uploads/2023/07/Avatar256-150x150.png *** https://itc.ua/wp-content/uploads/2023/07/Avatar256-150x150.png

slingmaster

автор

Цей матеріал – не редакційнийЦе – особиста думка його автора. Редакція може не розділяти цю думку.

24 лютого 2022 року ми прокинулися від вибуху ракет. Повзуча війна тяглася з 2014 року, але зараз перейшла в активну фазу. Через декілька днів мені довелося переїхати до доньки, оскільки наш мікрорайон був підданий бомбардуванню. Було відсутнє водопостачання та опалення, а неперервні обстріли створювали постійну небезпеку. Два шістнадцятиповерхових будинки та обидва супермаркети були зруйновані, на нижніх поверхах повилітали шибки, залишатись вдома не мало сенсу. Ми переїхали з окраїн ближче до центру Харкова, де ми могли якось жити. Внучка разом зі своїми батьками вирушила далі вглиб країни, далі від жахів війни. Проте, навіть у відносній безпеці, постійні обстріли не дозволяли нам заспокоїтися. На другому місяці війни я захотів відволіктися трохи, і саме тоді з’явилася ця ідея. Спочатку вона зародилася у моїй голові, потім перейшла на папір, а з середини літа стала втілюватися в реальну, коли стало можливим іноді повертатися до мого дому.

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвитку

Моя основна мета полягала у тому, щоб заспокоїти свої нерви в цей складний час. Як би не війна, я все одно б займався цим, оскільки це моє хобі. Це вже була третя конструкція лампи, яка була навіяна подіями того часу, зокрема розмовами в інформ просторі про Ленд-ліз. Основна ідея полягала в тому, щоб лампа нагадувала AAWS-M “Javelin”. Тому така назва на честь допомоги, яку нам надав американський народ під час того періоду, за що їм велика подяка, а ЗСУ безмежна.

Важливо відзначити, що проєкт цей є відкритим, і кожен, хто бажає, може його повторити. Цей проєкт це глибока реконструкція Лампи Гайвера, з новим функціоналом та ефектами, а також оригінальним програмним забезпеченням.

Лампа Гайвера (Gyver Lamp) — саморобний прилад, який отримав назву на честь знаменитого героя телесеріалу “MacGyver”. Ця лампа стала популярною серед творчих інженерів, ентузіастів і просто творчих людей, оскільки вона може бути зібрана з доступних матеріалів та простих речей, які можуть бути знайдені в побуті. Лампа Гайвера стала популярною як проект DIY (зроби сам), оскільки вона втілює концепцію творчості, інженерної майстерності та здатності використовувати доступні ресурси для розв’язання проблем. Вона символізує здатність до імпровізації і знаходження рішень в несподіваних ситуаціях — як саме вміло робив це головний герой серіалу “MacGyver”.
* як що вірити chatGPT

Інструкції, схеми, прошивку та програмне забезпечення можна завантажити за посиланням  github.com

Онлайн-курс "Асинхронне програмування" від robot_dreams.
Опануйте підходи асинхронного програмування на Python для розробки швидких та ефективних програм.Вас навчатиме Lead Python Software Engineer у SoftServe.
Детальніше про курс

В цій статті я буду розміщувати картинки з конструкцією лампи та UI додатків. Опис особливостей буде зручніше отримати під відео на моєму YouTube каналі в дописах до відео. Щоб не порушувати правила блога я не даю пряме посилання, якщо вас зацікавлять подробиці ви можете знайти по тегу @SlingMasterJSC.

Прошивка для лампи та програмне забезпечення доступні для всіх, за винятком країни агресора, про це пізніше.

Основні можливості лампи «Javelin»

  • Вбудовані в прошивку лампи 122 ефекти.
  • Робота як в режимі WiFi точки доступу або як WiFi клієнта для роутера.
  • Вбудована HTML сторінка для першого підключення до WiFi мережі.
  • Автоматичне сканування доступних ламп в мережі.
  • Можливість тонкої настройки під свої потреби з урахуванням конструкції лампи, включаючи конструктивні особливості та функціональні вподобання.
  • Управління матрицями та стрічками на базі адресних світлодіодів WS2812B, включаючи різні варіанти конфігурацій.
  • Підтримка кругового індикатора стану та механічної кнопки для оригінальної конструкції “Javelin”.
  • Зовнішнє управління лампою за допомогою протоколів HTTP, MQTT, UDP з використанням формату даних JSON.
  • Рандомне налаштування ефектів і автоматична зміна ефектів.
  • Будильник “Світанок”.
  • Управління групою ламп в один клік.
  • Таймер автоматичного вимкнення лампи після тривалого використання.
  • Підтримка файлових систем SPIFFS та LittleFS.
  • Двомовний UI (український, англійський).
  • Підтримка безпровідного оновлення (OTA).
  • Тест LED матриці для перевірки підключення та конфігурації.
  • Режим “Javelin” (імітація пострілу та діагностика).
  • Управління лампою за допомогою сенсорної кнопки та механічної кнопки для оригінальної конструкції.
  • Оповіщення про доступність оновлень для лампи.

Конструкція лампи

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуМатеріали

 

Онлайн-курс "Асинхронне програмування" від robot_dreams.
Опануйте підходи асинхронного програмування на Python для розробки швидких та ефективних програм.Вас навчатиме Lead Python Software Engineer у SoftServe.
Детальніше про курс

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуЕлектронні компоненти та бойова частина в зборі

 

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуІндикатор стану та органи керування

Конструкція лампи може викликати інтерес лише у деяких людей, тому я надам загальний опис. Докладнішу інформацію та коментарі можна знайти під відео на моєму YouTube каналі є багато відео про конструкцію та програмне забезпечення.

Наприклад, у дописі відео, де я розповідаю про вибір розсіювача і надаю докладні коментарі щодо результатів вибору. Загалом, корпус лампи був створений з використанням доступних матеріалів, таких як сантехнічні деталі, пакування, інсулінові шприци, контейнери від парфумів тощо. Електронні компоненти для лампи були придбані на AliExpress.

Немає сенсу надавати окремі посилання на кожне відео, оскільки вони пронумеровані. Ви можете почати з першого відео, щоб отримати загальне уявлення про хід проєкту. Однак, якщо ви цікавитеся конкретно лампою, ви можете переглянути це відео. Це відео демонструє доступні ефекти, які були вбудовані в лампу на той момент, та на саму конструкцію лампи в зібраному стані

Програмне забезпечення

Все програмне забезпечення, від ідеї до реалізації, було розроблене мною як хобі. Спочатку я переробив прошивку з метою навчання (Arduino C++ був моїм дебютом у програмуванні, до цього я знав про C++ як мову програмування зі строгою типізацією), а також для додавання нових можливостей. Основною мотивацією було створення красивого та зручного користувацького інтерфейсу, який би був зрозумілий як для звичайного користувача, так і для розробника. На мою думку, це вдалося, і окрім керування, було цікаво написати свої власні ефекти.

Додаток WiFi Lamp Javelin Remote

• Кросплатформене керування налаштуваннями лампи та режимами через WiFi.
• Керування лампою, коли вона перебуває в режимі точки доступу, доступне тільки для Windows та Android (SDK 23 – 30 | Android 6 – Android 11 та вище) та прямо з браузера WiFi Lamp Remote
• Об’єднання ламп в групу та керування групою ламп одночасно.
• Зручний інтерфейс програми, призначений як для простих користувачів, так і для розробників.
• Двомовний інтерфейс (українська, англійська).
• Режим “Javelin” з емуляцією пострілу.

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуДодаток WiFi Lamp Remote для Windows

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуДодаток WiFi Lamp Remote для Android

Додаток WiFi Lamp Projector

  • Вбудована підтримка потокової трансляції gif анімацій та відображення зображень у форматі png та jpg на лампі за допомогою протоколу UDP.
  • Інструменти для розробника, що включають підбір кольору та градієнтних заливок в режимі реального часу.

Приклад роботи додатка можна переглянути нижче

До війни я спілкувався з розробниками та користувачами на технічних форумах. Проте, поведінка великої більшості росіян надалі мене шокувала. Це спонукало мене до ідеї обмежити доступ до програми для користувачів з Росії. Тому в лампі є функція активації, яка доступна для всіх, крім росіян.

Мене турбує використання образливої мови в Інтернеті. Про те, програмне забезпечення лампи буде відтворювати для користувачів з Росії тільки те, що думають про путіна харківські вболівальники футболу та мешканці міста.

Для білорусів простим нагадуванням:
“Белорусы, к вам отношение особое. Пока оно лояльное, но нас сильно беспокоит тот факт, что с вашей територии бомбят наши города. Гоните мордор со своей земли пока они не начали вас защищать. Дякую вам за підтримку України”. Це й було поштовхом для написання наступної програми, оскільки дані вже наявні. Чому б не використати їх за призначенням?

Додаток Lamp Remote Stats

• Статистика використання версій прошивок.
• Статистика використання програмного забезпечення та відображення локації на google map.
• Статистика використання OS.

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуДодаток Lamp Remote Stats для Windows

Додаток Color Music

Візуалізатор звуку в стилі ретро, який дозволяє створити захопливу візуальну експериенцію для музики. Він простими словами втілює дух моди моєї молодості. Цей додаток є медіа плеєром з унікальним візуальним ефектом, який реагує на звук та створює світлові мотиви відповідно до музики.

Він поєднує у собі ностальгію за ретро-стилем та сучасні можливості візуалізації звуку, дозволяючи насолоджуватися музикою з новою енергією та емоціями. Я попросив chatGPT створити цей абзац, і здається, коли я йому сказав “будь ласка”, результат вийшов ще кращим):.

Основні можливості додатка включають:

  • Відтворення музики у форматі mp3 з можливістю управління (відтворення, зупинка, наступний трек, попередній трек) та можливість відтворення всієї музики з вибраної теки.
  • Регулювання гучності (це не впливає на візуалізацію світла, але впливає на аудіо).
  • Кнопка ввімкнення логарифмічного спектра (це впливає на візуалізацію світла на лампі) – рекомендований режим.
  • Кнопка “mute” для плавного зниження або підвищення гучності звуку (це не впливає на візуалізацію світла).
  • Приємний інтерфейс у ретро-стилі, що створює особливу атмосферу.
  • Вибір різних візуалізацій звуку прямо з додатку, що дозволяє насолоджуватися різноманітними ефектами світломузики під час прослуховування музики.
  • Цей додаток дозволяє створити особливу взаємодію між аудіо та візуальними ефектами, додаючи емоційну складову до вашого музичного досвіду. * цей додаток не тільки напише те що думає про путіна, а ще й заспіває.

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвиткуДодаток Color Music для Windows

Для розробки програмного забезпечення використовувалися мови програмування JavaScript, Pascal (Delphi), Java (Android) та Arduino C++.

Як що ви думаєте що це все, то це не так. Цей пристрій дійсно відкриває безліч можливостей для творчості та експериментів. Доступ до коду лампи виявився надзвичайно корисним для мене, оскільки дозволив вивчити роботу з різними протоколами, з якими раніше не мав досвіду. В лампі за замовчуванням був вбудований MQTT протокол, але виявилося, що його використання не таке просте, як я очікував. Але завдяки лампі я зміг успішно реалізувати протокол для проекту Node-red, навіть не маючи окремого пристрою для цього.

Раніше я навіть не уявляв, що лампа може бути настільки корисною в розробці, особливо коли використовуєш готовий пристрій і можеш уникнути зайвої замороченості з документацією по використанню протоколу на етапі розробки. Це було дуже цікавим та пізнавальним досвідом для мене.

Головне — знайти корисну ідею та отримувати задоволення від своєї роботи. Я хочу поділитися ще одним прикладом ефекту, який називається “теплові мережі”. Цей ефект створений для візуального відображення температури води та режиму роботи вентилятора у ванній кімнаті. Оскільки у мене є проблеми з водопостачанням теплої води, цей ефект став корисним підказувальником для мене.

Програмування є надзвичайно цікавою справою, і, можливо, комусь стане в пригоді, особливо в такі складні часи, які ми зараз переживаємо. Згадав, я зібрав навіть люстру на основі цієї прошивки. Це, мабуть, підсвідомо виникає в мені зажадання створити теплу атмосферу домашнього затишку. Це може бути винагорода домівці за те що вона вистояла.

Wi-Fi лампа Javelin з адресними світлодіодами: сумна історія створення та розвитку

Я бажаю вам, щоб ваше хобі перетворилося на високооплачувану роботу. Це може стати вашим майбутнім, я вірю в це.

Моїм асистентом у написанні статті був ChatGPT, а у розробці програмного забезпечення мені допомагав мій чотирилапий друг, junior на прізвисько Арчик ):.

Цей матеріал – не редакційнийЦе – особиста думка його автора. Редакція може не розділяти цю думку.


Loading comments...

Повідомити про помилку

Текст, який буде надіслано нашим редакторам: