приложение hisee как добавить свое облако

Как мы научились подключать китайские камеры за 1000р к облаку. Без регистраторов и SMS (и сэкономили миллионы долларов)

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

приложение hisee как добавить свое облако. ipipdn8drahlsndfnz6sc4fdzis. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-ipipdn8drahlsndfnz6sc4fdzis. картинка приложение hisee как добавить свое облако. картинка ipipdn8drahlsndfnz6sc4fdzis.

Облачные системы видеонаблюдения решают эту задачу — предоставляя клиентам уже существующую инфраструктуру хранения и обработки видео. Клиенту облачного видеонаблюдения достаточно просто подключить камеру к интернету и привязать к своему аккаунту в облаке.

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

Для этого необходимо, чтобы на камере был установлен модуль ПО работающий с облаком. Однако, если говорить про дешевые камеры, то у них очень ограничены аппаратные ресурсы, которые почти на 100% занимает родная прошивка вендора камеры, а ресурсов необходимых для облачного плагина — нет. Этой проблеме разработчики из ivideon посвятили статью, в которой говорится почему они не могут установить плагин на дешевые камеры. Как итог, минимальная цена камеры — 5000р ($80 долларов) и миллионы потраченных денег на оборудование.

Мы эту проблему успешно решили. Если интересно как — велком под кат

Немного истории

В 2016 году мы стартовали разработку платформы облачного видеонаблюдения для Ростелекома.

В части ПО камер на первом этапе пошли «стандартным» для таких задач путем: разработали свой плагин, который устанавливается в штатную прошивку камеры вендора и работает с нашим облаком. Однако, стоит отметить, что при проектировании мы использовали наиболее легковесные и эффективные решения (например, plain C реализацию protobuf, libev, mbedtls и полностью отказались от удобных, но тяжелых библиотек типа boost)

Сейчас на рынке IP камер нет универсальных решений по интеграции: у каждого вендора свой способ установки плагина, свой набор API для работы прошивки и уникальный механизм обновления.

Это означает, что для каждого вендора камер необходимо индивидуально разрабатывать объемный слой интеграционного ПО. И на момент старта разработки целесообразно работать только с 1-ним вендором, что бы сосредоточить усилия команды на разработке логики работы с облаком.

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

На камерах Hikvision мы и запустили наш первый пилотный проект облачное видеонаблюдение Видеокомфорт.

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

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

Поэтому, я принял решение копать глубже — сделать полностью свою прошивку для камер любых вендоров. Этот подход существенно снижает требования к аппаратным ресурсам камеры — т.к. слой работы с облаком на порядок более эффективно интегрирован с video application, и в прошивке нет лишнего не используемого жирка.

И что важно, при работе с камерой на низком уровне есть возможность использовать аппаратный AES, который шифрует данные, не создавая дополнительной нагрузки на маломощный CPU.

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

В тот момент у нас не было вообще ничего. Вообще ничего.

Практически все вендоры не были готовы работать с нами на таком низком уровне. Информации о схемотехнике и компонентах — нет, официальных SDK чипсетов и документации сенсоров — нет.
Технической поддержки так же нет.

Ответы на все вопросы приходилось получать реверс инжинирингом — методом проб и ошибок. Но мы справились.

Первыми моделями камер, на которых мы набивали шишки стали камеры Xiaomi Yi Ants, Hikvision, Dahua, Spezvision, D-Link и несколько сверх дешевых безымянных китайских камер.

Техника

Камеры на чипсете Hisilicon 3518E. Аппаратные характеристики камер такие:

Xiaomi Yi AntsNoname
SoCHisilicon 3518EHisilicon 3518E
RAM64MB64MB
FLASH16MB8MB
WiFimt7601/bcm43143
Sensorov9732 (720p)ov9712 (720p)
Ethernet+
MicroSD++
Microphone++
Speaker++
IRLed++
IRCut++

Сейчас поддерживаем чипсеты Hisilicon 3516/3518, а так же Ambarella S2L/S2LM. Количество моделей камер — десятки.

Состав прошивки

uboot

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

Скрипт загрузки камеры достаточно тривиален:

Первое время, когда мы работали без поддержки вендоров, мы просто копировали этот блок из оригинальной прошивки камеры.

Ядро linux и rootfs

На камерах используется ядро Linux, входящее в состав SDK чипа, обычно это не самые свежие ядра из ветки 3.x, поэтому часто приходится сталкиваться с тем, что драйвера дополнительного оборудования не совместимы с используемым ядром, и нам приходится их бэк-портировать под ядро камеры.

