Последние статьи из блога
- MegaD-485-TTL - изолированный конвертер индустриального класса
- MegaD-4VC - подключаем сигналы 0-10В и 4-20мА к контроллеру
- MegaD-4CM - высокоточный 4-х канальный измеритель тока
- MegaD-4US - 4-х канальный датчик напряжения на DIN-рейку
- Как я боролся с собаками с помощью нейросети
- Интеграция ультразвукового датчика скорости и направления ветра
- Установка WiFi-камеры на робота-газонокосилку
- Твердотельный датчик направления и скорости ветра. Эксперимент
- iPhone на стене в качестве панели управления домом
- MegaD-16M-XT - подсветка выключателей и не только
- Переделка выключателей в кнопки и мини-обзор текущего рынка
- RadSens - модульный счетчик Гейгера с интерфейсом I2C
- "U" - значит универсальный. Обзор модуля MegaD-16U-XT
- SCD4x - современная альтернатива для измерения концентрации CO2
- HTU31D - новый датчик температуры и влажности с нагревательным элементом
- Измерение коэффициента пульсации ламп с помощью MegaD-2561
Установка WiFi-камеры на робота-газонокосилку
15/05/2024 00:25:21
В 2023 году я решил повысить уровень автоматизации сада с помощью робота-газонокосилки. Косить лужайку перед домом вручную не то, чтобы очень сложно, но процесс этот отнимает уйму времени. К тому же делать это нужно регулярно, иногда под палящим солнцем. А затем еще и как-то утилизировать собранную траву, засоряя природу полиэтиленовыми мешками. Я не эксперт в области агрономии, но возможно постоянный вывоз скошенный травы без вноса дополнительных удобрений обедняет почву. Поэтому я приобрел "недорогого", если можно так сказать относительно цен на подобные штуки, робота-газонокосилку Worx Landroid WR142E. Ведь он работает без участия человека, а траву мульчирует, что препятствует росту сорняков и обогащает почву.

Ударим автопробегом по бездорожью, разгильдяйству и газону
Спустя сезон могу поделиться преимущественно положительными эмоциями. Это работает. За все лето 2023 года нам ни разу не пришлось косить траву обычной газонокосилкой. Не смотря на хаотичные на первый взгляд передвижения робота по лужайке туда-сюда, он медленно, но верно делал свою работу. Газон, вернее то, что номинально им считалось из-за большого количества разнообразных и не всегда благородных растений, стал несколько лучше, как бы плотнее. Робот работает практически бесшумно. В отличие от воя традиционных газонокосилок, а замечено, что особенно громко ревут соседские, услышать робота можно только если подойти к нему вплотную. То есть, его можно запускать в любое время. Не только в самый зной и 40-градусную жару, но и ночью. Его практически невозможно услышать из дома через открытые окна. Например, наши домашние роботы-пылесосы Roborock S7 шумят в разы, если не на порядок сильнее. Ну про управление с телефона даже и упоминать не нужно.
При своей цене Landroid WR142E с точки зрения электронных наворотов относительно примитивная штука. Технически я понимаю, почему он именно такой. Тем не менее, выскажу свое мнение не как разработчик и инженер, а как бытовой потребитель-домохозяин. В стоке у него нет и близко тех датчиков и интеллекта, которые есть у роботов-пылесосов. А рабочая зона задается специальным ограничительным проводом. Все статичные препятствия в саду нужно обходить этим проводом и доп-опцией Off Limits или робот будет врезаться во все, что попадется у него на пути. Конечно, к нему за какие-то жалкие 18000 руб можно приобрести модуль ACS (по всей видимости, ультразвуковой датчик типа копеечного HC-SR04), который должен определять препятствия и позволять роботу объезжать их. Но в 2024 году, что любопытно, эти модули по какой-то причине исчезли из продажи. Надеюсь это не потому, что их стали применять в "геранях", наряду с чипами из стиралок. Да и работает эта "Система противоударной защиты" по отзывам западных пользователей на троечку. Впрочем, практические плюсы робота в целом сильно перевешивают туповатость, а точнее подслеповатось данного изделия. А без модной RGB-подсветочки под днищем, аэродинамического спойлера или стильных колпаков колес "под литье" можно и обойтись.
Но особенно жаль, что в таких робо-косилках отсутствует камера. Было бы любопытно иногда понаблюдать за своим участком и домом "глазами" маленького роботизированного помощника. Поэтому я решил попробовать приделать к своему WR142E камеру наблюдения. Прежде всего, стоит сказать, что у Landroid'ов сзади, под капотом, где установлен съемный аккумулятор (в стоке на 4 Ач), присутствует USB-порт. А это хорошо, так как его можно использовать для питания камеры. Далее я долго искал подходящую камеру наблюдения. Критерии: компактность, питание от USB, возможность работы на улице и влагозащищенность, трансляция RTSP-потока через WiFi. Что удивительно, я сходу не нашел ни одного подходящего варианта среди китайских камер на Алиэкспресс. Каждый из найденных лотов не удовлетворял какому-либо одному критерию. А они все критически важные. Но в комментариях юзеров на Reddit'е я наткнулся на подсказку.

Малютка Wyze Cam V3
Wyze Cam V3 Black - это почти то, что надо. Довольно привлекательный внешний вид, не портящий экстерьер робота, достаточная компактность, регулируемый кронштейн, защита от влаги IP65, питание от USB, WiFi, собственное приложение на телефоне и облако. Полный фарш! Я купил такую в конце марта 2024 года на Озоне всего за 3122 руб. По-моему, альтернатив по соотношению цена/качество + возможности просто нет. Но получив камеру я выяснил, что у нее есть жирный минус. Wyze Cam V3 с родной последней прошивкой не умеет (не хочет, на самом деле) отдавать RTSP-поток наружу. А кроме того, эта камера генерирует огромный трафик к американским серверам компании производителя Wyze. Что там только не передается. В целом мне особо нечего скрывать от Пентагона, а мои грядки с чесноком едва ли можно рассматривать как критически важный инфраструктурный объект. Но все же как-то неловко... Без шуток, понять компанию можно. Она продает дешевые, но вполне функциональные камеры, надеясь заработать на сетевых облачных сервисах. Сейчас все так делают.

Неполный перечень хостов, куда "моя" камера с заводской прошивкой стучала нонстоп 24/7. Не кисло...
Выход, тем не менее, нашелся. Эти камеры очень популярны у пользователей по всему миру. А у них возникли в принципе те же вопросы. Поэтому для данной камеры придумано несколько проектов, которые частично решают описанные проблемы. Я использовал wz_mini_hacks. Грубо говоря, это хак, который записывается на SD-карту (в камере есть слот для нее) и в момент загрузки камеры слегка модифицирует функциональность прошивки, не изменяя при этом ее код. Появляются RTSP и SSH (а внутри камеры Linux). Подробно об установке написано на Гитхабе. Там нет ничего сложного. Все настройки делаются через единый конфигурационный файл wz_mini.conf, который лежит в корне флешки. Но самое главное - есть опция: ENABLE_SELFHOSTED_MODE="true", которая полностью решает проблему трафика с облаком компании. Камера наконец-то становится моей, а не нашей общей с дядюшкой Сэмом. Почему же нельзя просто запретить доступ камеры в Интернет на уровне маршрутизатора? А вот нельзя! В этом случае софт камеры, понимая, что остался без доступа в Сеть, начинает перезапускать собственные сетевые интерфейсы, что проявляется частыми сбоями, затыками в передаче видео и массовой потерей пакетов. А еще положительный побочный эффект этого патча в том, что камера, освободившись от обязанности постоянно что-то передавать в Сеть, слабее нагружает собственный CPU и вроде бы даже меньше греется, а значит и сокращает потребление электроэнергии, что важно при питании от аккумулятора робота.
Стоит однако отметить, что wz_mini_hacks работает _только_ на прошивках до 4.36.9.139. В более свежих версиях разработчики компании Wyze пофиксили всякие "security issues", а фактически закрыли уязвимость, которую использовал патч. Ну и ладно. Тем не менее, следует понимать, что купив новую камеру, нужно сначала скачать и установить на нее более старую прошивку 4.36.9.139, а затем уже записывать и настраивать патч. Ну или не заморачиваться, если вам не нужен прямой доступ к RTSP-потоку и вам не жалко собственных фоточек для обучения нейросетей наших "партнеров".
Монтаж камеры на робота в общем несложный, но есть два нюанса. Во-первых, USB-разъем находится сразу под крышкой, по периметру которой смонтирован этакий магнитный уплотнитель, который предотвращает попадание в данное пространство воды и пыли. Если в этот USB воткнуть обычный кабель, пусть даже угловой, то крышка не закроется полностью. Все снаружи полетит внутрь. Не годится. Но в этот раз на Алиэкспрессе я нашел выход. Это такой плоский кабель-переходник.

Адаптер USB для трудных мест
Он прекрасно подошел и крышка с ним закрывается полностью. Важно только выбрать правильную ориентацию и длину. Длина должна быть не менее 10 см, а ориентация "налево" (left). Я взял для экспериментов адаптеры left и up. Так вот Up не подходит, крышка не закрывается. Кабель должен уходить влево.

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

Напечатанная проставка для камеры
Несколько слов про стриминг видео с камеры через домашний сайт. Я уже пару лет использую такую отличную штуку как go2rtc. Эта программа, позволяет транслировать видео без задержек с совершенно различных камер на любые устройства через домашний сервер посредством WebRTC, MSE, HLS и т.д. (проигрыватель автоматически определяет поддерживаемый формат). На пользовательских устройствах достаточно просто запустить родной браузер. Работает на ПК, телефонах, планшетах, в различных браузерах и операционных системах. В общем, вещь! Рекомендую.

БМПТ (боевая машина покоса травы) Терминатор-142Е
Посмотрим, что покажет тестирование в наших климатических условиях. Интересно также, насколько стабильно будет держаться связь с камерой по WiFi. У меня в доме 4 точки доступа Unifi AP-AC-LR плюс еще одна такая же точка в саду. GPS у нас в регионе с весны нормально не работает. Надеюсь хоть WiFi диапазоны наш РЭБ трогать пока не будет. Такие вот теперь времена...
А еще, облако Worx (производителя этих штуковин) позволяет выгружать некоторую очень полезную информацию. Для этого нужно быть зарегистрированным в их системе. Я лично не использую Home Assistant, но подсмотрел в коде какой-то интеграции реализацию схемы взаимодействия. Она простая. Сначала нужно получить ключ, используя свои логин и пароль, а затем с этим ключом запросить актуальные данные из облака. Я написал простейший скрипт на PHP. Если интересно, вот оно.
Код для получения токена
$url = 'https://id.worx.com/oauth/token';
$data = array('username' => 'username',
'password' => 'password',
'grant_type' => 'password',
'client_id' => '150da4d2-bb44-433b-9429-3773adc70a2a',
'type' => 'app',
'scope' => '*');
$options = array(
'http' => array(
'header' => "Content-type: application/x-www-form-urlencoded ",
'method' => 'POST',
'content' => http_build_query($data)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
$result_decoded = json_decode($result);
$key = $result_decoded->{'access_token'};
Код для запроса данных
$url = 'https://api.worxlandroid.com/api/v2/product-items?status=1&gps_status=1';
$options = array('http' => array('header' => "Content-type: application/json authorization: Bearer $key ", 'method' => 'GET'));
$context = stream_context_create($options);
$result = @file_get_contents($url, false, $context);
$result_decoded = json_decode($result);
print_r($result_decoded);
Полученную информацию я вывожу на своем домашнем сайте

Не битый, не крашеный, пробег не скручен
Обратите внимание, сколько робот отмотал всего за один сезон. Не знаю, честный это пробег или нет, но робот у нас запускался по графику "сутки через сутки". А может в компании Positec Power Tools свои, китайские километры. Еще интересный параметр - температура аккумулятора. Можно косвенно судить о погоде на улице. Насчет дождя. У робота есть датчик дождя. Если на него попадает влага, робот отправляется на базу. Однажды, в сухой теплый вечер робот вдруг отрапортовал, что начался дождь! Мне стало любопытно, что стало причиной такого неожиданного глюка. И вот, что я увидел.

(Голосом А. Гаврилова) Worx Landroid в фильме: "Чужой против Терминатора"
Захватят ли роботы планету? Я не знаю. С развитием LLM, GPT и AGI отрицательный ответ на этот вопрос уже не столь очевиден. Но во всяком случае с ними не скучно. Ведь свободное время, которое роботы для нас высвобождают, можно потратить на их моддинг, прокачку и всякий прочий апгрейд.
Update 2025.06.05
С камерой все в порядке, но после скачка напряжения, вызванного аварией на электросетях, вышел из строя блок питания зарядной станции робота Worx WA3750.1. Робот стал бесконечно слать сотни уведомлений: Отсутствует провод - Зарядная станция - Отсутствует провод - Зарядная станция. Индикатор на зарядной станции моргал. БП, по всей видимости, перестал держать нагрузку. Интересно, что такие блоки питания не продаются отдельно. Только в комплекте с зарядностью станцией стоимостью порядка 20 тыс. рублей. Сам же блок питания WA3750.1 оказался неремонтопригодным. И дело не в том, что он неразборный, я его разрезал, а в том, что внутри все залито компаундом, который практически невозможно убрать. Ну, по крайней мере родной БП по-настоящему герметичен. Найти подходящую замену не проблема. Но выяснился нюанс. На родном блоке питания заявлено 20В 1500 мА DC, но в режиме холостого хода на его выходе 24В... Результат ли это неисправности? Не думаю. Для начала я нашел у себя хороший брендовый блок питания от ноутбука Fujitsu-Siemens 20В 4.5А. С ним зарядная станция заработала, но робот по-преждему несколько раз в день присылал уведомления об отсутствующем проводе. От БП до станции идет довольно длинный провод. По моим прикидкам потери в нем могли достигать 1В, а значит 20В недостаточно. Тогда я подключил блок питания HDR-60-24 (24В, 2.5А), с котором зарядная станция заработала прекрасно.
Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Добавить комментарий:
Сортировка комментариев: Последние сверху | Первые сверху
2024-05-18 10:31:53 | Ruslan
Спасибо за очередную статью! Как всегда, нескучно, познавательно и полезно.
2024-05-27 15:35:42 | Андрей
Познавательно!
2025-04-03 14:55:29 | Oleg
Какие 18000 руб? Все 90000. Да за такие деньги можно на все лето живого работягу нанять и не париться.
2025-04-03 16:25:14 | Andrey_B
Oleg, речь в статье идет о стоимости модуля ACS, а не газонокосилки.
2025-12-20 21:18:04 | AndreyD
wyze cam можно совсем отвязать от вендора, есть вот такой открытый проект - https:/thingino.com/
вдруг пригодится.