Loading repository data…
Loading repository data…
DiegoBran16 / repository
En el presente repositorio se encuentra el proceso de desarrollo, en fase de prueba de concepto, de un sistema de monitoreo de rapidez y obtención de matrículas de automóviles, dicho proceso se detalla en forma secuencial. Adicional se incluyen los documentos durante el desarrollo y los enlaces a las herramientas necesarias para la elaboración del mismo. De forma general el sistema detecta automóviles que se mueven en un área delimitada, al mismo se le realiza un seguimiento y se asigna un identificador, luego se obtiene la rapidez que posee en un punto específico, y se captura una imagen del automóvil, tanto el identificador, la rapidez y la imagen del automóvil son enviados a los servicios de Amazon Web Services en donde se abstrae de la imagen los valores de la matrícula y junto al identificador y la rapidez se almacenan en una base de datos. Si el automóvil supera un límite de rapidez establecido se notifica por correo electrónico al infractor.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
En el presente repositorio se encuentra el proceso de desarrollo de un sistema de monitoreo de rapidez y obtención de matrículas de automóviles, dicho proceso se detalla en forma secuencial. Adicional se incluyen los documentos durante el desarrollo y los enlaces a las herramientas necesarias para la elaboración del mismo.
De forma general el sistema detecta automóviles que se mueven en un área delimitada, al mismo se le realiza un seguimiento y se asigna un identificador, luego se obtiene la rapidez que posee en un punto específico, y se captura una imagen del automóvil, tanto el identificador, la rapidez y la imagen del automóvil son enviados a los servicios de Amazon Web Services en donde se abstrae de la imagen los valores de la matrícula y junto al identificador y la rapidez se almacenan en una base de datos. Si el automóvil supera un límite de rapidez establecido se notifica por correo electrónico al infractor.
Las fases para desarrollo del sistema son:
La primer fase del desarrollo se relaciona con la conexión de los componentes de Hardware auxiliares a la tarjeta Jetson Nano. Estos componentes son:
A continuación se detallan los pasos para conectar estos componentes en la tarjeta:
PASO 1: Desatornillar los dos tornillos en el disipador de calor y removerlo
PASO 2: Conectar el cable de extensión al Wireless-AC8265 en el conector IPEX, apretar la tuerta y la arandela a cada conector SMA
Desatornillar el tornillo NIC en el centro
PASO 4: Insertar el Wireless-AC8265 en la cuenca M.2 y atornillar nuevamente el tornillo NIC
PASO 5: Atornillar nuevamente el disipador de calor
PASO 1: Conectar las antenas en el conector IPEX
PASO 1: Conectar el ventilador a la tarjeta Jetson Nano en el puerto correspondiente
PASO 2: Atornillar las cuatro esquinas del ventilador
Al finalizar las conexiones Hardware descritas anteriormente,en la segunda fase del desarrollo se monta el JetPack en la Jetson Nano y se realizan sus configuraciones iniciales. Las secciones que incluyen esta fase son:
PASO 1: De la página de NVIDIA se descarga la versión del JetPack compatible con la Jetson Nano; en este caso se descargó la versión 4.6.1. Para la descarga se utilizó el siguiente enlace -->NVIDIA Getting Started with Jetson Nano Developer Kit. Al terminar la descarga se obtiene el siguiente archivo:
PASO 2: Se descarga el Software Balena Etcher, este se utiliza para montar el JetPack en una tarjeta microSD con un mín de 32 GB. El Software se puede descargar desde aquí
Al abrir el programa se muestra el siguiente menu:
PASO 3: Se selecciona la opción "Flash from file", y se busca el archivo que se descargó en el paso 2
PASO 4: Se inserta la tarjeta microSD en la ranura de la computadora y se selecciona en el menú de Balena Etcher la opción "Select Target". Se selecciona la tarjeta microSD y se hace click en "Flash" para montar el JetPack.
PASO 4.1 Si el paso 4 se esta realizando en Windows aparecerá un mensaje la siguiente notificación de la cual se selecciona "Cancelar"
Paso 5: Se conecta la Jetson Nano a corriente con un cable de alimentación que entrega 5V y 4A, adicional se conecta un monitor por medio de display port, y un teclado y mouse a los puertos USB. Finalmente se inserta la tarjeta microSD al puerto corresepondiente.
PASO 6: Al encender por primera vez la tarjeta Jetson Nano, el sistema operativo solicita la configuración inicial tipica de Ubuntu como la zona horaria, el usuario y la contraseña. El usuario establecido fue "tesis"
PASO 1: Instalar python3-dev en la tarjeta Jetson Nano
apt install python3-dev
PASO 2: Diriguirse al directorio Descargas
cd Descargas
PASO 3: Clonar el repositorio Pyrestone/jetson-fan-ctl-git para la instalación del control automático del ventilador
git clone https://github.com/Pyrestone/jetson-fan-ctl.git
PASO 4: Acceder a directorio jetson-fan-ctl
cd jetson-fan-ctl
PASO 5: Ejecutar archivo install.sh
./install.sh
A continuación se realiza el setup del contenedor de Docker.
PASO 1: Clonar el repositorio de GitHub dusty-nv/jetson-inference
git clone --recursive https://github.com/dusty-nv/jetson-inference/
PASO 2: Ingresar al directorio jetson-inference
cd jetson-inference/
PASO 3: Iniciar el contenedor
docker/run.sh
PASO 4: Al correr por primera vez el archivo run.sh, se inicia la imagen del contenedor desde Docker Hub, y se solicita la instalación de modelos entrenados y Pytorch para Python3. Se presiona la barra espaciadora en la opción de "Aceptar" para la instalación de los modelos seleccionados por default
PASO 5: Salir del contenedor al finalizar la instalación de los modelos
exit
PASO 6: En el directorio home crear un archivo Dockerfile que importa toda la configuración del contenedor dusty-nv/jetson-inference/ y librerías adicionales para el sistema como se muestra a continuación:
FROM dustynv/jetson-inference:r32.7.1
ENV LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1
RUN pip install AWSIoTPythonSDK
RUN pip3 install --upgrade pip
RUN apt-get update
RUN pip install matplotlib
RUN apt-get install -y python3-tk
RUN pip install sklearn
PASO 7: Se construye el contenedor nuevo en el mismo directorio donde se creó el Dockerfile mencionado en el paso 6
sudo docker build-tag docker-jetson
PASO 8: Cambiar a directorio jetson-inference
cd jetson-inference/
PASO 9: Para la creación del directorio para la configuración y almacenamiento de los archivos con el código. Se crea una carpeta en el directorio home con el nombre "my-detection3"
mkdir my-detection3
PASO 10: Ingresar al directorio my-detection3
cd my-detection3
PASO 11: Crear un archivo vacío denominado my-detection3.py que se modificará posteriormente
touch my-detection3.py
PASO 12: Crear un archivo vacío denominado Car2.py que se modificará posteriormente
touch Car2.py
PASO 13: Ingresar al directorio jetson-inference
cd jetson-inference
PASO 14: Correr y montar carpeta my-detection3 en el nuevo contenedor
docker/run.sh -container docker-jetson:latest -volume~/my-detection3:/my-detection3
PASO 1: En el directorio root@tesis:~# ejecutar el siguiente comando:
sudo systemctl disable nvzramconfig
PASO 2: Ejecutar el comando fallocate -l que permitirá manipular el espacio en disco SD
sudo fallocate -l 4G /mnt/4GB.swap
PASO 3: Correr el comando mkswap
sudo mkswap /mnt/4GB.swap
PASO 4: Correr el comando swapon
sudo swapon /mnt/4GB.swap
PASO 5: Ingresar al directorio root@tesis:/#
PASO 6: Descargar e instalar nano
apt-get install nano
PASO 7: Ingresara al directorio root@tesis:/etc# y modificar el archivo fstab
nano fstab
PASO 8: Guardar los cambios del archivo
Para la escritura y edición del código en Python se instaló Visual Studio Code con los siguientes pasos:
PASO 1: En el directorio tesis@tesis:~$ Descargar información actualizada de paquetes y actualizar dependencias
sudo apt-get update
PASO 2: Dirigirse al directorio Descargas
cd Descargas
PASO 3: Descargar e instalar curl en el sistema, para descarga de archivos
sudo apt-get install curl
PASO 4: Descargar el archivo .deb con el comando curl -L
curl -L tesis@tesis:~/Descargas$ curl -L https://github.com/toolboc/vscode/releases/download/1.32.3/code-oss_1.32.3-arm64.deb -o code-oss_1.32.3-arm64.deb
PASO 5: Realizar la instalación del paquete .deb con el comando dpkg y la letra -i de install
`sudo dpkg -i code-oss_1.32.3-arm64