Хабрахабр

Pet-проекты — маленькая жизнь

ИТ, несомненно, является основным увлечением. Я увлеченный человек. Домашние животные, квартира, стройка. Но параллельно у меня появляются другие. Одним из таких оверхедов стала разработка LED светильников для аквариума. Везде я пытаюсь что-то заоверхедить.

Лампа лампой. Казалось бы — что такого можно тут сотворить? Но, как всегда, все гораздо сложнее, если мы этого захотим.
Я завел себе морской аквариум. Я тоже так думал. с пресноводным его сравнивать совершенно невозможно. Это очень важное замечание, т.к. Как вы думаете что это? Основной фокус в морском аквариуме бросается на кораллы.

А вот и нет. Цветочки? Простые мореманы называют его ксюхой (xenia pulse). Это мягкий коралл. Его розовые лапки сжимаются и разжимаются. Он примечателен тем, что пульсирует. Стоимость таких кораллов не велика и иногда их даже отдают даром. Это потрясающее зрелище — целые поля пульсирующих кораллов! Но в среднем, нужно готовить от 300р до 1000р за коралл.

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

Их отличает от мягких наличие скелета. Другой класс кораллов это LPS- крупнополипные жесткие кораллы.

Цена такой прелести начинается от 10$ за полип. Слева можно обнаружить тот самый оголившийся скелет. вот то, что вы видите на картинке стоит… ну… где-то 500$. Т.е.

Для них важны параметры воды и света. Содержание этих кораллов уже другая история. Вот это: Знаете что нужно иметь, чтобы позволить себе такую красоту?

Я не в курсе почему он так называется. Это — САМП. Но для техномана это прям… то, что нужно. Наверное как-то расшифровывается.

Мелкополипный жесткий коралл. Замыкает тройку — SPS.

Что-то типа этого: Если фото с САМПом вам показалось страшноватым, то чтобы содержать таких малышек, нужно иметь (по-хорошему) отдельную комнату с оборудованием.

Цена таких пипсиков (фраг кораллов примерно 5х5х5см) может легко начинаться от 500$.

Раздолье для оверхеда и DIY. Несомненно, все что на фото САМПа, очень интересно сделать самому. Но есть другой раздел содержания морского аквариума — свет.

Это связано с тем, что кораллы — симбиоты. Все дело в том, что кораллы чувствительны к составу спектра, а также им требуется достаточно мощное освещение. Именно они перерабатывают энергию света и питают коралл. В их телах содержатся симбиотические водоросли — зооксантеллы.

В природе они друг-друга даже не встречают. В аквариуме вы можете встретить “солянку” из разных типов кораллов (мягкие, LPS, SPS). Живут в различных условиях и освещаются “разным солнцем”.

Это связано с естественной фильтрацией света морской водой. Чем глубже кораллы живут, тем меньше к ним попадает “красной части спектра” из солнечного света и больше “синей”. Если свет кораллам не нравится — они умрут. А вот светильник должен угодить всем. Или будут сильно страдать.

Они в целом имеют положительный эффект и на кораллы, но предназначены скорее для наблюдателя. Второй важной функцией являются визуальные эффекты светильника. Самые распространенные из них — закаты и рассветы.

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

И лунные циклы, и имитация погодных явлений, и освещение по настроению. Простора для фантазии ИТшника просто масса! Представьте, стоит у вас аквариум рядом с телевизором, а вы захотели посмотреть кино с семьей. “Темная тема”, как не смешно, тоже нужна. И аквариум перешел в минимальное освещение. Бац.

Страшно. В общем, начал я болеть этой темой. Да не простую, а оверхедную по самое небалуйся! И запилил я свою прошивку для контроллера ESP8266.

Чип ESP8266 смотрелся тогда невероятно привлекательным по всем параметрам за исключением одного — у него не было достаточного количества ног для управления каналами светильника. Целью было создать самый простой и дешевый контроллер. Ах, да…

Так вот, чтобы угодить всем кораллам, в светильник устанавливаются несколько типов диодов. Совсем забыл дать небольшой экскурс в устройство современных аквариумных светильников. Разные типы диодов группируются и регулируются отдельно. С разными спектрами и мощностью. Чем больше каналов в светильнике, тем точнее вы можете подобрать нужный спектр. Такая группа называется — каналом.

А еще, немаловажным является параметры ШИМ на этих ногах. Вот для управления этими каналами чипу нужно по одной ноге на канал. Вы можете встретить эту характеристику даже на обычных диодных лампах. Если очень просто, то это частота мерцания. Чем она выше, тем лучше.

Потратив немного времени я нашел еще один интересный чип — PCA9685. В общем, одного чипа ESP8266 мне не хватило. Уж, этого добра полно на ардуино. Осталось дело за малым — часы реального времени. Я взял DS3231.

В куче это стало выглядеть так:

К свершениям! Вперед! Быстро выяснилась еще деталь — поставляемая SDK на этот чип занимает практически все его ресурсы. — Подумал я, и сел за Arduino IDE. Что-то запилить было конечно возможно, но что-то нормальное — нет.

Не долго думая, я объявил сее устройство IoT вещью и запилил к нему облако. Но цель-то была в оверхеде! И не надо так смеяться. На joomla!.. Но это готовая CMS. Да, даже тогда я знал, что это не лучшее решение для облаков. Завоевывать мир я не собирался, а как налабать пару плагинов к ней — знал.

