Подключение камер EZVIZ к видеорегистраторам и домофонам Hikvision и Hiwatch
Как сделать из WI-Fi камеры EZVIZ полноценную IP камеру? Тонкости настройки Wi-Fi камер
Все знают о неприхотливости Wi-Fi камер и простоте их установки. Запустить приложение, отсканировать код, подключить к местному Wi-Fi - с этим справляется большинство пользователей камер EZVIZ.
По умолчанию все камеры EZVIZ записывают видео на SD карту, вставленную в камеру. Также в линейке продуктов EZVIZ присутствуют Wi-Fi видеорегистраторы с возможностью записи на жесткий диск, если не хватает ёмкости SD карты. Взаимодействие камер и видеорегистраторов EZVIZ вполне неплохое, но бывают ситуации, когда такая связка не отвечает требованиям потребителя.
В отличие от полноценных IP камер, камеры EZVIZ не имеют своего web-интерфейса, и их настройка сводится к минимальному набору, доступному из приложения. Например, поменять IP адрес камеры из приложения EZVIZ у вас уже не получится. В обычных IP камерах это можно сделать через web-интерфейс. При подключении камер в штатном режиме никому не придет в голову заморачиваться этими настройками. Вопросы начинают появляться на этапе сопряжения с видеорегистраторами других брендов. Далее рассмотрим сопряжение камер EZVIZ с регистраторами Hikvision, HiWatch и HiLook.
Случаев, когда нужно прикрутить Wi-Fi камеру к видеорегистратору, множество, но в большинстве - это либо увеличение глубины архива за пределы возможностей SD карты, либо вынесение архива за пределы камеры на случай ее утраты, либо быстрое добавление камеры к регистратору без прокладки кабеля.
Первое, с чем придется столкнуться - это настройка IP адреса камеры. Видеорегистратор работает только с фиксированными адресами камер. По умолчанию, при подключении к сети камера получает от роутера динамический IP адрес по DHCP, и изменить эту настройку штатно невозможно. Существуют 2 способа обхода этого недостатка:
1. Привязка MAC-адреса камеры к IP адресу устройства. Осуществляется через web-интерфейс локального роутера, на котором запущен DHCP сервер. Это самый простой вариант для тех сетей, где есть роутер с DHCP сервером и в нем есть возможность привязки (binding).
2. Использование других приложений для изменения динамического адреса камеры на фиксированный. Это можно сделать, например, с помощью Hik-Connect.
Для этого запускаем Hik-Connect, жмем плюсик для добавления устройства, жмем онлайн устройства:
Выбираем нужное устройство из списка:
и видим следующее:
Всё, что остаётся - это отключить на камере DHCP и указать нужный статический адрес:
Добавляем камеру с указанным адресом в видеорегистратор и наслаждаемся результатом:
Такой финт можно проделать не только в видеорегистраторами, но и с IP видеодомофонами.
Приложения для Андроид - Hik-connect, IVMS-4500.
Приложения для Windows - SADP tool, IVMS-4200.
Написано для exon.kz, оттуда и утащено
S.T.A.R.K. — первый фреймворк для создания голосового ассистента
Привет, любители технологий! Сегодня я рад представить вам S.T.A.R.K. (Speech and Text Algorithmic Recognition Kit). Если вы когда-либо мечтали создать голосового ассистента, который будет современным, продвинутым и невероятно интуитивным, S.T.A.R.K. - лучшее решение.
Почему именно S.T.A.R.K.?
Автономность и конфиденциальность: S.T.A.R.K. работает полностью на устройстве, гарантируя сохранность ваших данных.
Распознавание контекста: С S.T.A.R.K. вы можете легко определять контекст и параметры для последующих запросов, а также одновременно выполнять несколько команд.
Асинхронные команды: Запустите задачу и продолжайте использовать ваш голосовой ассистент. S.T.A.R.K. уведомит вас о завершении.
Множественные ответы: Получайте обновления в реальном времени для текущих задач, будь то мониторинг процесса загрузки или отслеживание доставки.
Продвинутый синтаксический анализ: Специальная синтаксическая система упрощает извлечение любого параметра из строк.
Расширяемость с помощью ведущих языковых моделей: Улучшите когнитивные способности S.T.A.R.K., интегрируя его с ведущими языковыми моделями, такими как ChatGPT.
Поддержка нескольких языков: Взаимодействуйте со своим голосовым ассистентом на нескольких языках.
Полная настройка: Создавайте сложные команды, интегрируйте различные голосовые или текстовые интерфейсы и даже переопределяйте существующие классы.
Поддержка сообщества: Присоединяйтесь к репозиторию STARK-PLACE и пользуйтесь библиотекой расширений от сообщества.
Присоединяйтесь к нам
Для более подробного изучения каждой функции и понимания всех возможностей S.T.A.R.K. посетите официальную документацию и репозиторий на GitHub. Если вам понравился фреймворк, не забудьте добавить звезду ⭐ репозиторию.
Внутри MajorDom v1.0 — Разбираем архитектуру новой системы умного дома
В предыдущей статье я рассказал о том, как возникла идея создания умного дома. Теперь я хочу более подробно рассмотреть архитектуру первой версии этой системы.
МажорДом состоит из нескольких ключевых компонентов: девайсы, хаб, облако, мост, мобильное приложение и голосовой ассистент.
Девайсы обеспечивают управление физическими устройствами в доме. С помощью радиомодулей и протокола "Мерлин", они обмениваются данными, получают команды от хаба и отправляют ему события.
Хаб является центральным элементом системы. Он обеспечивает управление девайсами и координирует их работу. Хаб хранит основную базу данных с информацией о пользователях, доме, комнатах и девайсах. Через локальный HTTP-сервер и WS-сервер, хаб предоставляет API для работы с базой данных и высокоуровневого управления девайсами.
Облако является серверной частью и играет важную роль в обеспечении авторизации пользователей. На облаке хранится база данных пользователей, домов, хабов и их права доступа. Так же в облаке хранятся модели устройств со списком параметров и система обновлений прошивок.
Мост представляет собой WS-сервер, который обеспечивает связь между хабом и удаленными пользователями через интернет. Он позволяет отправлять команды и получать информацию с хаба, не находясь в домашней локальной сети.
Таких мостов в системе может быть несколько и они могут располагаться в разных местах. Клиенты выбирают ближайший или наименее загруженный мост для минимизации задержек при обмене данными.
Одна из главных особенностей системы "МажорДом" - ее отказоустойчивость. Даже при сбое работы одного или нескольких мостов, система продолжает функционировать. Остальные доступные мосты берут на себя задачи вышедших из строя мостов, обеспечивая непрерывность обмена данными между хабом и клиентами.
Нестрашна даже полная потеря интернет-соединения на хабе. Вся логика и обработка команд происходят локально, что обеспечивает независимость от интернет-соединения и сохраняет возможность управления устройствами в локальной сети. Но такой сценарий редкость, ведь хаб может подключаться одновременно по wifi и ethernet кабелю, а в будущем будет добавлена поддержка сим-карт сотовой сети.
Управление умным домом осуществляется через мобильное приложение, которое предоставляет удобный интерфейс для пользователей. Однако на практике, роль мобильного приложения часто сводится к настройке системы, а ежедневное управление устройствами осуществляется с помощью автоматических сценариев и голосового ассистента.
Как и хаб, голосовой ассистент может работать полностью офлайн, что обеспечивает безопасность, конфиденциальность и надежность использования.
Самое главное: теперь установить систему "МажорДом" могут даже те, кто не имеет опыта в программировании. В следующей статье я поделюсь подробным руководством о том, как это сделать.
MajorDom v1.0 — От голосового помощника к умному дому
В 2019 году я впервые узнал про возможность распознавания и синтеза речи на языке python. Гугл ассистент, сири, кортана и другие ассистенты тогда были еще более ограниченными и беспомощными, чем сейчас. О добавлении своих команд речи не шло от слова совсем. Тогда я и загорелся идеей создать своего голосового помощника, который не будет уступать даже Джарвису Тони Старка.
В процессе работы над ядром, начал задумываться, где этого ассистента хостить. Держать ноут постоянно включенным не вариант, а других компьютеров у меня не было. На помощь пришли одноплатные компьютеры raspberry pi. Я хотел, чтобы мой голосовой ассистент мог включать и выключать свет, управлять светодиодной лентой и шторами. С такими задачами отлично справляется ардуино. Оставалось только найти способ передавать команды с распбери. Использовать wifi и bluetooth не хотел с самого начала. Нашел в интернете информацию про модули nrf24l01, попробовал, понравилось.
Такая система работала довольно неплохо. Но было два ключевых недостатка:
Радиус действия ограничивался чувствительностью микрофона. С хорошим микрофоном все работало идеально в пределах комнаты, но не дальше.
Для каждого параметра каждого устройства надо было добавлять одинаковые голосовые команды, в которых отличались только адрес и сообщение. Неудобно, но пока терпимо.
Для решения первой задачи, в голосового ассистента я добавил http интерфейс на джанго, который мог принимать аудиофайл или строку. В комбинации с мобильным приложением на котлине, я получил беспроводной микрофон, таким образов расширив зону работы до радиуса действия роутера, то есть с комнаты до всей квартиры и даже чуть больше. Носить телефон по дому не всегда было удобно, так что через пару дней появилось приложение и на часах на wear os, что оказалось невероятно удобным решением.
Но я захотел большего: иметь доступ к своему помощнику всегда, а не только дома. Самым простым вариантом оказалось использование телеграм-бота как интерфейс ввода-вывода. Но меня не покидало ощущение, что бот — это что-то не то. Я решил оставить его только как временное решение, пока занят разработкой чего-то лучше.
Я хотел получить возможность использовать свое мобильное приложение для доступа к ассистенту на расстоянии. Надо было всего лишь придумать способ отправить запрос на локальный джанго сервер, не находясь при этом в локальной сети. Я был готов открывать и пробрасывать порты на роутере, но провайдер не дал мне белый ip. Тогда я попробовал ngrok. В первое время работало хорошо, но в бесплатной версии сервер периодически падал и менял адрес. Вариант с впн-туннелем я отбросил почти сразу. Стоимость vps была равна стоимости подписки на ngrok, но реализация была в разы сложнее.
Тогда я вспомнил, что у меня есть бесплатный хостинг для php сайтов на beget и переизобрел Long Polling и очереди. Реализация была максимально простой: приложение отправляло запрос на хостинг. Там php код добавлял тело (json) запроса в конец массива и записывал в локальный файл. Малина дома каждую секунду отправляла запрос на чтение этого файла, после чтения массив чистился. Таким образом мне удалось отправлять команды домой из любой точки планеты страны! Аналогичным образом я сделал получение ответа от ассистента: продублировал реализацию и поменял роли. Два файла и четыре эндпоинта на бесплатном хостинге на пыхе дали мне стабильную двустороннюю связь с моим домашним помощником. Чуть позже научил ассистента самостоятельно отправлять мне сообщения, например, с номером аудитории следующей пары в начале каждой перемены. Не успел всем похвастаться в колледже, как кто-то стал спамить мне домой. Пришлось добавить авторизацию: логин и пароль задавались хардкодом в приложении, а на сервере была проверка в стиле.
if ($login == 'markparker' && $password == 'MyVeryStrongP@ssw0rd!') {};
Репозитории приложения были приватные, а сервер был вообще без репы (зачем репа на один файл до 100 строк?), так что такого уровня безопасности мне более чем хватало.
Чуть позже в системе появился первый автоматический триггер команды. Через небольшой костыль в моем приложении я смог ловить событие, когда на телефоне срабатывает будильник. Этот триггер запускал первый полноценный сценарий: одновременно открывались шторы, ассистент озвучивал время, погоду и расписание пар в колледже. Если в комнате все еще было темно, плавно включалась лампа. В этот момент я чувствовал себя настоящим Тони Старком.
Тогда я захотел добавить больше автоматических сценариев, используя датчики движения, присутствия, освещенности и так далее. В этот момент стал сильнее ощущаться второй недостаток, о котором я писал ранее. Появилось много дублирования кода, работать с которым становилось уже не так удобно. В проекте была только сущность команды, не было понятия устройств и триггеров. И тогда до меня дошло, как сильно вырос мой голосовой ассистент: я уже делал полноценный умный дом, а не вопросно-ответного помощника.
Это осознание привело меня к решению отделить голосового ассистента и сделать умный дом самостоятельным проектом, ориентируясь уже на управление устройствами, а не на голосовые команды. И я решил делать это сразу по-взрослому, с полноценным сервером, базами данных, авторизацией и мобильным приложением. Чуть позже преподаватель в колледже подсказал, что вместо моего костыля с записью массива в файл на php, можно использовать вебсокеты. Именно так я и реализую позже управление устройствами через интернет. Спасибо, Александр Анатолиевич!
В остальном общая концепция не изменилась: хаб в виде одноплатного компьютера управляет ардуинами через радиомодуль nrf24l01. Подробнее про архитектуру я расскажу в следующей статье.
Разработчик интерфейсов в команду умного дома
Яндекс продолжает развивать систему умного дома с Алисой. В команду нужен разработчик с незамыленным взглядом, который сможет предложить и воплотить новые идеи для сервиса.
Чем предстоит заниматься
Продумывать и разрабатывать красиво, удобное и максимально эффективное приложение, с помощью которого пользователи управляют всей экосистемой умного дома от Яндекса. А еще:
отвечать за разработку и сроки реализации продуктовых и технических функций;
развивать компоненты дизайн-системы пользовательского интерфейса;
повышать скорость, производительность и стабильность системы;
взаимодействовать с дизайнерами и другими разработчиками.
Кого ищут
Кандидата с развитым алгоритмическим мышлением, который отлично знает JavaScript или TypeScript, работал с React, Redux или похожими фреймворками и библиотеками.
Что предлагают
Гибкий график (можно удаленно).
Зарплату на уровне рынка и выше, премии каждые полгода.
Работу в профессиональной команде, в которой можно расти.
Возможность влиять на продукт и реализовывать свои идеи.
Компенсацию затрат на питание, расширенную ДМС, спортзал, бесплатную парковку в офисе.
Разработчик компонентов умного дома Insteon отключил сервисы, оставив клиентов с нерабочими устройствами
По информации портала ArsTechnica, разработчик компонентов умного дома Insteon внезапно закрылся, оставив клиентов без техподдержки и с неработающими устройствами. Клиенты компании указывают, что сервис не работает уже больше трёх дней, форумы отключены, техподдержка не отвечает на запросы, в том числе в социальных сетях. Кроме того, руководители Insteon, включая генерального директора Роба Лиллесса, удалили компанию из своих профилей в LinkedIn. Все подключенные к Insteon умные устройства перестали работать, при этом на сайте компании написано «Все сервисы онлайн».
ArsTechnica не рекомендует пользователям, желающим перенести дом на другую систему, сбрасывать настройки Insteon Hub. Это центральный контроллер для управления умными устройствами от Insteon. Сброс настроек может привести к непоправимым сбоям. Разработчики Home Assistant указали пользователям ни при каких обстоятельствах не выполнять сброс настроек. Вероятно, активация нового устройства должна проходить через сервер. Если сбросить настройки до заводских, потребуется заново выполнить активацию, но, поскольку сервера отключены, сделать это невозможно.
Insteon не оставила в Сети ни исходного кода, ни документации, которую можно было бы использовать для перехода на другую систему. Также компания не уведомляла пользователей о прекращении работы.
Судя по сообщениям на Reddit, некоторым пользователям удалось восстановить работу умного дома через HOOBS. Кроме того, судя по сообщениям, устройства можно настроить для локальной работы.
https://habr.com/ru/news/t/661831/
P.S. Это всё, что нужно знать про модные облачные сервисы, вендорлок, и прочую проприетарщину в железе и софте.
Чем мы дышим
Давно хотел удовлетворить собственное любопытство и промониторить содержание СО2 в квартире: обычная 2-х комнатная брежневка, окна пластиковые. Батареи топят сильно, дома жарко и душно, периодически приходится проветривать (периодически же об этом забываешь). Но одно дело субъективное "душно" и другое - конкретные цифры. Вообще, давно интересует ПЛК Wirenboard и датчик к нему, который можно скомпоновать по-максимуму, чтобы замерял вообще почти всё, в т.ч. и СО2. Но цена на сам ПЛК и датчик негуманные чтобы просто удовлетворить любопытство, а мониторингом температуры дома и на улице, а также атмосферного давления и влажности дома у меня уже занимается Zabbix, развёрнутый в Docker на NAS Asustor AS1002T. Данные берутся по SNMP с устройства TE-Monitor v6, непосредственно к которому подключены датчики. Я об этом здесь писал Мониторинг температуры
Начал искать более доступное решение, нагуглился "Монитор качества воздуха Даджет MT8057s". Устройство показывает содержание СО2 и температуру воздуха на дисплее. Также можно подключить к компу и рисовать график посредством программы от производителя. Теоретически есть возможность подключить устройство к Home Assistant, развёрнутый на Raspberry Pi, вот тут об этом написано https://sprut.ai/article/detektor-uglekislogo-gaza-dadzhet-mt8057-co2-homebridge-ili-home-assistant
Впрочем, HA меня не особо интересует, вот к Zabbix бы как-нибудь привязать, с учётом специфики моего Zabbix-сервера - вопрос интересный, но пока не до этого.
В общем, устройство забрал, подключил к компу, запустил программу, и офигел!
Нижняя линия - график СО2, верхняя - температуры. Это график за час. При первом включении устройства, оно отобразило содержание СО2 более чем 1500 ppm, что, судя по таблице от производителя устройства, просто недопустимо:
400-700 ppm - комфортный уровень СО2 в помещениях
800-1200 ppm - усталость, сонливость и снижение внимания
1200 ppm и выше - полня потеря работоспособности
В другой нагугленной таблице такие расшифровки значений указаны:
300-400 ppm – свежий воздух за городом, идеально для здоровья
400-600 ppm – нормальный воздух на улице в городских условиях. До 600 ppm рекомендовано для спален, детских садов и школ
600-800 ppm – желательная норма в жилом помещении
800-1200 ppm – при нахождении в таком помещении у некоторых могут возникнуть лёгкие недомогания. Необходимо проветривание.
Более 1500 ppm – возникает усталость, сонливость, головная боль. Тяжело концентрироваться на задачах. Душно.
Более 2500 ppm – опасный для здоровья уровень: апатия, синдром хронической усталости. Может вызывать осложнения. Продуктивно работать очень сложно.
Приоткрыл два окна, расположенных на одной стороне дома, график СО2 пополз вниз вплоть до "зелёного" значения. Оранжевая загогулина - это я выставил на приборе правильную высоту над уровнем моря в моей местности, по умолчанию там ноль - хз на что это влияет, но рекомендовано настроить.
Собственно, такое экстремальное проветривание меня и подкосило, похоже, сквозняком: проснулся после экспериментов с температурой. Хотя, было не холодно и дышать было легко и приятно.
Много думал. Похоже, нужно продумывать так сказать деликатную систему вентиляции в квартире, а то атмосфера нездоровая какая-то, но сквозняки тоже не нужны. Насколько мне известно, проблема именно в пластиковых окнах, которые не пропускают воздух совершенно, а старые дома проектировались исходя из того, что окна будут установлены деревянные с их естественными щелями, обеспечивающими приток воздуха. Проектировщики домов не предполагали что когда-нибудь окна будут глухие и не пропускающие ничего.
По концепции понравились такие устройства как бризеры, но не уверен, что в моей провинции кто-нибудь сможет оказать услугу по высверливанию алмазной коронкой отверстия для воздуховода.
Также нагуглились всевозможные накладки для пластиковых окон, которые, якобы, обеспечивают приток воздуха, но отзывы неоднозначные.
В общем, если у кого-то есть опыт организации правильной вентиляции в похожих условиях, прошу поделиться опытом.