Другая проблема — это размер ядра. Когда размер FLASH всего 8MB, то каждый байт на счет и наша задача — аккуратно отключить все не используемые функции ядра, что бы сократить размер до минимума.

Video application

Наиболее сложная и ресурсоемкая часть прошивки — приложение, которое обеспечивает видео-аудио захват, кодирование видео, настраивает параметры картинки, реализует видео-аналитики, например, детекторы движения или звука, управляет PTZ и отвечает за переключения дневного и ночного режимов.

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

В традиционных решениях ‘прошивка вендора + облачный плагин’, которые не могут работать на дешевом железе, видео внутри камеры передается по протоколу RTSP — а это огромный оверхед: копирование и передача данных через socket, лишние syscall-ы.

Мы в этом месте используем механизм shared memory — видео не копируется и не пересылается через socket между компонентами ПО камеры, тем самым оптимально и бережно используя скромные аппаратные возможности камеры.

приложение hisee как добавить свое облако. image loader. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-image loader. картинка приложение hisee как добавить свое облако. картинка image loader.

Подсистема обновления

Предмет отдельной гордости — подсистема fault-tolerant онлайн обновления прошивки.

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

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

Разберем технику подробнее:

Наиболее уязвимый момент — перезапись раздела с ядром Linux и корневой файловой системой. В случае, если один из этих компонентов окажется поврежденным, то камера вообще не загрузиться дальше начального загрузчика uboot, который не умеет скачивать прошивку из облака.

Значит, нам нужно обеспечить гарантию наличия на камере работоспособного ядра и rootfs в любой момент процесса обновления. Казалось бы самым простым решением было бы постоянно хранить на флеш памяти две копии ядра с rootfs и в случае повреждения основного ядра загружать его из резервной копии.

Годное решение — однако, ядро с rootfs занимает около 3.5MB и для постоянной резервной копии нужно выделить 3.5MB. На самых дешевых камерах просто нет столько свободного места под backup ядра.

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

приложение hisee как добавить свое облако. image loader. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-image loader. картинка приложение hisee как добавить свое облако. картинка image loader.

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

CI/CD система сборки и деплоя прошивок

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

приложение hisee как добавить свое облако. image loader. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-image loader. картинка приложение hisee как добавить свое облако. картинка image loader.

Из сервиса обновления ПО прошивки доставляются на тестовые камеры наших QA, а по завершению всех этапов тестирования и на камеры пользователей.

Информационная безопасность

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

Поэтому, весь не используемый функционал в нашей прошивке отключен, все tcp/udp порты закрыты и при обновлении прошивки проверяется цифровая подпись ПО.

И кроме этого, прошивка проходит регулярное тестирование в лаборатории информационной безопасности.

Заключение

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

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

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

Источник

Как сделать своё облачное хранилище файлов. И не платить за него

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Месяц назад я рассказывал о препарировании старенького Mac mini 2007 года. Моя цель — сделать собственный сервер и отказаться от облачных хранилищ, вроде iCloud, Google Drive, Dropbox и прочих.

После пропайки нового разъема с резистором нагрузки Mac mini исправно работает. За последний месяц он ни разу не выключался, выполняя роль домашнего FTP-сервера с внешним доступом.

В этой статье я расскажу, как поднять аналогичное хранилище у себя дома. В качестве компьютера не обязательно останавливаться на Mac mini.

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

Что ж, приступим к созданию собственного сервера.

Предварительная подготовка

Накатываем Linux

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Так случилось, что мой Mac mini был с нерабочим DVD-Rom. После безуспешных попыток запустить систему и часов, потраченных на форматирование загрузочных флешек, мне удалось выяснить кое-что интересное.

Не все Mac mini и старые Mac поддерживают установку с флешки.

У меня как раз такой случай.

Установить DVD-Rom от старенького ноутбука HP не удалось — разъемы не совпадают. Искать донора или аналогичный привод не было желания.

Решение было следующим. Я достал 2,5» винт Mac mini, установил его в ноутбук на базе Windows. Загрузил дистрибутив Linux Debian (можно сделать это вот здесь), развернул образ на флешку и установил на HDD от Mac mini.

Потом HDD с уже накатанной Linux поставил обратно в Mac mini, включил и все заработало.

Linux неприхотлива к железу. Wi-Fi, Ethernet, графика — все заработало после первого запуска.

Все, теперь у Mac mini есть работающая операционка и можно приступать к дальнейшей настройке.