Сказали, что “верят в меня”. Нужно добавить, что на профильном форуме, как водится, меня конечно “поддержали”. Особенно товарищи, которые пытались родить подобное уже года три.

Ах жаль, что я не могу давать ссылки тут на подобные проекты. Через месяц я выкатил облако с прекрасным, замечательным UI, который подарил всему человечеству (кто сможет его реализовать) мой хороший друг.

И так, что я затащил:

  • Визуализацию спектра и в 2D и в 3D;
  • Трансляцию светового дня с любой точки мира;
  • Отображение в реальном времени значений датчиков;
  • Уведомление о выходе за предельные значения датчиков (для этого впилил тогда очень модные и неизведанные (ServiceWorkers);
  • Сделал элементы социалки (спектрами можно было делиться).

Тут нужно пояснить как работало облако с IoT. Но эпическим оверхедом стала инфраструктура.

Трансляции по крону запускали пересчет программ для контроллеров. Все тяжелые преобразования проводились в облаке. Она была очень проста, что позволяло ее без проблем выполнять на ESP8266. Контроллер же раз в минуту ходил GET запросом и получал очередную, актуализированную программу.

Мне даже “ума” хватило посмотреть как бы мне АС (автономную систему IP адресов) себе получить. Так вот, чтобы вся эта “идиллия” не рухнула одномоментно, из-за недоступности моего облака, я сделал резервную площадку у независимого хостера. Хорошо, что разум над умом восторжествовал.

Это позволило сократить обращения на бэкенд раз в 100. Конечно, я прикрутил CloudFlare и настроил политику кэширования программ для контроллеров. Тогда облаком пользовалось 9 человек. Короче… развернутая инфраструктура была готова к высоким нагрузкам! Но доступность… за 4 года облако так и не упало ни разу.

Для аквариума. Читатель, я просто напомню, что речь сейчас идет про светильник. А точнее про контроллер от него.

Я решил сделать физический контроллер. Наверное, тут стоило бы свое расчесанное ЧСЗ помазать детским кремом и лечь спать, но… мне этого показалось мало. И родилось это…

Кстати, это мой первый контроллер, на который я сам монтировал всю комплектуху. До этого я никогда не держал паяльник в руках. А потом заботливо поливал лачком plastic. Фенчиком. Горжусь тобой! Ммм… лапа моя! (это я контроллеру)

Это было просто счастье какое-то! И тут… у меня появился друг — электронщик. Только в сфере электроники. Он оказался таким же увлеченным человеком. На пару мы начали штамповать разные “очень нужные” устройства.

ESP умела его прошивать. Вместе мы выпустили первый “взрослый” контроллер, который на борту имел MCU. Что позволяло по облаку отдавать обновления.

Да, да… все это время над моим аквариумом висело нечто убогое из радиатора и каких-то матриц, которое включалось по механическому, китайскому таймеру. И тут, наконец я собрал свой светильник. Но напоминало это скорее куча хлама, лежащего на аквариуме. К сожалению, фото не сохранились.

Как вы думаете, каким стал мой новый светильник?

Это СВО (водянка). Это именно то, о чем вы могли подумать. Надо отметить, что он работает до сих пор. Именно так, не много и не мало, я решил скомпоновать свой светильник.

Все дело в том, что аквариумисты из нас получились такие себе… пока мы ваяли все эти супер-крутые железки, наши аквариумы превратились в болото. Когда все было сделано, все оверхеды достигнуты, мы с другом задались вопросом — а что теперь? Т.е., вот это вот все, что мы наделали — продать. И мы решили замутить бизнес.

Обычные аквариумисты, в сущности, оказались простыми людьми. Не буду развивать тут нытье, но… все, что мы наделали, попросту, никому не нужно оказалось. Которые в аквариуме ценят красоту кораллов, поведение рыбок и чтобы все просто работало.

Для детишек. И хотя есть ценители, которые готовы отдавать за кораллы огромные суммы, большинство аквариумистов заводит аквариум как нечто временное. А забацали мы реально крутую штуку: И они просто не готовы отдавать ему столько времени, сколько требуется для осознания всей крутизны светильника, который мы забацали.

Вот на этом агрегате, который купил мой друг для наших pet-проектов

и замутил вот такую мастерскую:

И пусть мы оказались плохие аквариумисты, но это был очень и очень интересный этап в нашей жизни.

Я узнал о физике света. Я узнал очень много нового об океане, о том как и чем живет там флора и фауна. Нам удалось пройти очень интересный путь по организации своего полного цикла производства (причем, я в Питере, а друг в Астане). Много узнал о материалах и их свойствах. Увидел реального покупателя своего оверхеда и понял, почему бизнес бухтит на нас ИТшников, когда мы хотим что-то сделать, ну, оооооочень классно. Я узнал что такое IoT, какие там есть технологии.

С которым мы можем на пару сделать все, что захотим. Но самое, самое главное — я получил отличного друга. Ради этого, можно было бы и еще раз весь путь пройти.

В высоконагруженные системы. Ну, а еще, как мелочь, я ушел в WEB. Но это так… мелочи. И моя ЗП увеличилась раза в три.

Любите свои pet-проекты!

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть