a1xb

На Пикабу
2762 рейтинг 465 подписчиков 6 подписок 2 поста 2 в горячем
Награды:
5 лет на Пикабу
79

Делюсь прошлогодней гирляндой, доработанной и улучшенной

Привет, пикабу! 370 дней назад я написал пост про свою гирлянду, срубил плюсцов и пропал на год и пообещал выложить все необходимое, чтобы ее самостоятельно собратьну и переписать все основательно, так как старая версия была ужасна. В общем, выполняю обещание, хоть и очень поздно уже, но, надеюсь, кому-нибудь это все-таки будет полезно. Итак, вот ссылка на скачивание прошивки. Внутри лежит образ прошивки и образ файловой системы. У меня все крутилось на ESP8266 Wemos D1 mini, проверить работоспособность я смог только на ней. Нашел способ быстро и "безболезненно" собирать прошивки пачками под разные девайсы, на днях опробую и выложу уже под больше плат.


Ютьюб почему-то заблокировал вчера мое видео, поэтому, очень надеюсь, что на vimeo все будет ок. Ёлка страшная, собиралась на скорую руку лишь бы успеть, поэтому не судите строго. Сейчас она уже красивее=)

Итак, нам понадобится:

-светодиодная лента с контроллерами WS2812

-контроллер на базе ESP8266, в идеале это Wemos D1 mini, как у меня

-блок питания под ленту и контроллер

-тактовая кнопка и резистор на 10к


Для начала, подключим кнопку, как показано в этом примере, только пин для кнопки будем использовать D1, в обозначениях Wemos D1 mini. Ленту подключаем к пину D2.

Затем зальем прошивку и файловую систему через эту софтину.


Внимание, так как настройки читаются из EEPROM, если вы на своем контроллере раньше в него что-то писали, то настоятельно рекомендую его предварительно очистить.


Итак, по порядку: гирлянда имеет 3 режима работы: как клиент-подключается к вашему роутеру по WiFi, как самостоятельная точка доступа и режим принудительной настройки.


1. Режим клиента

В режиме клиента гирлянда цепляется к вашей вайфай сети, получает адрес в сети роутера и поднимает на нем http сервер. Достучаться до нее можно по адресу, который ей выдал роутер. Например, если роутер выдал ей адрес 192.168.1.10 то адрес для доуступа к веб интерфейсу будет выглядеть как http://192.168.1.10

Первая загрузка веб интерфейса происходит очень долго, запаситесь терпением. Ждать придется около 20 секунд. После загрузки все кешируется (на 1 месяц) и уже работает очень шустро. Также, не знаю как на iOS, но на андроиде можно для веб приложений создавать ярлыки на рабочем столе, я сделал так, чтобы в этом режиме приложение венлядело и работало максимально приближенно к реальному приложению. Очень рекомендую так сделать. При работе в режиме клиента контроллер мигает 1 раз в 10 секунд.


Скриншоты веб-приложения:

2. Режим точки доступа

В этом режиме гирлянда сама создает точку доступа с параметрами, которые вы ей укажете. Светодиод контроллера мигает тоже 1 раз в 10 секунд.



3. Режим принудительной настройки.

В этом режиме недоступно управление, он должен использоваться только для перенастройки устройства или, скажем, если вы ввели неправильный пароль и гирлянда не может подключиться к вашей точке доступа.

В режим принудительной настройки можно попасть в 2 случаях:

-если была нажата кнопка прямо после запуска, когда контроллер мигает 2 раза в секунду и ждет в течение 3 секунд пока пользователь нажмет кнопку

-если не удалось прочитать настройки из памяти


Что бы я еще хотел дополнительно упомянуть:


-не все светодиодные ленты имеют светодиоды подключенные по схеме RGB, поэтому, если у вас именно такая лента, то некоторые цвета, например зеленый и красный, поменяются местами.

-максимальная длина ленты 510 светодиодов, можно сделать и больше, но мне пока не надо

-без кнопки устройство всегда будет грузиться в режим принудительно настройки (3)

