2023-12-27

Полевой транзистор

Хочу собрать новую версию своей поливалки. В этот раз хочу сделать максимально простое и дешевое устройство, для чего обратился за советом к Леониду Каганову. Леонид не только талантливый писатель и поэт но еще и классный инженер, и у него есть свой продвинутый проект для полива комнатных растений. Как он все успевает я  не знаю, но когда во время последнего его визита в Берлин я ему рассказал про свой проект он мне дал несколько дельных советов на тему использования правильных компонентов для коммутирования мощной нагрузки. В частности оказалось, что мои познания о полевых транзисторах оказались, мягко говоря, сильно устаревшими. Я и не знал что существуют модели, которые открываются при напряжениях трехвольтовой логики на которой работают микроконтроллеры esp32 и esp8266.

Модель IRLML2502, которую я заказал по совету lleo оказалась несколько меньше чем я рассчитывал увидеть. Для того чтобы ее попробовать пришлось напаивать транзистор на импровизированный переходник из куска макетной платы. Хотя в даташите на этот транзистор указаны значительные токи между истоком и стоком, мне не верилось, что такая малышка сможет коммутировать мою перисталическую помпу. Но оказалось, мои сомнения были беспочвенными, малышка отлично коммутирует двигатель постоянного тока и совершенно не греется!

Теперь осталось собрать работающее устройство с ESP8266 которое будет поливать пилотный цветок.

 

Оставить комментарий

 
  2023-10-04

Прошивка решает

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

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

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

После того как очередной раз трекер умер, я решил заменить аккумулятор. Однако, трекер через несколько дней неожиданно ожил и опять начал подавать признаки жизни. Видимо, из-за низкого напряжения устройство перезагрузилось. В таком зомби-режиме устройство работает уже несколько дней. Прям интересно, как долго оно проработает и как будет работать после того как я поставлю на него другой аккумулятор?

 

Оставить комментарий

 
  2023-10-02

Универсальная зарядка и блок питания

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

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

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

Записал небольшой обзор этого устройства.

Схема устройства доступна на github.

 

Оставить комментарий

 
  2023-09-18

Как скомпилировать Arduino скетч в Docker

Скомпилировать arduino скетч можно не только про помощи Arduino IDE но и из коммандной строки. Для этого можно использовать проект arduino cli

Arduino CLI — это комплексное решение, которое предоставляет менеджеры плат/библиотек, построитель эскизов, обнаружение плат, загрузку и многие другие инструменты, необходимые для использования любой Arduino-совместимой платы и платформы из командной строки или машинных интерфейсов.

Мне удалось запустить arduino cli в докере и теперь я могу создавать исполнимые файлы для моего велотрекера прямо в CI/CD пайплайне.

Красота!

 

Оставить комментарий

 
  2023-07-08

Солнечная батарея для велотрекера

Солнечная батарея, которую я поместил в корпус из оргстекла, простояла на багажнике велосипеда все прошлое лето и зиму. Конструкция показала себя неплохо, но оргестекло в конце концов треснуло, конструкция потеряла герметичность и в нее во влажную погоду стала попадать вода, из-за чего пришлось ее срочно демонтировать.

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

Сделал из картона небольшое корытце, поместил в корытце солнечную батарею и залил полученную конструкцию прозрачной эпоксидной смолой.

После отвердевания смолы аккуратно обпилил полученную конструкцию по периметру и просверлил по углам четыре отверстия.

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

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

 

Оставить комментарий

 
  2022-09-10

Подключение OLED дисплея к ESP32 Cam

Стало интересно, можно ли подключить дисплей к модулю ESP-32 Cam. Модуль ESP-32 Cam имеет на борту камеру, и слот для SD карты. Если бы можно было еще подключить дисплей, то из этого модуля могла бы получиться дешевая цифровая камера с возможностью просматривать отснятые изображения с карты памяти. У меня завалялся монохромный дисплей SSD1306 который я попытался подключить к ESP-32 по интерфейсу I2C, однако, поскольку свободные выводы I2C на этой плате уже заняты для работы с SD картой то стандартные библиотеки от Adafrut использовать у меня не получилось.

Оказалось, однако, что такое вполне возможно, и даже обнаружил работающий проект на сайте robotzero.one.

Проект представляет собой некое подобие цифровой камеры, которая умеет делать снимки, сохранять их на SD карту и показывать их на встроенном сайте устройства по WiFI. Чтобы видео показывалось на маленьком монохромном OLED дисплее картинка подвергается масштабированию и сглаживанию методом Флойда-Штайнбурга.

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

Теперь думаю можно ли из подобного проекта cделать что-либо полезное? Выглядит уже довольно интересно.

 

Оставить комментарий

 
  2022-06-26

Противоугонное устройство для велосипеда

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

Кажется, я нащупал правильную платформу для реализации задуманного. В качестве аппаратной начинки используется плата LILYGO TTGO T-SIM7000G ESP32 которая показывает прекрасную автономность и имеет на борту полный фарш коммуникационных протоколов, включая GPS, GSM, 3G, Wifi, Bluetooth а также преобразователь для зарядки аккумулятора от солнечной батареи.

Поскольку 3d принтера у меня сейчас нет, то корпус прототипа нарисовал 3d ручкой.

Разместил устройство под седло, где оно практически не заметно.

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

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

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

 

Оставить комментарий

 
  2022-03-28

Впечатляющая автономность LILYGO TTGO T-SIM7000G ESP32

Дошли руки до купленной больше года назад платы LILYGO TTGO T-SIM7000G ESP32. Подключил солнечные батареи, адаптировал под эту плату прошивку, созданную для умного велосипеда. Устройство сидит на подоконнике уже три дня и не выказывает ни малейших признаков усталости.

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

За световой день солнечные батареи полностью заряжают 19850 аккумулятор, о чем свидетельствует светодиод, который начинает светиться зеленым к концу для.

Пожалуй, в качестве велосипедного компьютера устройство подходит даже лучше чем SIM600 - в нем уже интегрирован чип с GPS и GSM что значительно улучшает энергоэффективность.

 

Оставить комментарий

 
  2021-04-05

Автоматический полив комнатных растений

Выложил на гитхаб файлы из проекта "Поливалка".

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

Но если подумать, только ли во время отъезда нужно автоматизировать полив комнатных растений? Ведь некоторые рассеянные люди вроде меня, даже когда никуда не уезжают, постоянно забывают поливать цветы. То и дело, обнаруживаешь, что твой любимый фикус начинает засыхать, потому что его уже неделю никто не поливает. Даже цветы в офисе иногда начинают терять листья, так как никому в нашем мужском коллективе не приходит в голову регулярно их поливать... 

Читать дальше в разделе "Статьи"...

 

Оставить комментарий

 
  2021-04-05

Видео стриминг с ESP32

В сети есть много примеров того как превратить плату esp32 cam в веб-камеру способную стримить видео поток. Однако, такая веб-камера может раздавать контент только на одно устройство, что делает такое решение не очень функциональным.

Задался вопросом, как сделать так, чтобы видеопоток от веб-камеры можно было принимать на нескольких устройствах. К удивлению, в сети, почему-то, очень мало успешных решений для потокового вещания с ESP32, хотя подобный проект мог бы быть довольно интересным.

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

После нескольких вечеров экспериментов мне удалось организовать стриминг от устройства на esp32 cam в локальной сети на несколько устройств. В качестве реверсивного прокси-сервера используется nginx. FFMpeg преобразует RTSP поток от веб-камеры в RTMP видео поток который посылается на веб-сервер и раздается нескольким устройствам одновременно. В качестве видео плеера я использовал VLC но может подойти и любой другой.

Таким образом, сервер получает трафик виде одного потока от камеры esp32 который затем уже раздаётся на несколько потребителей. Веб сервер был поднят на устройстве Raspberry Pi Zero W -  мини компьютера размером с половину пластиковой карточки и стоимостью в десять долларов. Вычислительных способностей этого малыша оказалось достаточно для перекодирования в реальном времени видеопотока с ESP32 Cam и раздачи его на оконечные устройства.

Команда для перекодирования потока при помощи ffmpeg у меня получилась вот такой:

ffmpeg -rtsp_transport tcp -i rtsp://192.168.0.61:8554/mjpeg/1 \
    -f flv -tune zerolatency -preset ultrafast -r 10 -an \
    rtmp://localhost:1935/live/ccc

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

 

 

Оставить комментарий