Покупаем «белый» IP

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Без этого никак. Вам понадобится так называемый «белый» IP-адрес. То есть такой айпишник, который будет закреплен конкретно за вашим роутером.

Чтобы его получить, звоним провайдеру и просим активировать «белый статический IP-адрес». Обычно стоимость месяца такого IP не более 100 – 150 рублей.

Увы, бесплатно держать свой сервер не выйдет. Зато вы можете наращивать емкость собственного хранилища, но при этом не платить заоблачные цены за гигабайты в облаке.

Время активации зависит от провайдера. У меня был белый IP уже через 30 минут после звонка провайдеру.

Пробрасываем порты

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

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

Вы находитесь далеко от дома, пользуетесь, например интернетом от оператора сотовой связи.

Указываете домашний IP-адрес. На него поступает запрос, а дальше он должен связаться с вашим домашним сервером, «постучав» на конкретный сетевой порт.

Данная настройка зависит конкретно от вашей модели роутера. Логичнее будет почитать про проброс портов конкретно на ваш роутер отдельно. У меня этот пункт настроек выглядит так:

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Я просто активировал DMZ (доступ к общедоступным сервисами) и прописал IP-адрес Mac mini в локальной сети.

Его, к слову, можно посмотреть как в сетевых настройках Linux, либо в веб-интерфейсе роутера в разделе подключенных устройств.

Настраиваем сервер на базе Nextcloud

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Поскольку я изначально поставил перед собой цель сделать полноценную замену популярным облачным сервисам, ограничиваться банальным FTP не буду.

Хочется получить нормальный мобильный клиент, автоматическую синхронизацию и красивую оболочку.

Лучший вариант для всего этого — решением от Nextcloud.

Nextcloud — это как раз-таки специально разработанный комплекс для создания серверов с регулируемыми уровнями доступа для разных клиентов в рамках корпоративной сети. Но он позиционируется и как удобный инструмент для создания домашнего сервера.

Что ж, приступим к установке Nextcloud на наш Mac mini.

Шаг 1. Запускаем терминал в Linux Debian на Mac mini. Можно вводить все команды как на самом будущем сервере, так и воспользовавшись SSH из Терминала вашего MacBook или другого рабочего компьютера.

Для подключения по SSH необходимо ввести следующую строчку:

Затем указать пароль администратора в системе Linux (на нашем сервер).

Вводим следующую команду:

Затем устанавливаем сервер MariaDB:

Дожидаемся загрузки и установки всех пакетов.

Теперь проверим статус установленного сервера:

sudo systemctl status mariadb

Видим статус active, значит все в порядке.

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Чтобы выйти нажимаем Q. Продолжаем настройку.

Шаг 2. Проверяем версию MySQL, указав следующую команду:

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Теперь настроим систему управления базами данных MySQL под работу сервера Nextcloud. Вводим:

На запрос пароля введите либо ваш пароль администратора, либо просто нажмите Enter.

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Шаг 3. Теперь нам предстоит прописать серию команд для создания базы данных под Nextcloud. Вводим:

CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

Нажимаем Enter и получаем ответ: Query OK, 1 row affected (0.00 sec). Продолжаем ввод команд:

GRANT ALL ON nextcloud.* TO ‘nextclouduser’@’localhost’ IDENTIFIED BY ‘ПРИДУМАТЬ_ПАРОЛЬ’;

Готово. База данных MySQL создана.

Шаг 4. Время установить PHP. Вводим следующую команду.

su apt install software-properties-common жмем еnter

su add-apt-repository ppa:ondrej/php

Жмем еще раз Enter после выполнения последней команды. Дожидаемся окончания установки.

Ставим Apache. Вводим такую строчку:

su apt install apache2 php7.1 php7.1-gd php7.1-json php7.1-mysql php7.1-curl php7.1-mbstring php7.1-intl php7.1-mcrypt php7.1-imagick php7.1-xml php7.1-zip libapache2-mod-php7.1

Подтверждаем действие, нажав Y и Enter. Дожидаемся установки всех пакетов.

Настроим Firewall. Вводим:

Теперь приступаем к загрузке Nextcloud. Меняем директорию:

Жмем Enter. Ждем окончания загрузки. Вводим:

Раскрываем список файлов:

Перемещаем Nextcloud в «правильную» папку:

Все, Nexctloud перемещен в корневую директорию нашего HTTP-сервера. Вводим еще одну команду:

И редактируем файл конфига Apache:

su nan /etc/apache2/conf-available/nextcloud.conf

Содержимое данного фала должно быть следующим:

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Alias /nextcloud «/var/www/nexctloud/»

Options +FollowSymlinks
AllowOverride All

SetEnv HOME /var/www/nexctloud

SetEnv HTTP_HOME /var/www/nextcloud

Если подобного текста нет — копируем и вставляем его в файл конфига и нажимаем CTRL + O для сохранения. Жмем Enter.

Остается включить несколько конфигурационных файлов. Ниже серия команд, которые следует вводить поочередно. Нажимаем Enter после каждой команды и дожидаемся выполнения.

su a2enconf rewrite
su systemctl reload apache2 (вводим пароль)
su a2enmod rewrite
su a2enmod headers
su a2enmod env
su a2enmod dir
su a2enmod mime
su systemctl reload apache2

Готово. Настройка Nextcloud окончена.

Краткая настройка Nexctloud

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Открываем браузер и вводим адрес нашего белого IP, дописав /nextcloud. То есть во так:

80.23.23.223/nextcloud указываете ваш IP вместо предложенного

И видим окно, показанное на скриншоте выше.

Задаем пароль для пользователя Admin. Попадаем в веб-интерфейс нашего сервера.

Рассказать о всех тонкостях настройки серверного решения Nextcloud в одном материале невозможно. Главное, что следует сделать — скачать мобильный клиент для Android или iOS.

приложение hisee как добавить свое облако. . приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-. картинка приложение hisee как добавить свое облако. картинка .

Авторизоваться в нем можно, указав ваш IP-адрес сервера и добавив /nextcloud. Вводите созданное имя пользователя и пароль.

А дальше останется выбрать папки, которые вы хотите автоматически синхронизировать с вашим облачным сервером, установить настройки синхронизации, создать учетные записи для всех членов семьи.

Nexctloud позволяет полностью отказаться от облачных решений вроде Dropbox и iCloud. И главное, вы знаете, что ваши файлы всегда доступны только вам и вашим близким.

Владимир Кузин

DIY-техноман. Уверен, что все можно сделать своими руками. Коллайдер не в счет.

Экономим до 60% на продуктах и алкоголе перед Новым годом

Москва приятная, предновогодняя

Яндекс объединился с Apple и Google для разработки единого стандарта умного дома

приложение hisee как добавить свое облако. Apple iPhone 12mini vs iPhone 11. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-Apple iPhone 12mini vs iPhone 11. картинка приложение hisee как добавить свое облако. картинка Apple iPhone 12mini vs iPhone 11.

В России из-за дефицита iPhone 13 вырос спрос на iPhone 12 и 11

приложение hisee как добавить свое облако. android imessage reactions 2. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-android imessage reactions 2. картинка приложение hisee как добавить свое облако. картинка android imessage reactions 2.

Google Сообщения теперь умеют отображать реакции iMessage в виде эмодзи

приложение hisee как добавить свое облако. E5D785B0 A6FC 488F B7B2 413B1B8E1CC3. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-E5D785B0 A6FC 488F B7B2 413B1B8E1CC3. картинка приложение hisee как добавить свое облако. картинка E5D785B0 A6FC 488F B7B2 413B1B8E1CC3.

Роскомнадзор внёс Apple и Google в реестр компаний, обязанных открыть филиалы в России

приложение hisee как добавить свое облако. 9 Pocket 3 4.03. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-9 Pocket 3 4.03. картинка приложение hisee как добавить свое облако. картинка 9 Pocket 3 4.03.

Портативная ретро-консоль Analogue Pocket с поддержкой старых картриджей Sega и Game Boy поступит в продажу в декабре

Как переоформить SIM-карту с юрлица на физическое лицо

приложение hisee как добавить свое облако. maxresdefault 3. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-maxresdefault 3. картинка приложение hisee как добавить свое облако. картинка maxresdefault 3.

3 неизвестные функции будильника на iPhone. Например, скрытые мелодии

приложение hisee как добавить свое облако. 12 icloud drive. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-12 icloud drive. картинка приложение hisee как добавить свое облако. картинка 12 icloud drive.

Как в iCloud настроить автоответчик для почты на время отпуска или командировки

🙈 Комментарии 72

Заголовок статьи не правда

приложение hisee как добавить свое облако. DastarD avatar. приложение hisee как добавить свое облако фото. приложение hisee как добавить свое облако-DastarD avatar. картинка приложение hisee как добавить свое облако. картинка DastarD avatar.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *