Entrena y Despliega Tu Propio Modelo de IA en SenseCAP A1101
Descripción general
En este wiki, te enseñaremos cómo entrenar tu propio modelo de IA para tu aplicación específica y luego desplegarlo fácilmente en el SenseCAP A1101 - Sensor IA de Visión LoRaWAN. ¡Comencemos!
El firmware actual del dispositivo es compatible con EI. Si compraste el dispositivo después del 30 de marzo de 2023, debes flashearlo de nuevo al firmware por defecto para seguir este wiki.
Introducción al hardware
A lo largo de este wiki utilizaremos principalmente el SenseCAP A1101 - Sensor IA de Visión LoRaWAN. Primero, familiaricémonos con este hardware.
SenseCAP A1101 - Sensor IA de Visión LoRaWAN combina tecnología TinyML y transmisión LoRaWAN de largo alcance para ofrecer una solución de IA de bajo consumo y alto rendimiento para exteriores. Integra la solución de visión IA de Himax, compatible con TensorFlow Lite y múltiples plataformas TinyML, capaz de ejecutar distintos modelos para funciones como detección de plagas, conteo de personas y reconocimiento de objetos. Los usuarios pueden usar modelos proporcionados por Seeed, generar modelos propios con herramientas de entrenamiento o adquirir modelos comerciales de proveedores asociados.

Introducción al software
En este wiki utilizaremos las siguientes tecnologías:
- Roboflow – para anotar imágenes.
- YOLOv5 – para entrenar el modelo.
- TensorFlow Lite – para la inferencia.

¿Qué es Roboflow?
Roboflow es una herramienta de anotación basada en la web. Permite anotar imágenes fácilmente, aplicar preprocesamiento y exportar el conjunto etiquetado en formatos como YOLOv5 PyTorch, Pascal VOC, ¡y más! Además, ofrece conjuntos de datos públicos listos para usar.
¿Qué es YOLOv5?
YOLO significa “You Only Look Once”. Es un algoritmo que detecta y reconoce objetos en tiempo real. Ultralytics YOLOv5 es la implementación basada en PyTorch.
¿Qué es TensorFlow Lite?
TensorFlow Lite es un framework de aprendizaje profundo multiplataforma y listo para producción. Convierte un modelo preentrenado de TensorFlow a un formato optimizado para velocidad o tamaño, para desplegar inferencia en dispositivos edge como móviles, Raspberry Pi o microcontroladores.
Estructura del wiki
Este wiki se divide en tres secciones principales:
- Entrena tu propio modelo con un dataset público
- Entrena tu propio modelo con tu propio dataset
- Despliega el modelo entrenado en SenseCAP A1101
La sección 1 es la forma más rápida de crear tu modelo con pocos pasos. La sección 2 requiere más tiempo y esfuerzo, pero aporta mayor conocimiento. La sección 3 explica el despliegue del modelo y puede realizarse tras completar la 1 o la 2.
Opciones de seguimiento
- Sigue la sección 1 y luego la sección 3 – rápido.
- Sigue la sección 2 y luego la sección 3 – detallado.
Recomendamos empezar por la primera opción y luego avanzar a la segunda.
1. Entrena tu propio modelo con un dataset público
El primer paso en un proyecto de detección de objetos es obtener datos para entrenamiento. Puedes descargar datasets públicos o crear el tuyo propio. Usar datasets públicos te ahorra tiempo de recolección y anotación, ya están listos para usar.
Preparación de hardware
- SenseCAP A1101 – Sensor IA de Visión LoRaWAN
- Cable USB tipo C
- Windows/Linux/macOS con Internet
Preparación de software
- No se requiere software adicional
Uso de un dataset público anotado
Puedes descargar datasets públicos como el COCO dataset o el Pascal VOC dataset. Se recomienda Roboflow Universe, que ofrece más de 90 000 datasets con 66 millones de imágenes. También puedes buscar “open-source datasets” en Google.
- Paso 1. Visita este enlace de Roboflow para acceder a un dataset de detección de manzanas.
- Paso 2. Haz clic en Create Account para crear una cuenta Roboflow.

