Огненная Wi-Fi лампа на ESP32 – как мы открыли свой маленький свечной заводик
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/071b3c.png)
Наша команда разрабатывает облачную IoT платформу, и для тестирования ее механик мы регулярно создаем небольшие проекты: “умные” реле, розетки, гирлянды и т.п. Некоторые проекты получаются настолько интересными, что перерастают в полноценные продукты. Про один из таких кейсов мы и решили рассказать.
Данный кейс – это доработка open source самоделки Алекса Гайвера. Мы не просто взяли готовое решение и наклеили логотип, но и добавили собственные фишки, превратив самоделку в полноценный коммерческий продукт. Наш вариант также полностью open source. Мы делимся всеми исходниками, кодом прошивки и 3D моделями. А также, рассказываем как доработать устройство под себя. В общем, пользуйтесь на здоровье нашим опытом!
Как появилась идея огненного светильника – предыстория
У нас уже был Wi-Fi контроллер для адресных LED лент с несколькими режимами работы – готовая “умная” гирлянда. Контроллер позволяет переключать режимы, менять яркость и задавать цвет свечения диодов. Гирлянда привязывается к мобильному приложению, и управлять ей можно откуда угодно, где есть интернет.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/46bbb5.jpg)
Один из инженеров команды принес в офис адресную LED матрицу 16x16, и мы решили подключить ее к своему контроллеру. Проблем не возникло – все базовые режимы заработали. Мы могли выбрать цвет свечения диодов, запустить режим стробоскопа или классической гирлянды.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/fa5724.jpg)
Матрица как новое поле для экспериментов нам понравилась. Начали думать, что можно сделать действительно интересное.
Все уже придумано до нас (но мы нашли что улучшить)
Конечно, первое, что мы сделали – это погуглили на тему того, что вообще делают с подобными матрицами другие люди. В топе выдачи оказалась лампа Гайвера и множество ее вариантов от других разработчиков. Вполне интересный и перспективный продукт – масса возможных режимов работы, способов управления и вариантов дизайна корпуса. Ну а главное – выглядит это все очень круто!
Думать долго не стали – решили делать. Обратили внимание, что в оригинальном проекте используется микроконтроллер ESP8266. Сразу определили, что за базу возьмем ESP32 как более современный MCU. К тому же, именно на его основе мы делали все предыдущие устройства.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/bf338d.jpg)
Бегать по магазинам сантехники и условным Леруа Мерлен в поисках подходящих труб и плафонов тоже не пришлось – свой 3D принтер у нас уже тогда был. Выбрали подходящий вариант модели корпуса на Thingiverse и начали собирать свой прототип.
Кстати, если своего 3D принтера у вас нет, рекомендуем сервис makexyz – помогает найти, где сделать 3D печать, по вашему местоположению.
В первом варианте лампы никаких изменений кроме перехода на ESP32 мы не вносили. Корпус также был напечатан как есть, а матрицу установили с помощью стяжек – второй по универсальности инструмент в нашей лаборатории, после изоленты.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/0778cf.png)
Результат порадовал, вся команда была в восторге. Стало понятно, что идея стоит того, чтобы ее развивать. Начали экспериментировать с режимами работы, смотреть, что придумали участники комьюнити оригинального проекта. И в какой-то момент случилась та самая магия…. Хотя… стоп. Магия вне Хогвартса запрещена. Просто – случилось кое-что крутое.
Огненный режим – “фишка”, сразившая всех наповал
Экспериментируя с лампой, наш разработчик Сережа прикрутил режим Fire, позаимствованный из этого набора эффектов в комьюнити Алекса Гайвера. Логику режима сделали чуть проще – в оригинале присутствует вариативность в зависимости от размеров матрицы и угла ее размещения. Мы убрали этот нюанс, ориентируясь только на матрицу 16х16.
Когда появился огненный режим, то в комбинации с прозрачным плафоном вау-эффект оказался колоссальным. А руководитель параллельного проекта в компании загорелся настолько, что сразу заказал небольшую партию из 50 устройств – на подарки партнерам к Новому году.
![](https://img.youtube.com/vi/vvWkBmtLYO0/0.jpg)
![](https://tqfp.org/plugins/videopic/templates/skin/default/images/play.png)
Стало понятно, что у устройства есть неплохой коммерческий потенциал. Тем более, что мы можем предложить дополнительные преимущества над теми вариантами, что продаются в интернете или собираются вручную энтузиастами: мобильное приложение с нормальным дизайном, а не из начала 2010-х, дополнительные способы управления (голосовые команды, телефонные звонки, Telegram бот), общий доступ к управлению лампой. Все это – плюсы IoT платформы, для тестирования которой все и затевалось. Мы поняли, что у устройства есть перспективы на рынке, поэтому задумались о масштабировании DIY идеи до коммерческого продукта.
Какие доработки потребовались
Получив заказ на первую небольшую партию светильников, мы определили такой список доработок:
- добавить сенсорную кнопку для управления лампой – альтернатива мобильному приложению и просто дополнительное удобство
- предусмотреть расположение кнопки Reset на плате под ̶д̶ы̶р̶к̶о̶й̶ технологическим отверстием в корпусе;
- стилизовать корпус логотипами 2Smart;
- подобрать блок питания для полной комплектности набора;
- подобрать красивый вариант упаковки;
- добавить в комплект вкладыш с инструкцией.
- создать компактную печатную плату и предусмотреть в корпусе место для ее скрытого размещения;
По части железа и упаковки вроде бы все продумали, а вот софт наверняка будем еще дорабатывать. Могут вылезти какие-то баги прошивки, точно появятся новые режимы в мобильном приложении… Здесь-то и пригодится функционал нашей платформы по доставке обновлений – достаточно будет залить файл с новой прошивкой на сервер, и все подключенные лампы обновятся по воздуху.
Производство
Поскольку время поджимало – первые 50 ламп нужно было подготовить к началу декабря – мы запустили несколько процессов параллельно:
Заказали комплектующие в местных магазинах (времени ждать доставку с AliExpress не было, хотя там цены ниже).
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/58f159.jpg)
Занялись поиском подрядчиков для быстрого изготовления печатных плат и сборки устройств. Здесь все просто – гуглим, звоним, сравниваем цены. При наличии времени можно обратиться на jlcpcb или другой подобный сервис, но у нас сроки поджимали.
Максимально загрузили 3D принтер для изготовления корпусов.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/079bd4.jpg)
Заказали крафтовые деревянные коробки со своим логотипом.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/4b09f5.jpg)
Заказали в типографии печать вкладышей.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/dc1413.jpg)
Себестоимость одной лампы в нашем случае – около $39. Здесь нужно учесть несколько нюансов:
- комплектующие покупались в обычных интернет-магазинах Украины – при заказе на AliExpress удалось бы немного сэкономить;
- корпус распечатывался на собственном 3D принтере, в расходы внесена только небольшая амортизация оборудования и стоимость материалов – при заказе печати на стороне корпус будет стоить дороже;
- сумма учитывает изготовление коробки и печать вкладыша – дополнительные $6 в цене каждой лампы.
Вот полный расклад в долларах:
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/7dcf7c.png)
Цена готовой лампы на рынке начинается от $65, и в эту стоимость не входит подарочная крафтовая коробка. Даже ориентируясь на этот минимум, мы получим неплохую доходность, если запустим коммерческое производство таких ламп. При этом у нашего варианта устройства будут такие конкурентные преимущества, как более продвинутый микроконтроллер, обновляемая по воздуху прошивка, современное мобильное приложение.
Как собрать и настроить такую же лампу своими руками
Запуск продаж огненной лампы нашей компанией как раз в процессе. Но, рассказывая о ней, мы точно не настаиваем, чтобы вы ее покупали именно у нас, если устройство показалось интересным. Любой желающий может собрать лампу своими руками — все необходимое мы выложили в репозиторий на гитхабе: Gerber проект платы, список комплектующих, код прошивки.
Более того, если вы решите добавить собственный эффект, мы подскажем, как это сделать:
Сделайте свое ответвление (fork) проекта и клонируйте проект уже со своего гитхаба.
После клонирования проекта создайте ветку и внесите в нее изменения:
в lib/lenta/lenta.h добавьте метод эффекта:
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/b0f527.png)
в LedStripStates добавьте название эффекта:
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/b0eb15.png)
в modes_ к названию эффекта привяжите название для мобильного приложения:
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/490ac1.png)
в lib/lenta/lenta.cpp добавьте тело метода с описанием всей логики эффекта. Если необходимо, добавьте вспомогательные методы.
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/b6ecac.png)
Внимание! Не забудьте, что свечение диодов – также задача режима, для которой необходимо использовать команду LEDS.show();.
в HandleCurrentState добавьте режим в switch:
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/d2e7fe.png)
Соберите прошивку командой pio run (при этом нужно находиться в папке Firmware).
Готовый файл прошивки будет находиться в папке проекта -> Firmware/.pio/build/esp32dev/firmware.bin (если при сборке не возникли ошибки ;)
Чтобы прошить лампу своим кодом:
Подключитесь к точке доступа Wi-Fi устройства – “2Smart Lamp”.
Введите в адресную строку браузера ip-адрес 192.168.4.1 для входа в веб-интерфейс устройства. Используйте логин и пароль “admin/admin” (спасибо, что не “qwerty”, да).
Перейдите на вкладку System веб-интерфейса лампы:
![](https://tqfp.org/uploads/images/00/11/20/2022/01/11/301f38.png)
Загрузите файл прошивки, дождитесь обновления (около минуты) и убедитесь, что процесс успешно завершился.
Пока на этом все. Если вам интересно, как идут наши дела с продажами устройства — пишите в комментариях. Мы напишем об этом отдельный пост, если тема вызовет интерес. Возможно, наш опыт будет полезен тем, кто решит организовать небольшой бизнес по созданию и продаже IoT устройств. А если захотите создать у нас свое устройство – заходите в гости.
24 комментария
Насчет «бóльших заработков» на закупке деталей в Китае – очень рекомендую статейку "Стоит ли закупать компоненты в Китае". :D
Палёные ESP32 неоднократно попадались… Как и прочие, популярные среди ардуинщиков платы/детальки.
По мне лучше переплатить, и приобрести оригинал у западного магазина, который дорожит репутацией. В крайнем случае у нашего магазине, кто импортирует из Запада… Чем оказаться с распроданной партией устройств, которые начали глючить/гореть у 100 человек одновременно. :)
Но в целом по статейке – да, свои устройства действительно можно создавать, и распродавать. Хоть даже на OLX выложить. :)
Главное, держаться ниже какого-то предела по масштабам(летать под радаром), т.к. в Украине практически нереально легализовать «настоящее» производство электроники, чтобы было прямо всё «по-белому» и можно было ставить штамп «Made in Ukraine».
Так из-за несметного количества регуляций по материалам, излучениям, пожарной безопасности, и т.д. – на всё нужны сертификаты тестирования в лабораториях, обойдуться которые сильно дороже прибыли которую маленький бизнес сможет извлечь с продажи устройства.
Все больше устройств «умнеет», учиться выходить в интернет и обмениваться данными.
Часто это сильно упрощает жизнь, но несет с собой новый спектр рисков. С новыми технологиями всегда так и никуда от этого не деться.
Касательно закупки компонентов в Китае — отличная статья, действительно при работе с поднебесной есть множество нюансов и дополнительных рисков. Но риск всегда идет бок о бок с преимуществами.
Возможности доставки в любую точку планеты, стоимость комплектующих и ассортимент часто перевешивает потенциальный риск купить некачественное г.
Тут важно найти баланс цена/качество/риск. Классно что есть материалы вроде вашего, которые в этом помогают.
Кстати про OLX, спасибо за наводку:)
www.olx.ua/d/obyavlenie/ognennaya-wi-fi-lampa-s-mobilnym-prilozheniem-wow-fire-lamp-IDNXLuP.html
В чем проблема масштабов вот конкретно с этими лампами? Клепайте и продавайте на той же розетке. Куча всего с алиэкспресс продается, никаких сертификаторв там нет и не будет.
Мы использовали комплектующие, которые были в быстром доступе.
Что за команда, что за платформа?
Проект описанный в статье, как раз управляется через нашу платформу и мобильное приложения.
Подробности найдете по ссылке: 2smart.com/
Параллельно разрабатываем, поддерживаем и монетизируем несколько проектов, плюс небольшие частные инвестиции, на это и живем. Платформа — наш основой продукт, который активней всего развиваем.
С нашими кейсами и ценами также можете ознакомиться на сайте:)
К примеру контролер умной теплицы, который реализует полную автоматизацию промышленной теплицы. Он обеспечивает контроль за температурой воздуха, влажностью, содержанием CO2 и другими параметрами, на их основе запускает автоматизированные сценарии вроде полива и проветривания. Также обеспечивает передачу уведомлений в мобильное приложение о заданных событиях и в целом позволяет удаленно управлять теплицей через приложение.
Другой пример — контроллеры для СКУД системы, управляющие электромагнитными, электромеханическими замками и автоматикой с сухим контактом. Он поддерживает локальное хранение достаточного объемного вайтлиста пользовательских идентификаторов и работу с мобильным приложением.
Собственно, как уже писали выше, подробно изучить предоставляемые услуги, а также ознакомиться с решениями, которые мы внедряем при разработке вы можете у нас на сайте:
2smart.com/ru/business
Так есть на это ПЛК и море прочих контроллеров. Какой резон у Вас заказывать? Если бы Вы привели конкретный пример и стоимость — это еще как-то можно говорить.
«Другой пример — контроллеры для СКУД системы»
Тоже, кто в здравом уме будет заказывать разработку, а не купит готовую СКУД?
«ознакомиться с решениями, которые мы внедряем при разработке вы можете у нас на сайте: 2smart.com/ru/business»
А где там подробности? Увидел только набор шаблонных рекламных слоганов, информации ноль.
О СКУД — к нам обратился заказчик, которого не устраивал функционал доступных на рынке СКУД. Ключевые недостатки — устаревшие и перегруженные интерфейсы для управления СКУД, требующие дополнительных затрат на обучение сотрудников для работы с ними, отсутствие мобильного приложения, невозможность подключения существующих контроллеров СКУД к интернету по беспроводным подключениям, отсутствие возможности синхронизации правил доступа в реальном времени.
Подробности по реализациям вы можете найти на сайте, в разделе «Кейсы» есть кнопки «Скачать PDF». По ним вы найдете детализированную информацию о реализованных проектах.
А про теплицы где?
«Вы можете использовать и ПЛК, никаких проблем, но система на таких контроллерах куда сложнее в развертывании и настройке. Еще необходима отдельная панель для вывода изображения, или спаренная с контроллером, но это дороже. „
Неужели разработка целого контроллера дешевле?
“Наш контроллер из коробки»
Из коробки означает тиражируемую систему, имеющую всю документацию и подробные руководства пользователя. У вас судя по всему этого нет, значит это поделка под конкретного заказчика.
Решение работает, заказчик и его клиенты довольны, все поставленные требования закрыты. Как вы по фотографиям определили, что плата вызывает опасения — загадка:)
У нас есть и другие реализованные кейсы, которых нет на сайте. При этом наработки по этим проектам мы используем как фреймворк для реализации будущих проектов. Штука в том, что написание каждого такого кейса весьма затратное мероприятие. Сейчас есть более приоритетные задачи по созданию контента, как только ресурс освободится — напишем еще кейсы и обязательно расскажем о наших достижениях:)
А никто и не говорит что дешевле. Мы говорим что функционал, простота развертывания и эксплуатации будут на голову выше чем у реализации на ПЛК. Цена — не единственное конкурентное преимущество:)
«Из коробки» в данном случае подразумевается следующее: установил и все работает без дополнительных модулей и сложных настроек, с привлечением кучи специалистов.
Блок питания странный, какая-то сборка перевернутая. Использование ESP32 в варианте для ардуинщиков, линейник с «радиатором» вместо step down.
Оно и не удивительно, поделка от какого-то радиолюбителя — www.voltlog.com/tag/diy-esp32-arduino-valve-actuator/
Зато исходники на github и ESP32, как сейчас модно.
Еще порадовали симисторы в SO8-подобном корпусе, греться это все будет неслабо.
А если нужна помощь с разработкой IoT решения — оставляйте заявку на сайте, с удовольствием проконсультируем, решим вашу задачу, предоставим необходимую документацию, сделаем все в лучшем виде:)
По какой гуще? Там плата крупным планом, что вам еще надо для анализа? И кстати у чела вышла уже RevC, а у вас на фото RevA, проблемная, судя по блогу разработчика )
«А если нужна помощь с разработкой IoT решения — оставляйте заявку»
А если надо не «IoT-решение» или не на ESP32, потянете?
А что там в качестве нагрузки у этих 10 симисторов?
Это плохой, негодный принцип системного проектирования. Надо исходить из изначально заложенных основ, а не тыкать в то что «решение работает». Проверка уровня «решение работает» возможна на тиражах в тысячи и времени в года и в итоге дорого обходится.
Реально страшно что сейчас уже становится нормой пихать в пром. оборудования вот такие вот решения. Ардуинщики задали моду на быстрые и дешевые поделки, о последствиях никто не думает.