Ir al contenido principal

Para desarrolladores - Requisitos e instalacion para desarrollo HEOP

L
Escrito por Luis Armando Baca Loya
Actualizado hace más de una semana

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.

¿Ha quedado contestada tu pregunta?