- Paso 3. Haz clic en Download, selecciona YOLO v5 PyTorch como Format, pulsa show download code y luego Continue.

Se generará un snippet de código que usaremos luego en Google Colab. Mantén esta ventana abierta.

Entrena usando YOLOv5 en Google Colab
Tras elegir el dataset, usamos Google Colab para entrenar en la nube. Integramos la API de Roboflow en Colab para descargar fácilmente el dataset.
Abre este notebook preconfigurado, sigue los pasos y ejecuta las celdas de código en orden.
Nota: En Colab, en la celda de Step 4, copia directamente el código generado por Roboflow.
El notebook hará:
- Configurar entorno de entrenamiento
- Descargar el dataset
- Entrenar el modelo
- Descargar el modelo entrenado

Para un dataset de detección de manzanas con 699 imágenes, tardó unos 7 min en completarse en Colab con GPU NVIDIA Tesla T4 (16 GB).

Aunque Colab permite guardar 4 modelos, el dispositivo carga uno a la vez; el usuario seleccionará cuál usar más adelante.
Despliegue e inferencia
Si deseas ir directamente a la sección 3 sobre cómo desplegar e inferir, haz clic aquí.
2. Entrena tu propio modelo con tu dataset
Si los objetos que necesitas no existen en datasets públicos, crea tu propio dataset. Graba muestras cubriendo todos los ángulos (360 °), entornos, iluminación y condiciones climáticas. Luego anota las imágenes. Recomendamos usar la cámara integrada del A1101 para uniformidad en colores y calidad.
Preparación de hardware
- SenseCAP A1101 – Sensor IA de Visión LoRaWAN
- Cable USB tipo C
- Windows/Linux/macOS con Internet
Preparación de software
En la siguiente sección configuraremos el software para Windows, Linux e Intel Mac; para Mac M1/M2 el proceso difiere.
Windows, Linux, Mac con Intel
-
Paso 1. Asegúrate de tener Python instalado. Si no es así, visita python.org para descargar e instalar la última versión.
-
Paso 2. Instala la siguiente dependencia:
pip3 install libusb1
Mac con M1/M2 (Apple Silicon)
- Paso 1. Instala Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- Paso 2. Instala conda
brew install conda
- Paso 3. Descarga libusb
wget https://conda.anaconda.org/conda-forge/osx-arm64/libusb-1.0.26-h1c322ee_100.tar.bz2
- Paso 4. Instala libusb
conda install libusb-1.0.26-h1c322ee_100.tar.bz2
Debes asegurarte de que la versión de tu BootLoader sea mayor a 2.0.0 antes de poder cambiar el firmware y continuar con los siguientes pasos.
Si no estás seguro, revisa la versión del BootLoader siguiendo los pasos en esta sección.
Si la versión es menor a 2.0.0, actualiza el BootLoader siguiendo las instrucciones de esta sección.
Recolección del conjunto de datos (dataset)
- Paso 1. Conecta el SenseCAP A1101 a la PC mediante un cable USB Tipo-C.

- Paso 2. Haz doble clic en el botón de arranque para ingresar al modo boot.

Después de esto, verás que aparece una nueva unidad de almacenamiento en tu explorador de archivos con el nombre SENSECAP.

- Paso 3. Arrastra y suelta este archivo
.uf2
dentro de la unidad SENSECAP.
Una vez que el archivo .uf2
se haya copiado completamente, la unidad desaparecerá. Esto indica que el firmware se cargó exitosamente en el módulo.
-
Paso 4. Copia y pega este script en Python en un archivo nuevo llamado capture_images_script.py en tu PC.
-
Paso 5. Ejecuta el script de Python para comenzar a capturar imágenes.
python3 capture_images_script.py
Por defecto, capturará una imagen cada 300ms. Si quieres cambiar esto, puedes correr el script en este formato.
python3 capture_images_script.py --interval <time_in_ms>
Por ejemplo, para acpturar una imágen cada segundo:
python3 capture_images_script.py --interval 1000
Después de ejecutar el script anterior, el SenseCAP A1101 comenzará a capturar imágenes continuamente desde su cámara integrada y guardará todas en una carpeta llamada save_img.