-есть некоторые баги, о них, просьба, сообщать мне. Протестировать абсолютно все сценарии использования и настройки у меня не хватило сил и времени, так что очень надеюсь на обратную связь.


Пару слов о разработке и технологиях. Хоть у меня и был в запасе целый год, делать гирлянду я начал только в середине нобря, поделал буквально пару дней и закрутился в круговороте дел до середины декабря, с этого момента возобновил разработку и вот вчера, 28 декабря, все доделал. Итого примерно 2 недели по вечерам и ночам, около 60 часов времени. Клиентская часть написана на Angular 5 + прикручены контролы и темы https://material.angular.io/. Обновление параметров сделано через вебсокеты в режиме реального времени. Архитектура приложения построена таким образом, чтобы можно было легко и быстро добавлять новые режимы и параметры к уже существующим режимам. Веб приложение абсолютно всю информацию о режимах, параметрах и типах параметров берет из контроллера, в зависимости от типа параметра рендерит соответствующий ему контрол и привязывает данные. Таким образом, добавление новых режимов в прошивку вызовет автоматическое обновление веб-интерфейса под них. Режиов пока мало, но широкие возможности кастомизации каждого из них на первое время устроят большинство пользователей. Режимы буду добавлять, конечно же, через год=)


Немного картинок по внутрянке, как добавлены режимы:

и параметры:

Вот, собственно, и вся магия.

От всей души поздравляю всех с Наступающим новым годом. До новых встреч!


P.S. может кому-то покажется, очень сумбурно написано или слишком много воды или что-то еще - прошу простить, чукча не писатель, чукча программист

Показать полностью 4
2395

Сделал гирлянду на 125 светодиодах с WiFi и...

Привет, пикабу. Давно хотел запилить пост, и предновогодняя волна подсказала мне нужную тему:) Это мой первый пост, поэтому прошу сильно не пинать.

Итак, поехали...

Года 4 назад я задался выбором гирлянды, с детства неровно дышу к этому элементу украшения елки, поэтому покупать абы что не хотелось, но ничего из того, что было представлено на рынке, меня не устроило, поэтому было решено вспомнить о том, что я вроде бы тыжпрограммист и знаю с какой стороны паяльник держать, поэтому было принято решение сделать свою гирлянду с блекджеком кучей разных режимов и цветов. Она уже третий год радует мою семью и всех наших новогодних гостей, но буквально сегодня утром она была знатно модернизирована, о чем я собственно и хотел бы написать.

Построена она на базе 125 RGB светодиодов с независимой адресацией (то есть каждым светодиодом можно управлять отдельно). Цвета каждого диода можно задать в диапазоне от 0 до 255, что дает нам 16 миллионов цветов и оттенков. Первая версия гирлянды была построена на базе ардуины нано, имела на борту 4 кнопки и экран для выбора режима, настройки скорости анимации, яркости и тд и тп. Также был запилен режим спектроанализатора, когда гирлянда реагировала на звуки и каждый отдельно взятый светодиод отображал пиковые значения на определенных частотах.

В этом году я решил, что управление через кнопочки это не тру и переписал все на новую платформу: ESP8266.

Она намного мощнее ардуины (что несомненный плюс в плане преобразования Фурье для спектроанализатора) и имеет встроенный WiFi модуль на борту. Для управления гирляндой я написал мобильное приложение. В нем можно в удобном виде выбрать режим анимации, настроить скорость, яркость цвет и прочие параметры, многие из которых уникальны для отдельно взятого режима. Пока приложение очень сырое, как и код прошивки модуля, но как только все будет допилено до ума, я все выложу в открытый доступ.


Думаю, достаточно слов, хотелось бы добавить видео, но рейтинга не хватает, поэтому ссылку на него оставлю в комментах (С названий режимов просьба не угорать, напряг с фантазией у меня :D).


P.S. если наберется достаточно желающих, могу написать еще по этой теме парочку статей, в слеующем году:)

Показать полностью 3
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества