Hero Image

Автономный ретранслятор POK004: связь там, где её нет

В предыдущих статьях мы уже закрыли две важные ниши — датчик почвы и датчик уровня и температуры воды в бочке. Сегодня речь пойдёт об устройстве из совсем другого класса. POK004 — это ретранслятор Zigbee, то есть устройство без, казалось бы, прямой полезной функции. Оно ничего не меряет и ничем не управляет, а просто переносит чужие пакеты. На фото выше — характерная мизансцена: бочка-накопитель с одной стороны, теплица с другой, между ними воткнутый в грядку POK004. Без него датчики и краны в теплице просто не дотянулись бы до шлюза в дачном домике, и вся остальная история не заработала бы. Сейчас расскажем, почему так получается и как мы это решали.

Зачем вообще нужен отдельный ретранслятор

Тут надо сделать шаг назад. Zigbee — это mesh, многосвязная сеть, и устроена она так, что практически любое устройство Zigbee с сетевым питанием уже выполняет функции роутера/ретранслятора. Подробнее об этом — в нашей статье про меш-сеть и зону покрытия. Из этого следует приятный вывод: специальный роутер как отдельный класс устройств вообще-то не очень нужен. Поставили в коридоре умную розетку — и заодно расширили сеть. В мире квартир и домов это так и работает, и работает хорошо.

Но мы не про квартиры. Мы — огородники выходного дня, и мы пытаемся автоматизировать полив, например, в теплице. И тут начинаются нюансы.

Даже минимальный автополив в теплице — это уже несколько устройств: датчик почвы, датчик уровня и температуры воды, два крана (один на полив, второй на дозалив бочки). А если по-хорошему — добавляется датчик климата, ещё один датчик почвы, иногда второй датчик уровня. Шесть-семь устройств в одной зоне. И вот если эта зона оказалась на дальнем краю участка, в тридцати-сорока метрах от дома, где живёт шлюз, — всем этим устройствам нужно как-то добивать до него сигнал. А они почти все с батарейками, с маленькими антеннами, и при этом стоят там, где стоят: датчик почвы — в земле, краны — у бочки, и переместить их «поближе к домику ради лучшей связи» нельзя.

Тут иногда выбирают путь грубой силы: большая батарейка, внешняя антенна, мощный передатчик — индивидуально на каждое устройство. На наш взгляд, это не Zigbee way. Это история одной точки, а не сети. Гораздо честнее по архитектуре поставить один специализированный роутер в правильном месте — у которого будет и нормальное питание, и хорошая антенна, и свобода выбора положения. И уже через него все шесть-семь устройств зоны будут спокойно общаться со шлюзом маленькими экономичными пакетами. Под это и сделан POK004.

POK004 в полевой эксплуатации

Почему не от розетки

Хорошо, нужен ретранслятор. Самый простой вариант — питание от сети 220 В. Любая умная розетка-роутер плюс удлинитель — и дело в шляпе. Заодно можно через неё же организовать подогрев теплицы или включение света.

Но в условиях дачи 220 В в теплице или на дальнем углу участка — пожалуй, редкость. На большинстве участков, которые мы видели, провода идут только в дом и, может, в баню. Растягивать кабель через грядку — занятие сомнительное и сезонное. Вообще в дачной жизни стационарных устройств мало: всё собирается весной и разбирается осенью, ездит на зиму домой, ставится в новое место на следующий сезон. Капитальная подводка 220 В под это вообще не подходит.

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

Питание: солнце плюс аккумулятор, и всё на дискрете

Работать от солнца 24 часа в сутки физически нельзя. Поэтому сразу стало ясно, что устройству нужен второй источник питания — для ночи и для пасмурных дней. Выбор пал на 18650: распространённый, доступный, ремонтопригодный аккумулятор. По расчётам он способен обеспечивать автономную работу от нескольких суток до недели — в зависимости от ёмкости конкретной банки.

В качестве солнечной панели сначала взяли 6 В, 100 мА, позже заменили на 150 мА — после первого сезона стало понятно, что запас по току всё-таки нужен, особенно в северных регионах и ранней весной.

Специализированные микросхемы для солнечной зарядки (всякие SPV1040, BQ25504, CN3791) мы рассмотрели и от них отказались. Часть дорогие, часть EOL или редкие, часть требуют экзотических корпусов или плохо ложатся на наш профиль нагрузки. И главное — для нашей задачи можно собрать всё нужное на дискретных компонентах, и это будет ремонтопригодно, понятно и без зависимости от наличия конкретного чипа на складе. Поэтому цепь питания собрана просто, но вполне эффективно.

Микроконтроллер запитывается через эффективный понижающий DC-DC преобразователь, обеспечивающий минимально необходимое напряжение (около 2.4 В). На входе преобразователя стоит OR-схема на диодах Шоттки между аккумулятором и солнечной панелью. Это и есть то место, где происходит самая важная магия: оба диода честно «складывают» доступную мощность от своих источников. Если панель в данной освещённости способна отдать, скажем, 10 мА, а нагрузка тянет 20 — панель отдаёт свои 10, аккумулятор добивает недостающие 10. Никакой переключающей логики, никаких компараторов, никаких переходных режимов: любой миллиампер от солнца — это миллиампер, не взятый с аккумулятора, и это работает само собой просто по физике диодов. Здесь, кстати, важен выбор конкретных диодов — мы используем CUS08F30, у них падение напряжения при рабочем токе устройства около 200 мВ, что для Шоттки очень хорошо. Чем меньше падение — тем больше реально доходит до нагрузки.

Параллельно отдельной веткой идёт питание с солнечной панели на схему зарядки аккумулятора. И вот тут самая интересная инженерная история. Схема заряда у нас сделана полностью на дискретных компонентах, без специализированной микросхемы: опорным элементом служит TL431 (точный шунт-регулятор), а исполнительным — биполярный транзистор, который шунтирует ток заряда на землю при достижении 4.2 В на аккумуляторе. Получается классический CV-зарядник по схеме «шунтового регулятора»: пока напряжение батареи ниже порога — ток с панели свободно идёт в заряд, как только дошло до 4.2 В — TL431 плавно открывает шунт, и ток уходит «мимо». Точность опорного напряжения у TL431 — лучше 1%, что в нашем случае даёт ±42 мВ на пороге; это сопоставимо с типовыми чипами зарядки и более чем достаточно для долгой жизни 18650.

Ограничения тока заряда у нас нет, и оно не нужно: сама панель и есть ограничитель. Больше 150 мА она физически не отдаст в любых условиях, а для 18650 это меньше 0.1C — режим, который любая нормальная ячейка переваривает без проблем.

Теперь немного арифметики, потому что без неё непонятно, на что вообще рассчитывать. Среднее потребление POK004 в рабочем режиме — около 25 мА. Первая версия с панелью 100 мА давала на практике устойчивый баланс 1 к 4: один час солнца — четыре часа автономной работы (100/25 = 4). Цифра наблюдалась в полевой эксплуатации практически без расхождения с теорией — и это, к слову, хорошо характеризует выбранную схему: диоды с низким падением, простой DC-DC, никаких лишних звеньев в тракте — энергия с панели практически целиком уходит в дело.

После перехода на панель 150 мА коэффициент поднялся пропорционально: баланс стал 1 к 6. Один час эффективного солнца теперь оборачивается шестью часами работы устройства.

Из этого вытекает точка безубыточности: чтобы устройство проработало сутки, ему нужно примерно 4 часа эффективного солнечного света в сутки (24 / 6). «Эффективного» — это важная оговорка: речь не про общую длину светового дня, а про окно, в котором панель реально близка к своему пику. В средней полосе летом это легко набирается с запасом, в марте на высоких широтах — уже сложнее. Отсюда, кстати, и те самые утренние провалы межсезонья — о них в следующем разделе.

В разгар лета, когда эффективное окно — часов 8 в сутки и больше, устройство не только обеспечивает себя текущим расходом, но и накапливает заметный резерв в аккумулятор. Одного полного солнечного дня хватает, чтобы покрыть пару-тройку последующих пасмурных вообще без потери работоспособности. Именно поэтому в нормальной летней эксплуатации POK004 «живёт сам по себе» неделями: батарея просто работает буфером между ясными и пасмурными днями, оставаясь в верхней половине заряда.

А зимовка устройства в кладовке — отдельный режим, в котором аккумулятор и без солнца удерживает его много недель в глубоком сне.

Защита батареи и честный разговор про утренние провалы

Раз уж речь о 18650, надо отдельно сказать про защиту от глубокого разряда. Этот режим литий-ионные ячейки не любят: уход ниже 2.5–2.7 В убивает ёмкость, а в плохом случае может привести к необратимым внутренним повреждениям. У нас тут двухуровневая защита.

Первый уровень — программный, и он основной. Микроконтроллер сам мониторит напряжение аккумулятора (через измерительный ключ, чтобы делитель не висел на батарее постоянно и не жрал микроамперы зря) и при падении ниже рабочего порога превентивно уходит в глубокий сон с потреблением в единицы микроампер. В этом режиме устройство может пролежать без солнца неделями, периодически просыпаясь на проверку. Когда солнце снова даёт энергию и батарея успела зарядиться примерно до 30% — что эквивалентно суткам нормальной работы — устройство возвращается к обычному режиму.

Второй уровень — аппаратный, страховочный. На батарее стоит классическая защита DW01 + два MOSFET. Если по какой-то причине программный уровень не сработал (баг прошивки, неожиданный сценарий нагрузки), DW01 физически отключит ячейку при достижении ~2.4 В и спасёт её от химической смерти. До этой защиты в нормальной эксплуатации доходить не должно, и за все сезоны эксплуатации таких случаев у нас в полевых условиях единицы.

Теперь — обещанный честный разговор про утренние провалы.

Точка безубыточности в четыре эффективных солнечных часа в сутки летом достигается без труда, а вот в межсезонье — далеко не всегда. Самый показательный сценарий — ранняя весна в высоких широтах. Солнце поднимается поздно, идёт низко, угол падения косой, день короткий, и эффективного света на панели заметно меньше, чем летом. Если устройство к утру разрядилось ниже рабочего порога, оно уходит в глубокий сон и ждёт, пока солнце снова не даст ему энергию для возврата к работе. На практике в марте на широте Москвы и севернее это может означать, что POK004 «молчит» с 4–5 утра до 8–9, пока солнце не наберёт силу.

Для Zigbee это, конечно, не идеально — на несколько часов из сети выпадает один из роутеров. Но mesh-архитектура к такому относительно устойчива: устройства, которые ходили через POK004, найдут альтернативные пути — возможно, с худшим качеством сигнала, возможно, через бóльшее число хопов, — но связь не пропадает полностью. К полудню POK004 уже снова работает, маршруты сами перестраиваются к оптимальным. С середины апреля и до сентября в нашей реальной эксплуатации таких сценариев не наблюдалось — устройство держит связь круглосуточно.

Альтернативой было бы «работать до последнего» — то есть пока не сработает аппаратная защита. Но тогда устройство превратилось бы в кирпич до ручного вмешательства, а на дальнем участке, куда хозяин приезжает раз в неделю, это совсем плохой обмен. Мы сознательно выбрали «временно молчит и сам просыпается» вместо «работает дольше, но однажды требует выезда с зарядкой в руке».

Неожиданный бонус: датчик освещённости

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

Тут есть техническая тонкость, которую стоит проговорить. Линейная зависимость тока от освещённости работает не на любой нагрузке, а только в режиме, близком к короткому замыканию панели — на так называемой «токовой полке» её ВАХ. В нашем штатном рабочем режиме панель привязана к напряжению аккумулятора через диод OR-схемы — это совсем другая точка на характеристике, и измерять ток в этом режиме было бы «в попугаях». Поэтому для замеров освещённости мы периодически на короткое время подключаем к панели отдельный нагрузочный резистор — буквально на миллисекунды, по команде микроконтроллера. На это время панель оказывается в нужной точке ВАХ, мы снимаем чистое значение тока через прецизионное токовое зеркало, и тут же отпускаем нагрузку обратно. Получается, что само измерение не отбирает энергию из общего баланса, а люксметр выходит на удивление честным — близко к тому, что показывают специализированные бытовые приборы.

Мы сначала отнеслись к этому как к курьёзу — ну есть и есть, в основное назначение устройства это не входит. Но потом подумали: для дачи это вообще-то полезная штука. Воткнул POK004 на палку рядом с грядкой — и заодно собираешь данные о том, сколько именно солнца на этом конкретном месте, в этот конкретный день, в эти конкретные часы.

Забегая вперёд — информация оказалась действительно ценной. По итогам первого же сезона по этим данным удалось скорректировать планирование посадок: некоторые места, которые «на глаз» казались солнечными, оказались гораздо тенистее, чем мы думали. И наоборот. Так что функцию мы оставили официально — измеряет освещённость, отдаёт в Zigbee как отдельный параметр.

Корпус: шайба на палке

POK004 крупно

С электроникой разобрались. Дальше начался корпус — и тут начались проблемы.

Устройство получилось довольно крупным: эдакая шайба около 10 см в диаметре и 4 см высотой. Размер диктуется в первую очередь солнечной панелью — её не сожмёшь, площадь нужна для тока. И эту шайбу надо было относительно устойчиво закрепить буквально на чём угодно, что найдётся на участке. По-простому — на любой палке.

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

Первое, что выяснилось при опытной эксплуатации: в условиях ранней весны и в высоких широтах солнце ходит низко, и ориентация панели начинает заметно влиять на сбор энергии. Просто «положили горизонтально, и ладно» уже не работает — половина потенциального света летит мимо. Поэтому штатив-струбцину доработали: добавили возможность поворота устройства на угол от 45° до 90°. Сезонная подстройка под широту и время года делается за десять секунд, без инструмента.

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

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

Дождь: история одной неравной борьбы

Про нашу философию «дышащих» корпусов из FDM-печати на PETG мы уже рассказывали в статье про POK003. Если коротко — микрозазоры между слоями печати пропускают наружу водяной пар, а каплю не пропускают из-за поверхностного натяжения и гидрофобности PETG. На POK003 этот подход работает прекрасно. На POK004 — начал давать сбои.

Причина в форме. POK003 — небольшой компактный корпус с в основном вертикальными поверхностями, вода с него скатывается сама. POK004 — большая плоская шайба с горизонтальной (или почти горизонтальной) солнечной панелью на крышке. И эту форму нельзя поменять: панель есть панель, её ориентация диктуется физикой, а не дизайнером.

Первая проблема была очевидной — затекание влаги под солнечную панель. Изначально мы пытались решить её так: герметизировали только центр панели (там выходят провода), а под самой панелью сформировали слегка наклонные плоскости с дренажными щелями по углам. Идея была, что вода под край панели всё-таки попадёт, но сразу же стечёт по этим плоскостям и выйдет через щели.

Тут вода в сочетании с гидрофобным PETG показала нам пару фокусов. Оказалось, что чтобы вода уверенно стекала с почти-плоской гидрофобной поверхности, ей нужны заметно бóльшие наклоны, чем мы заложили. И двух-трёх миллиметровых дренажных щелей в углах ей принципиально мало — она их просто «не видит», капля до угла не доходит, садится плёнкой на поверхность и сидит. Пришлось пересмотреть всю верхнюю часть корпуса: панель теперь вклеивается герметично по всей своей площади, без всяких «дренажных подложек». Никакой воды под панелью в принципе быть не должно — нет пространства, куда ей затекать.

Этого, как выяснилось, всё равно было мало.

Под серьёзными ливнями внутрь корпуса всё равно попадало заметное количество воды. Самое странное — путь её проникновения мы не смогли определить. Синтетические тесты под струями душа, шланга, под имитацией сильного дождя — корпус остаётся полностью сухим. Льёшь хоть час подряд — внутри чисто. А под реальным ливнем — вода внутри есть.

Из правдоподобных гипотез мы для себя приняли такую: при сильном дожде капли падают с высоты и с гравитационным разгоном, бьются о корпус с заметной кинетической энергией — и буквально вбиваются сквозь поры пластика. В синтетическом тесте струёй из шланга такого ударного режима нет, поэтому он и не воспроизводился. Не уверены, что это полная картина, но она хотя бы не противоречит наблюдениям.

Как с этим бороться — мы пошли в несколько слоёв.

Первое: плата приподнята над дном корпуса на 4–5 мм. Это значит, что даже если внутрь попало некоторое количество воды и оно успело сесть на дно, плата какое-то время до неё «не достаёт» — устройство продолжает работать, а вода имеет шанс уйти раньше, чем дойдёт до контактов.

Второе и более радикальное — изменения по итогам 2025 года. Несмотря на все усилия, в межсезонье к нам всё равно вернулось заметное количество «утопленников», и стало понятно, что одной приподнятой платой проблему не закрыть. К сезону 2026 в конструкцию мы внесли два дополнения.

Дренажные отверстия в дне корпуса. Сделанные не как простые круглые дырки — в них набивалась бы грязь, лезли бы насекомые, — а как набор круглых сеточек, формируемых прямо в процессе FDM-печати. Трёхмерная структура слоёв печати сама по себе образует мелкий, но пропускающий воду фильтр: жидкость свободно проходит вниз, а муравьи, паутина и пыль — нет. Получается, что любая вода, которая каким-то образом попала внутрь, имеет естественный путь наружу и не накапливается.

Замена резьбового соединения крышки на зацепы. Это менее очевидная история. Резьбовое соединение, казалось бы, надёжное — но у него есть неприятное свойство: его можно не докрутить. Особенно если в крышке зимует мусор, или резьба чуть подсохла, или пользователь просто торопится. Получается неплотный стык, и под ливнем это начинает работать как воронка. Замена на байонетные зацепы решает проблему в принципе: либо крышка защёлкнута до упора, либо очевидно не защёлкнута и просто слетает в руке. Среднего положения нет. Заодно увеличили гидрозапор по периметру стыка — чтобы даже при защёлкнутой крышке капля встречала на пути небольшой лабиринт, а не прямой канал.

Получилось ли в итоге сделать полностью водонепроницаемое устройство? Честно — нет, и мы такого не обещаем. Но мы сделали устройство, которое переживает воду: вода может попасть внутрь, но она оттуда выходит, до электроники не доходит, и устройство продолжает работать. Это, как и в случае с POK003, не герметичность в IP-смысле, а несколько слоёв компромиссов, каждый из которых страхует следующий.

Итог

POK004 был сделан под конкретный сценарий, который иначе не закрывается: автономная зона связи там, где нет ни 220 В, ни смысла её туда тянуть, ни возможности подвинуть к шлюзу остальные устройства. И, как и в случае с предыдущими устройствами, мы дошли до него не потому, что хотелось сделать что-то ещё, а потому что без него остальная история на дальнем углу участка просто не работает.

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