También se abrirá una ventana de vista previa mientras se graban las imágenes:

Cuando hayas capturado suficientes imágenes, haz clic en la ventana del terminal y presiona la siguiente combinación de teclas para detener el proceso de captura:
- Windows: Ctrl + Break
- Linux: Ctrl + Shift + \
- Mac: CMD + Shift + \
Cambiar el firmware del dispositivo después de capturar imágenes
Una vez que hayas terminado de grabar imágenes para tu dataset, debes volver a cargar el firmware original en el SenseCAP A1101 para poder usar los modelos de detección de objetos nuevamente.
-
Paso 1. Entra al modo boot como se explicó anteriormente.
-
Paso 2. Arrastra y suelta este archivo
.uf2
en la unidad SENSECAP.
Una vez que termine la copia del archivo .uf2
, la unidad desaparecerá. Esto indica que el firmware fue cargado exitosamente en el módulo.
Anotar el dataset usando Roboflow
Si usas tu propio dataset, deberás anotar manualmente todas las imágenes. Anotar significa dibujar recuadros alrededor de cada objeto que deseas detectar y asignarles una etiqueta.
Usaremos Roboflow, una herramienta de anotación en línea muy práctica. Roboflow te permite importar directamente imágenes, dividir el dataset en entrenamiento, validación y prueba, aplicar procesamiento posterior y exportarlo en formato YOLOv5 PyTorch, que es el que necesitamos.
Usaremos un conjunto de imágenes con manzanas como ejemplo para detección y conteo.
-
Paso 1. Accede a Roboflow y crea una cuenta.
-
Paso 2. Haz clic en Create New Project para comenzar tu proyecto.

- Paso 3. Rellena:
- Project Name
- Licencia: CC BY 4.0 (por defecto)
- Tipo de proyecto: Object Detection (Bounding Box)
- ¿Qué predecirá tu modelo?: por ejemplo, apples
Luego haz clic en Create Public Project.

- Paso 4. Arrastra y suelta las imágenes que capturaste con el SenseCAP A1101.

- Paso 5. Una vez procesadas, haz clic en Finish Uploading y espera a que se completen.

- Paso 6. Haz clic en Assign Images.

- Paso 7. Selecciona una imagen, dibuja un cuadro alrededor de una manzana, selecciona la etiqueta apple y presiona ENTER.

- Paso 8. Repite lo mismo para las demás manzanas.

Intenta etiquetar todas las manzanas visibles, incluso si solo se ve una parte.
- Paso 9. Continúa anotando todas las imágenes.
Roboflow tiene una función llamada Label Assist que predice etiquetas automáticamente para acelerar el proceso. Solo funciona con 80 clases predefinidas. Para activarlo:



- Paso 10. Una vez finalizada la anotación, haz clic en Add images to Dataset.

- Paso 11. Divide las imágenes entre Train, Valid y Test (deja los porcentajes por defecto) y haz clic en Add Images.

- Paso 12. Haz clic en Generate New Version.

- Paso 13. En la sección de Preprocessing, cambia el tamaño de las imágenes a 192x192.


Esto acelera el entrenamiento y reduce el consumo de recursos.
- Paso 14. Haz clic en Generate.

- Paso 15. Finalmente, haz clic en Export, selecciona Formato: YOLO v5 PyTorch, haz clic en show download code y luego en Continue.

Esto generará un fragmento de código que utilizarás más adelante en Google Colab para el entrenamiento.

Entrenar usando YOLOv5 en Google Colab
Una vez que hayas terminado de anotar tu dataset, necesitas entrenarlo. Salta a esta sección para ver cómo entrenar un modelo AI con YOLOv5 en Google Colab.
3. Cargar el modelo entrenado y realizar inferencia
Ahora transferiremos el archivo model-1.uf2 (obtenido tras el entrenamiento) al SenseCAP A1101.
-
Paso 1. Instala la última versión de Google Chrome o Microsoft Edge y ábrelo.
-
Paso 2. Conecta el SenseCAP A1101 a tu PC mediante un cable USB Tipo-C.

