Requisitos técnicos.
Computadora | Dispositivo Cable de red PC: CPU 2.0 GHz o mas, Memoria RAM de 2gb o mas. |
Sistema Operativo | Windows 7/8/10 o superior. Dispositivo Hikvision que soporte HEOP Cable convencional RJ45 |
Fuente de poder | Fuente de poder convencional para dispositivos Hikvision Router Router PoE |
Diagrama de conexión.
Requisitos para desarrollo
Requerimientos de hardware del entorno de desarrollo de una aplicación inteligente | CPU | Core i5/ Ryzen 5 o superior |
| GPU | Tarjeta de video Nvidia de 2 GB o mas (Recomendado: NVIDIA RTX20 Series NVIDIA RTX30 Series NVIDIA GTX 1060 NVIDIA GTX 1070 NVIDIA GTX 1080 NVIDIA Titan Xp NVIDIA Tesla P4 NVIDIA Tesla T4) |
| RAM | 16 gb o mas |
| Almacenamiento | 120 gb o mas |
| Sistema operativo Linux | Ubuntu Version 16.04 (64-bit) Ubuntu Version 18.04 (64-bit) Ubuntu Version 20.04 (64-bit) O superior |
| Drivers Nvidia | Drivers actuales específicos para la grafica |
| Docker | Version 17.05 o superior |
| Nvidia-Container | Version 1.0.0 o superior |
Requerimientos de hardware del entorno de desarrollo de una aplicación no inteligente | Sistema operativo Linux | Ubuntu Version 16.04 (64-bit) Ubuntu Version 18.04 (64-bit) Ubuntu Version 20.04 (64-bit) O superior |
Instalacion de Docker
1. Actualizar el índice de paquetes
sudo apt-get update
2. Instalar paquetes prerequisitos
sudo apt-get install ca-certificates curl
3. Crear directorio para keyrings y agregar la clave GPG de Docker
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o
/etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc
4. Agregar el repositorio Docker a las fuentes APT
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5. Actualizar el índice de paquetes nuevamente
sudo apt-get update
6. Instalar Docker Engine y componentes adicionales
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
7. Verificar la instalación
sudo docker run hello-world
Instalación de drivers Nvidia.
1. Checar la tarjeta grafica presente
ubuntu-drivers devices
2. Instalar automáticamente drivers
sudo ubuntu-drivers autoinstall.
Instalación de Nvidia-Docker
1. Agregar repositorio oficial de NVIDIA
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && \
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-keyring.gpg && \
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
2. Instalar nvidia-container-toolkit
sudo apt update
sudo apt install -y nvidia-container-toolkit
3. Configurar Docker para usar NVIDIA como runtime
sudo nvidia-ctk runtime configure –runtime=docker
4. Reiniciar Docker
sudo systemctl restart docker
5. Verificar que el runtime está funcionando
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi
Instalacion de CUDA
La instalación de CUDA es descrita por nvidia en:
Descarga de la imagen docker.
Para proceder con la descarga de la herramienta de desarrollo docker el primer paso es modificar el archivo “daemon” del directorio “etc” agregando la siguiente información:
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"insecz`ure-registries": ["13.251.8.106"]
}
Para luego correr los siguientes comandos:
1. Nos dirigimos al directorio system
cd /lib/systemd/system
2. Modificamos el archivo docker.service
sudo vim docker.service
Y dentro de este archivo agregamos la siguiente linea justo al final del ExecStart
--config-file=/etc/docker/daemon.jso
Y después de esto reiniciamos docker con:
sudo systemctl daemon-reload
sudo systemctl restart docker
Después de este proceso ya podemos dirigirnos al portal tpp de hikvision:
En el cual tenemos que estar dados de alta y dirigirnos HEOP Overview y presionamos en la pequeña flecha azul hacia abajo en la tarjeta de Download Docker lo cual nos abrirá la siguiente ventana:
Donde podremos, en base al modelo de la cámara obtener tanto la dirección como las credenciales de autenticación que necesitaremos mas adelante al descargar el kit de herramientas HEOP, entonces ya con esta información, en la terminal de nuestra computadora podemos ejecutar el siguiente comando para iniciar sesión en el Hikvision Docker hub ingresando en orden el usuario y la contraseña que obtuvimos en el paso anterior.
sudo docker login 13.251.8.106
Habiendo iniciado sesión podemos ejecutar el comando de descarga directo al archivo hecho especialmente para nuestro dispositivo:
sudo docker pull XXX/XXX (La URL de la imagen Docker obtenido en el paso anterior)
Y con esto y después de esperar a que la descarga se termine tendríamos nuestro contenedor Docker completamente preparado, sin embargo para acceder al contenedor tenemos que dirigirnos a la pagina:
Donde podemos obtener las herramientas de desarrollador para aplicaciones HEOP G5 simplemente entramos a “HEOP” en el menú a la derecha y presionamos “Download” justo en las herramientas G5 o G7 dependiendo de que necesitemos
Lo que descargara un archivo zip que dentro tendrá la siguiente estructura:
├── G5 HEOP/
│ ├── Basic/
│ │ └── HEOP Basic Service_Base Layer_Developer Guide.pdf
│ ├── BSC/
│ │ └── HEOP Basic Service_BSC Layer_Developer Guide.pdf
│ ├── Hikflow/
│ │ ├── HIKFlow Developer Guide_V2.5.0.pdf
│ │ ├── HIKFlow Library API Specification_V2.4.0.pdf
│ │ ├── Hikvision Instinct Accelerator (HIKIA) SDK Developer Guide_V1.5.0.pdf
│ │ └── HIKFlow (G5) Supported Layers and Layer Cascading Relations_V2.5.0.xlsx
│ ├── heop_devel_run.sh
Dentro de este directorio encontraremos un “.sh” el cual es la llave o herramienta inicial para entrar a nuestro contenedor docker, por lo que primero necesitamos dale permisos de ejecución.
sudo chmod +x heop_devel_run.sh
Y procedemos a ejecutar el script en caso de querer hacer una aplicación inteligente:
sudo ./heop_devel_run.sh -r -g
Y en caso de querer hacer una aplicación inteligente:
sudo ./heop_devel_run.sh -r
Si todo esta correcto y llegamos a este punto al momento de ejecutar el contenedor podemos ver algo como lo siguiente:
En este punto ya tenemos acceso a las herramientas y demos oficiales de hikvision, por lo que según las necesidades del proyecto podemos analizar cada uno de los demos y herramientas tanto en la documentación oficial como en el contenedor de demos oficial.