Умывашка
Можно смотреть на это вечно.🥰
Только проснулась
Ох и непоседа растёт 😄
Только глазки откроет и сразу надо бегать,прыгать и всех кусать.😂
Знакомство прошло успешно
Напомню ,что вчера ко мне под дверь пришел кот,он чистенький,видно,что домашний.☺️
Кошка моя с ним не поладила,а вот эта Белоснежка сама проявила к нему интерес и стала играть с котом😄
Хозяева пока не нашлись,многие соседи сейчас на работе.Но Я уверенна,что скоро "Серый"(пока так называем) вернётся домой.
Ответ на пост «Автоматический лоток для животных Petkit»4
я очередной победитель лотка, в общем примерно за сутки я порывшись и найдя https://habr.com/ru/articles/908086/ и https://github.com/dzaytsev91/petkit-proxy/tree/main собрал свой велосипед на их основе. долго писать не буду просто скопирую выжимку своего помощника QWEN. но основная мысль такая нужно чтобы лоток сделал запрос на http://api.eu-pet.com/6/t4/dev_device_info в ответе которого нужно подменить нужные нам параметры, НО сначала он должен достучаться до китайского mqtt иначе зависает, но он не может т.е. mqtt мы тоже должны подменить на свой. Далее прошу любить и жаловать QWEN:
Как я взломал китайский умный лоток и заставил его работать без интернета
Привет, Пикабу! Хочу поделиться своей эпопеей по «приручению» китайского умного лотка Petkit Pura Max. История о том, как китайцы попытались меня обмануть, а я заставил их устройство работать локально.
ПРЕДЫСТОРИЯ
Купил я себе этот чудо-лоток за немалые деньги. Вещь вроде отличная: сам убирается, взвешивает кота, показывает статистику в приложении. Красота!
Но тут случилась беда — китайские сервера начали глючить, а то и вовсе отключаться. Лоток, который стоил как хороший смартфон, превратился в бесполезное ведро с песком. Он наотрез отказывался работать без подключения к серверам в Китае, даже базовая функция автоочистки не включалась!
Производитель по сути превратил дорогое устройство в кирпич, который зависит от серверов за тридевять земель. Ну уж нет!
🔍 ЧТО Я ОБНАРУЖИЛ
Покопавшись в сетевом трафике, я выяснил:
Лоток постоянно стучится на китайские сервера (api.eu-pet.com и aliyuncs.com)
Без ответа от этих серверов он не включает автоочистку (autoWork: 0)
Он использует MQTT (протокол для IoT) для связи с облаком
Прошивка жестко проверяет ответы сервера и уходит в бесконечный цикл перезагрузки, если что-то не так
Китайцы сделали классическую защиту: «Не можешь связаться с нами? Тогда не работай вообще!»
🛠️ ЧТО Я СДЕЛАЛ (ТЕХНИЧЕСКАЯ ЧАСТЬ)
Решил я сделать полную локализацию устройства. Вот пошагово:
1. Поднял свой MQTT-брокер (Mosquitto)
Чтобы лоток думал, что он подключен к «облаку», но на самом деле общался только с моим компьютером.
2. Написал Flask-прокси на Python
Этот прокси перехватывает ВСЕ запросы лотка к китайским серверам и модифицирует их на лету:
Когда лоток запрашивает настройки (dev_device_info), прокси находит блок settings и меняет autoWork: 0 на autoWork: 1
Всё остальное оставляет без изменений, чтобы прошивка не заподозрила подвох
3. Настроил AdGuard Home
Чтобы перехватывать DNS-запросы лотка:
api.eu-pet.com → перенаправляю на 192.168.0.236 (мой ПК)
*.aliyuncs.com → тоже на 192.168.0.236
4. Пробил брандмауэр Windows
Открыл порт 1883 для MQTT-подключений.
5. Настроил NAT (перенаправление портов)
Самая хитрая часть! Китайская прошивка оказалась хитрой — она игнорировала мой DNS и использовала жестко прописанные сервера. Поэтому я сделал так:
powershell
1
netsh interface portproxy add v4tov4 listenport=1883 listenaddress=0.0.0.0 connectport=1883 connectaddress=192.168.0.236
Теперь ВСЕ подключения на порт 1883 (даже если лоток узнал реальный IP китайского сервера) перенаправляются на мой Mosquitto!
6. Победил кэширование Docker
Docker на Windows упорно не хотел видеть изменения в коде. Спасло использование volumes (монтирование файлов напрямую с диска).
🎯 РЕЗУЛЬТАТ
Теперь мой лоток: ✅ Работает полностью локально — без интернета и китайских серверов
✅ Автоочистка включена (autoWork: 1)
✅ Все данные остаются у меня — никакой телеметрии в Китай
✅ Стабильно работает — не зависит от того, работают ли сервера в Шэньчжэне
В логах я вижу:
Лоток зашел (вес 862г, использован 9 раз)
Кот зашел (вес 4099г, провел 17 секунд)
Сработала автоочистка (auto_clear: 1)
💡 ГЛАВНЫЕ ИНСАЙТЫ
Китайские IoT-устройства часто имеют hardcoded DNS (8.8.8.8) и игнорируют настройки роутера. Решение — NAT на уровне ОС.
Прошивки проверяют структуру JSON — если добавить лишнее поле не туда, устройство уходит в бесконечный цикл перезагрузки.
Холодная перезагрузка (2 минуты без питания) — это must have для сброса кэша MCU.
Volume в Docker на Windows — единственный способ заставить контейнер видеть изменения файлов в реальном времени.
📦 ЧТО НУЖНО ДЛЯ ПОВТОРЕНИЯ
Компьютер/сервер с Docker (у меня Windows 10 + Docker Desktop)
Статический IP (у меня 192.168.0.236)
AdGuard Home (для DNS)
Mosquitto (MQTT-брокер)
Flask-прокси (мой код на Python)
Доступ к настройкам роутера
Весь код и подробная инструкция — в моем GitHub (ссылка в профиле). Там же docker-compose.yaml и чек-лист для диагностики.
🏆 ИТОГИ
Потратил около 20 часов на отладку, но оно того стоило! Теперь у меня:
Независимое устройство
Полный контроль над данными
Гордость за то, что обошел китайскую защиту 😎
Мораль: Покупая IoT-устройства, всегда думайте — а что будет, когда производитель отключит сервера? Лучше сразу готовить план локализации!
На тайском
Когда мастер разомкнула все чакры, и ты улетел в запредельный космос
Что? Неужели сеанс уже окончен и надо вставать?