- Paso 3. Haz doble clic en el botón boot del SenseCAP A1101 para entrar en modo de almacenamiento masivo.

Aparecerá una nueva unidad llamada SENSECAP en el explorador de archivos.

- Paso 4. Arrastra y suelta el archivo model-1.uf2 en la unidad SENSECAP.
Una vez completada la copia del archivo .uf2
, la unidad desaparecerá, indicando que el firmware fue cargado con éxito.
Si tienes 4 modelos listos, puedes cargarlos uno por uno repitiendo el proceso: arrastrar modelo → esperar que desaparezca la unidad → entrar en modo boot de nuevo → cargar el siguiente.
-
Paso 5. Abre la aplicación SenseCAP Mate App. Si no la tienes, descárgala:
-
Paso 6. En la app, en la pantalla Config, selecciona Vision AI Sensor.

- Paso 7. Mantén presionado el botón de configuración del SenseCAP A1101 durante 3 segundos para activar el modo de emparejamiento por Bluetooth.

- Paso 8. Toca Setup en la app y comenzará a buscar dispositivos SenseCAP A1101 cercanos.

- Paso 9. Selecciona tu dispositivo en la lista.

- Paso 10. Ve a Settings y asegúrate de que Object Detection esté seleccionado. Si no lo está, selecciónalo y presiona Send.

- Paso 11. En la pestaña General, toca Detect.

- Paso 12. Abre este visor web.

- Paso 13. Haz clic en el botón Connect. Aparecerá una ventana emergente, selecciona SenseCAP Vision AI - Paired y haz clic en Connect.

- Paso 14. ¡Visualiza los resultados de inferencia en tiempo real!

Como puedes ver, las manzanas son detectadas con cuadros delimitadores. El número "0" indica la clase detectada (en este caso, manzana). Si hubiera más clases, se enumerarían como 0, 1, 2, etc. También se muestra el score de confianza (por ejemplo, 0.8 y 0.84).
Contenido adicional
¿Quieres ir más allá? Puedes entrenar tu modelo de IA directamente en tu PC.
¿Puedo entrenar un modelo AI en mi PC?
Sí. Puedes usar tu propia PC con Linux (por ejemplo, Ubuntu 20.04) para entrenar un modelo de detección de objetos. El rendimiento dependerá de tu hardware.
- Paso 1. Clona el repositorio
yolov5-swift
e instala los requisitos en un entorno con Python >= 3.7.0:
git clone https://github.com/Seeed-Studio/yolov5-swift
cd yolov5-swift
pip install -r requirements.txt
- Paso 2. Si seguiste los pasos anteriores, probablemente exportaste tu dataset desde Roboflow. Allí tuviste la opción de descargar como archivo .zip en formato YOLO v5 PyTorch. Ahora hazlo:


- Paso 3. Copia ese archivo .zip descargado dentro del directorio yolov5-swift y extráelo.
# example
cp ~/Downloads/Apples.v1i.yolov5pytorch.zip ~/yolov5-swift
unzip Apples.v1i.yolov5pytorch.zip
- Paso 4. Abre el archivo data.yaml y edita los directorios train y val de la siguiente forma
train: train/images
val: valid/images
- Paso 5. Descarga el modelo pre-entrenado que sirve para nuestro entrenamienot
sudo apt install wget
wget https://github.com/Seeed-Studio/yolov5-swift/releases/download/v0.1.0-alpha/yolov5n6-xiao.pt
- Paso 6. Ejecuta el siguiente comando para iniciar el entrenamiento.
Aquí podemos pasar varios argumentos:
- img: tamaño de imagen de entrada
- batch: tamaño del batch
- epochs: número de épocas de entrenamiento
- data: ruta al archivo yaml con la configuración del dataset
- cfg: configuración del modelo (arquitectura)
- weights: ruta personalizada a pesos preentrenados
- name: nombre para los resultados generados
- nosave: guarda sólo el checkpoint final
- cache: cachea las imágenes para acelerar el entrenamiento
python3 train.py --img 192 --batch 64 --epochs 100 --data data.yaml --cfg yolov5n6-xiao.yaml --weights yolov5n6-xiao.pt --name yolov5n6_results --cache
Para un dataset de detección de manzanas con 987 imágenes, el proceso tomó aproximadamente 30 minutos en una PC local con GPU NVIDIA GeForce GTX 1660 Super (6GB VRAM).

Si seguiste el proyecto de Colab, sabes que puedes cargar hasta 4 modelos en el dispositivo simultáneamente. Sin embargo, solo un modelo puede estar activo a la vez; esto lo puede configurar el usuario (se explica más adelante).
- Paso 7. Navega a
runs/train/exp/weights
, y verás el archivo best.pt, que es el modelo entrenado resultante.

- Paso 8. Exporta el modelo entrenado a TensorFlow Lite
python3 export.py --data {dataset.location}/data.yaml --weights runs/train/yolov5n6_results/weights/best.pt --imgsz 192 --int8 --include tflite
- Paso 9. Convierte el archivo TensorFlow Lite a formato UF2
El formato UF2, desarrollado por Microsoft, es usado por Seeed para almacenar modelos .tflite en dispositivos AIoT. Actualmente, los dispositivos Seeed soportan hasta 4 modelos, cada uno menor a 1 MB.
Puedes especificar el índice del modelo con la opción -t. Por ejemplo:
-t 1
: index 1-t 2
: index 2
# Place the model to index 1
python3 uf2conv.py -f GROVEAI -t 1 -c runs//train/yolov5n6_results//weights/best-int8.tflite -o model-1.uf2
Aunque puedes cargar hasta 4 modelos simultáneamente, recuerda que solo uno estará activo a la vez, y esta selección la puede hacer el usuario (se explica más adelante).
- Paso 10. Se generará un archivo llamado model-1.uf2, que es el que cargarás en el SenseCAP A1101 para hacer inferencias.
Verificar versión de BootLoader
- Haz doble clic en el botón BOOT y espera que se monte la unidad extraíble.
- Abre el archivo INFO_UF2.TXT dentro de esa unidad.

Actualizar BootLoader
Si tu SenseCAP A1101 no es reconocido por la computadora y no aparece ningún puerto, puede que necesites actualizar el BootLoader.
- Paso 1. Descarga el archivo BootLoader
.bin
en tu PC con Windows.
Por favor, descarga la última versión del BootLoader en el siguiente enlace. El nombre suele ser tinyuf2-sensecap_vision_ai_vx.x.x.bin
.
Este firmware controla el chip BL702, que gestiona la conexión entre la computadora y el chip Himax. La versión más reciente soluciona problemas de reconocimiento en Mac y Linux.
- Paso 2. Descarga y abre el software BLDevCube.exe, selecciona BL702/704/706 y luego haz clic en Finish.

- Paso 3. En el software, haz clic en View, elige MCU, luego en Image file haz clic en Browse y selecciona el archivo
.bin
que descargaste.

-
Paso 4. Asegúrate de no tener otros dispositivos conectados a la PC. Mantén presionado el botón Boot en el módulo y conéctalo al PC.
-
Paso 5. En BLDevCube, haz clic en Refresh, selecciona el puerto correcto, haz clic en Open UART, activa Chip Erase (colócalo en True) y luego haz clic en Create&Program. Espera a que termine el proceso.

Resources
-
[Página Web] Documentación YOLOv5
-
[Página Web] Ultralytics HUB
-
[Página Web] Documentación Roboflow
-
[Página Web] Guía TensorFlow Lite
-
[PDF] Guía de usuario SenseCAP A1101 LoRaWAN Vision AI Sensor
Soporte Técnico y Discusión de Producto
¡Gracias por elegir nuestros productos! Estamos disponibles para brindarte soporte y asegurar que tu experiencia sea lo más fluida posible. Ofrecemos varios canales de comunicación para diferentes necesidades y preferencias.