IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [143]
    Безопасность IT [404]
    Блоки питания, Power Banks, зарядки... [508]
    Видеорегистраторы [186]
    Гаджеты для спорта и здоровья... [190]
    Гаджеты, аксессуары... [627]
    Измерительная техника, инструменты [437]
    Накопители данных [232]
    Нетбуки, Ноутбуки, Ультрабуки [689]
    Мультиварки, блендеры и не только... [162]
    Планшеты [764]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [360]
    Сети, сетевые технологии, оборудование... [273]
    Смартфоны [4959]
    Фотокамеры, объективы, искусство фотографии.. [541]
    Умный дом [50]
    Электронные книги [101]
    CB, LPD, PMR- связь... [170]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [3981]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1120]
    Smart TV, UltraHD, приставки, проекторы... [415]
    Smart Watch [268]
    Sound: наушники, плееры, усилители... [618]
    Windows 10... [301]
    Windows 11 [37]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1347
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 60
    Гостей: 60
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2023 » Февраль » 6 » Строим безумный дом
    11:28
    Строим безумный дом

    Строим безумный дом

    Идея умных домов, овладевшая широкими массами, у меня как-то не зашла.
    Тем не менее — ее гонишь в дверь, а она лезет в окно.
    Первым пролезло кухонное освещение TRÅDFRI под шкафами Ikea — внутри этого освещения скрывался интерфейс Zigbee. Делал он это как-то ненавязчиво, скрываясь под видом обычного дистанционного управления. Тем более, что когда покупалась кухня, старый и, видимо, неудачный Zigbee шлюз сняли с продаж, а новый еще не разработали. Так что никаких облаков и управлений через смартфон не просматривалось.
    Спрашивается — ну и куда от всего этого бедному пенсионеру бечь? Тем более, что умный дом умные люди придумывали вовсе не для того, чтобы облегчить жизнь простому человеку, а очень даже наоборот. Ну да читайте дальше и делайте выводы сами.

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


    Когда в Лидле хитродомный шлюз предложили за 17 евро — я все-таки не удержался и купил. Как выяснилось позже — дико переплатил. Еще недели через 2-3 они распродавали остатки хлама за полцены. Народ активно расхватывал.



    Но это уже позже было, теперь посмотрим, как я издевался над этим шлюзом.
    Для начала, естественно, разобрал.


    На плате обнаружилось следующее добро:
    RealTek RTL8196E CPU
    16MB SPI Flash (GD25Q127)
    32MB SDRAM, EM6AA160
    TuYa ZigBee модуль (TYZS4) на базе Silicon Labs ARM-M4 CPU с интегрированным RF стеком (EFR32MG1B232)


    И контактные площадки, любезно подписанные с обратной стороны платы. Естественно, я к ним тут же и подпаял USB/UART преобразователь. Поигравшись со скорость передачи (заработало на 38400) обнаружил, что передо мной изделие сумрачного китайского гения, не имевшего никакого отношения к немцам.

    
    Please press Enter to activate this console. Tuya Gateway Application Normal Srart /tuya/tuya_start.sh UserAppRunDir:
    set defult run_dir:/tuya
    TY_ENV_APP_RUN_DIR=/tuya
    get user cfg file error, load defult cfg file
    load platform configure file:/tuya/def.cfg
    start.conf is exist
    udhcpc (v1.13.4) started
    current run dir:/tuya/tuya_user1
    Sending discover...
    Sending select for 192.168.0.106
    ...

    Было бы очень странно, если его кто-то не расковырял до меня — нашлась страница одного товарища, который сделал это с немецкой аккуратностью.

    Он написал программу для вычисления пароля (который у каждого шлюза свой), и программу, которая позволяет отвязать шлюз от Лидловского приложения и использовать в безоблачных системах, типа Home Assistant. Это сейчас я кратенько и опишу с небольшими дополнениями — я умудрился наступить на все возможные грабли и пришлось лазить в те места, которые в интернетах или не описаны, или я плохо искал.


    Итак, подключаем наш шлюзик к компьютеру через последовательный порт. Включаем питание и в терминальной программе изо всех сил жамкаем ESC, чтобы остановить загрузку (не всякая терминалка это умеет).
    При этом шлюз переходит в режим, когда можно читать его память безо всяких паролей.
     
    ...
    ---Escape booting by user
    P0phymode=01, embedded phy
    
    ---Ethernet init Okay!
    <RealTek>?
    ----------------- COMMAND MODE HELP ------------------
    HELP (?)                                    : Print this help message
    DB <Address> <Len>
    DW <Address> <Len>
    EB <Address> <Value1> <Value2>...
    EW <Address> <Value1> <Value2>...
    CMP: CMP <dst><src><length>
    IPCONFIG:<TargetAddress>
    AUTOBURN: 0/1
    LOADADDR: <Load Address>
    


    Теперь считываем области флеш-памяти, где хранятся ключи от квартиры, в RAM и оттуда распечатываем их:
    FLR 80000000 401802 16
    DW 80000000 4

    и второй заход
    FLR 80000000 402002 32
    DW 80000000 8


    Получается что-то типа такого:
     
    <RealTek>FLR 80000000 401802 16
    Flash read from 00401802 to 80000000 with 00000016 bytes        ?
    (Y)es , (N)o ? --> Y
    Flash Read Successed!
    <RealTek>DW 80000000 4
    80000000:       XXXXXXXX        XXXXXXXX        XXXXXXXX       XXXXXXXX
    <RealTek>
    <RealTek>FLR 80000000 402002 32
    Flash read from 00402002 to 80000000 with 00000032 bytes        ?
    (Y)es , (N)o ? --> Y
    Flash Read Successed!
    <RealTek>DW 80000000 8
    80000000:       XXXXXXXX        XXXXXXXX        XXXXXXXX       XXXXXXXX
    80000010:       XXXXXXXX        XXXXXXXX        XXXXXXXX       XXXXXXXX
    <RealTek>

    XXXXXXXX — это нужные вам номерки.
    Копируем эти строки и скармливаем их программе lidl_auskey_decode.py на Python, которая лежит тут:
     
    $ python3 lidl_auskey_decode.py
    Enter KEK hex string line>80000000:       XXXXXXXX        XXXXXXXX        XXXXXXXX       XXXXXXXX
    Encoded aus-key as hex string line 1>80000000:       XXXXXXXX        XXXXXXXX        XXXXXXXX       XXXXXXXX
    Encoded aus-key as hex string line 2>80000010:       XXXXXXXX        XXXXXXXX        XXXXXXXX       XXXXXXXX
    
    Auskey: your_auskey
    Root password: your_root password

    Не знаю, кому нужен Auskey, а пароль определенно очень понадобится дальше.

    Теперь шлюз надо перезагрузить, чтобы он загрузил все нужное программное обеспечение.

    Для начала можно попробовать войти в систему через последовательный терминал, вроде как пароль проверим
    Please press Enter to activate this console. 
    tuya-linux login: root
    Password: 
    Tuya Linux version 1.0
    Jan  1 00:02:49 login[316]: root login on 'console'
    # 


    При загрузке на терминале виден IP адрес, он понадобится. У меня адрес 192.168.0.106
    При желании можно убедиться пингом с компьютера:
    ping 192.168.0.106
    PING 192.168.0.106 (192.168.0.106) 56(84) bytes of data.
    64 bytes from 192.168.0.106: icmp_seq=1 ttl=64 time=2.63 ms
    64 bytes from 192.168.0.106: icmp_seq=2 ttl=64 time=1.81 ms
    64 bytes from 192.168.0.106: icmp_seq=3 ttl=64 time=1.41 ms

    Теперь зайдем через SSH
     
    ssh -oHostKeyAlgorithms=+ssh-dss root@192.168.0.106 -p 2333

    Для захода понадобится пароль. Ошибиться можно один раз — после второго устройство окирпичивается.
    Мне повезло — я ошибся 2 раза, после чего SSH работать перестал вообще.
    К счастью, последовательный терминал продолжал работать.
    При разборках выяснилось, что в каталоге /tuya/ssh заводится счетчик, его просто надо прибить:
     
    # cd /tuya/ssh
    # ls
    cnt
    # cat cnt
    2
    #
    rm cnt

    После перегрузки все заработало, как ни в чем не бывало.

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

    Копируем программу Serial Gateway отсюда
    и загружаем ее в шлюз
     
    cat serialgateway.bin | ssh -p2333 root@192.168.1.106 "cat >/tuya/serialgateway"

    Модифицируем загрузочный скрипт:
     
    if [ ! -f /tuya/tuya_start.original.sh ]; then cp /tuya/tuya_start.sh /tuya/tuya_start.original.sh; fi
    
    cat >/tuya/tuya_start.sh <<EOF
    #!/bin/sh
    /tuya/serialgateway &
    EOF
    chmod 755 /tuya/serialgateway

    После следующих команд SSH будет работать через стандартный порт 22:
     
    if [ ! -f /tuya/ssh_monitor.original.sh ]; then cp /tuya/ssh_monitor.sh /tuya/ssh_monitor.original.sh; fi
    echo "#!/bin/sh" >/tuya/ssh_monitor.sh

    Еще одна проблема — динамический IP. При перегрузке системы шлюз может отвалиться от Home Assistant из-за того, что адрес поменялся. Установим статический адрес где нибудь в конце адресного пространства, чтобы ни с кем не конфликтовать.

    Создадим где-нибудь на компьютере файл tuya_start.sh со следующим содержимым
     
    #!/bin/sh
    /tuya/serialgateway &
    killall udhcpc       
    ifconfig eth1 192.168.0.254 netmask 255.255.255.0

    и копируем его с помощью SSH, заменяя оригинальный файл
     
    cat tuya_start.sh | ssh -p22 -oHostKeyAlgorithms=+ssh-rsa root@192.168.0.106 "cat >/tuya/tuya_start.sh"


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

    Теперь можно и к Home Assistant подключаться. Есть несколько вариантов установки Home Assistant — на Raspberry Pi, виртуальную машину и еще какие-то варианты. Для попробовать я поставил его на виртуалку, для реальной жизни Raspberry все-таки получше. Цены на нее в последнее время задрали безумно, но в шкафчике нашлась одна лишняя — во время одной шабашки товарищ наступил на кабель, подключенный к ней и выломал разъем USB. Для Home Assistant USB без надобности, так что все замечательно срослось.




    Скачиваем образ Home Assistant и записываем на SD. Устанавливаем в Raspberry, включаем и идем пить чай — минут 20 малинка будет заниматься своими делами.


    Потом с любого компьютера, подключенного к той же сети, что и Raspberry, заходим в веб-интерфейс Home Assistant — homeassistant.local:8123
    Да, Home Assistant не любит беспроводных сетей, поэтому Raspberry надо проводком подключить. Беспроводную сеть я потом подключу, но это будет сеть для вещей, безо всякого доступа в интернет.

    Home Assistant загружен, при первом запуске требует установить имя пользователя и пароль.
    Потом идем на вкладку Settings → Devices and services и добавляем Integration — это и будет наш шлюз, Zigbee Home Automation. Выбираем ручную установку и вводим адрес — socket://192.168.0.254:8888.



    Если все прошло удачно — во вкладке Devices можно добавить новые устройства. У меня под рукой оказалась Икеевская розетка и пульт управления.



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



    Сейчас я вам скажу один умный вещь, только вы не обижайтесь, ладно? Малинку от шлюза нужно разнести хотя бы сантиметров на 20, и это очень критично. До меня эта, казалась бы очевидная вещь, доходила, как минимум, полдня — то устройства Zigbee отпадали, когда их заставишь работать — отпадали устройства, подключенные к Wi-Fi. Когда в конце-концов дошло и поставил Raspberry и шлюз на разные концы DIN-рейки — все стало работать более-менее стабильно. Хотя временами все-таки Zigbee отпадает, приходится шлюз относить на полметра от источников помех — все начинает работать снова.

    В Лидле я все-таки купил абсолютно ненужную мне лампочку из любопытства — зацепится или нет? Зацепилась влет, правда, никаких опознавательных знаков Лидла или Livarno не наблюдалось. На второй день, при попытке поиграться, она сдохла при подключении к сети (вполне себе проводной на 230 Вольт), волшебный дым из нее вышел и впридачу сгорели предохранители в щитке. Понесу сдавать ее взад — заменить вряд ли получится, во время скидок разобрали самую ненужную ерунду. А Лидл — штука одноразовая, если там что-то интересное появилось в продаже — это будет разобрано за дни или даже за часы. А второй раз может появится через годы или вообще никогда.


    Но мне свезло — нашлась в лавке еще одна лампа по дешевке, правда, цоколь не очень удобный.





    С чем еще можно поиграться, чтобы дешево и сердито? Дешевле ESP8266 вряд ли что-то существует под луной в настоящее время. Его и будем цеплять, но потом — если захотите и кому-то интересно.
    Большинство устройст проектируется не просто, а очень просто. А вот если захочется батарейного питание с заменой батарейки раз в год — это придется помучиться.

    Очередная жертва появилась, когда в магазине неподалеку продавали недорого Wi-Fi лампы.
    При рассмотрении дома оказалось, что лампа тоже родом из Китая и управляется приложением Tuya Smart. Замечательное дело — если что-то случилось с доступом в интернет или телефона под рукой нет, то имеем очередную тыкву?


    Дальше ставил в Home Assistant HACS, LocalTuya. Нужно было зайти на сайт Tuya и пройти квест с получением заветных номерков для подключения. Слоны идут в баню, а Штирлиц живет этажом выше — мне терпения не хватило, 2 нужных номерка выдавил, еще 2 так и не добыл. И все равно, для того, чтобы подключить лампу к сети без выхода в интернет, нужны были дополнительные телодвижения — на какое-то время сделать доступ из этой сети. Разбирать лампу, чтобы перепрошить ее на что-то более приемлемое не очень хотелось — вид после разборки вряд ли улучшится. Несколько лет назад народ прошивал устройства Tuya через Wi-Fi, но в последних версиях эту дыру прикрыли.
    Больше я с Tuya Wi-Fi не связываюсь, это как стрижка свиньи: визга много, шерсти мало.

    Пока игрался, пришли посылки с Китая — датчик температуры и влажности с Zigbee интерфейсов и популярный термометр от Xiaomi с интерфейсом BLE. Но о них в другой раз.

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

     

    donBaton

     

    https://mysku.club/blog/diy/94610.html

    Категория: Умный дом | Просмотров: 126 | Добавил: laptop | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    «  Февраль 2023  »
    ПнВтСрЧтПтСбВс
      12345
    6789101112
    13141516171819
    20212223242526
    2728
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024