La cámara Sentry2 tiene un microcontrolador WiFi ESP8285 integrado que se puede programar directamente desde el IDE de Arduino para hacer reconocimiento online, transmisión de imágenes, AIoT y otras aplicaciones. El ESP8285 también se puede utilizar como controlador para K210, lo que supone una ayuda para la programación de IA sin dispositivo externo.
Entorno de desarrollo
Añadir el soporte para las placas ESP8266
En primer lugar se debe descargar e instala el IDE de Arduino: https://www.arduino.cc/en/software/
Una vez abierto el IDE de Arduino entraremos en la opción Archivo de la barra de menús superior y en este submenú en la opción Preferencias.
Haciendo clic sobre el recuadro indicado con la flecha roja.
Aparece el siguiente cuadro en donde podemos introducir la URL http://arduino.esp8266.com/stable/package_esp8266com_index.json en las URLs adicionales del gestor de placas. Posteriormente se han de guardar los cambios haciendo clic en ACEPTAR.
En la barra de menús superior abriremos Herramientas y después Placa y Gestor de placas.
En la ventana Filtre su búsqueda escribimos esp8266 y después pulsamos en INSTALAR.
Ahora aparece así.
Prueba sencilla
En la barra de menús superior abrimos Herramientas, Placa, ESP8266, Generic ESP8285 Module.
Ahora vamos a abrir un ejemplo de programa para cargar en el ESP8266. En la barra superior de menús abrimos Archivo, Ejemplos, ESP8266, Blink.
A continuación se muestra el listado de este programa.
/*
ESP8266 Blink by Simon PeterBlink the blue LED on the ESP-01 moduleThis example code is in the public domainThe blue LED on the ESP-01 module is connected to GPIO1(which is also the TXD pin; so we cannot use Serial.print() at the same time)Note that this sketch uses LED_BUILTIN to find the pin with the internal LED*/void setup() {pinMode(LED_BUILTIN, OUTPUT); // Initialize the LED_BUILTIN pin as an output}// the loop function runs over and over again forevervoid loop() {digitalWrite(LED_BUILTIN, LOW); // Turn the LED on (Note that LOW is the voltage level// but actually the LED is on; this is because// it is active low on the ESP-01)delay(1000); // Wait for a seconddigitalWrite(LED_BUILTIN, HIGH); // Turn the LED off by making the voltage HIGHdelay(2000); // Wait for two seconds (to demonstrate the active low LED)}
Para cargar el programa conectamos la cámara Sentry2 al ordenador con un cable USB-C. A continuación en la barra de menús superior del IDE de Arduino abrimos Herramientas y cambiamos la configuración de los siguientes elementos:
Builtin Led: “4”.
CPU Frequency:“80 MHz” o “160 MHz”
Upload Speed:“57600”
Reset Method:“no dtr (aka ck)”
Puerto:Se ha de seleccionar el puerto al que está conectada la cámara Sentry2.
Para cargar el programa en el ESP8266 desde el IDE de Arduino primeramente se ha de mover el joystick de la cámara hacia abajo y mantenerlo en esa posición (NO presionarlo verticalmente). A continuación en el IDE de Arduino, se hace clic en el botón para subir el programa, para iniciar la compilación y subida. Se ha de mantener el joystick hacia abajo hasta que en la pantalla del IDE se muestre Escribiendo a las… (xx% de progreso) y esperar a que se cargue el 100%.
Mientras se está cargando el programa el led azul junto al joystick está encendido permanentemente y el led verde parpadea rápidamente. A continuación se reinicia la cámara Sentry2 y se ejecuta el algoritmo “Custom”. Ahora el LED azul de WiFi se mantendrá brillante y el LED personalizado parpadeará.
Si cuesta cargar el programa, se puede optar entre una de las dos opciones siguientes:
Método 1: Estando la cámara apagada, presione el joystick hacia abajo sin soltarlo, luego conecte el USB para encenderla y suelte el botón.
Método 2: Estando la cámara encendida, presione el joystick hacia abajo sin soltarlo, luego presione el botón RESET y suéltelo.
A continuación se pueden ver algunos programas WiFi de código abierto.NOTA: El AI Cloud Servide (servicio de IA en la nube) de terceros puede requerir una cuenta y una cuota para utilizarlo.NOTA: Estos ejemplos no garantizan el rendimiento, la seguridad o la disponibilidad de la identificación.
Código Arduino: sentry2_esp8285_bemfa_transferencia_de_imagen.zip
Bemfa AIoT - MQTT para la cámara Sentry 2
Código de Arduino: sentry2_esp8285_bemfa_mqtt_run_vision.zip
Baidu AI - Clasificación de ingredientes por URL
Código Arduino: sentry2_esp8285_baidu_ingrediente_clasificar_por_url.zip
Baidu Cloud - Identificación de frutas
Este ejemplo se utiliza para implementar el reconocimiento de frutas y verduras de Baidu Cloud. Se pueden modificar otros tipos de reconocimiento de objetos según la documentación de Baidu Cloud.
En este ejemplo, la imagen primero se transferirá al alojamiento de imágenes de Bemfa Cloud para generar la dirección del enlace URL de la imagen y luego se llamará al enlace de la imagen en Baidu Cloud para el reconocimiento de la imagen.
Si necesita identificar otros objetos, consulte los documentos técnicos relacionados de Baidu Cloud.
Reconocimiento de imágenes: https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Kk3bcxbxj
Reconocimiento de texto: https://ai.baidu.com/ai-doc/OCR/Ek3h7xypm
Reconocimiento facial: https://ai.baidu.com/ai-doc/FACE/7k37c1jfr
Análisis del cuerpo humano: https://ai.baidu.com/ai-doc/BODY/lk3cpywzd
Nota: Algunos proyectos de Bemfa Cloud y Baidu Cloud son de pago o tienen un tiempo de uso gratuito limitado. ¡Lea atentamente sus documentos oficiales y términos de uso!
Baidu AI - Clasificación de ingredientes por imagen
Código Arduino: sentry2_esp8285_baidu_ingrediente_clasificar_por_imagen.zip
Este ejemplo se utiliza para implementar el reconocimiento de frutas y verduras de Baidu Cloud. Se pueden modificar otros tipos de reconocimiento de objetos según la documentación de Baidu Cloud.
Sentry2 puede generar directamente imágenes jpg codificadas en base64 y esp8285 puede leerlas mediante instrucciones.
Debido al tamaño de memoria limitado de esp8285, este modo utiliza una imagen pequeña de 240x180, lo que tendrá un cierto impacto en el efecto de reconocimiento.
Nota: Algunos proyectos de Baidu Cloud son de pago o tienen tiempos de uso gratuito limitados. ¡Lea atentamente sus documentos oficiales y términos de uso!
Baidu AI - Reconocimiento de matrículas
Este ejemplo se utiliza para implementar el reconocimiento de matrículas de Baidu Cloud.
Código Arduino: sentry2_esp8285_baidu_ocr_license_plate_by_image.zip
Baidu AI - OCR (Reconocimiento óptico de caracteres)
Este ejemplo se utiliza para implementar el reconocimiento de texto general OCR de Baidu Cloud, compatible con chino, inglés, japonés, coreano, francés, español, etc.
Código Arduino: sentry2_esp8285_baidu_ocr_general_basic_by_image.zip
Baidu AI - Clasificación general de objetos
Este ejemplo se utiliza para implementar el reconocimiento de escenas generales de Baidu Cloud, como gatos, perros, automóviles, casas, dibujos animados, árboles, flores, accesorios, etc.
Código Arduino: sentry2_esp8285_baidu_general_by_image.zip
Baidu AI - Gestos
Este ejemplo se utiliza para implementar el reconocimiento de gestos en Baidu Cloud, que incluye 24 gestos: puño, OK, rezar, reverencia, adiós, corazón con una mano, me gusta, insulto, te amo, palma hacia arriba, corazón con dos manos (3 tipos), números (9 tipos), roca y dedo medio.
Código Arduino: sentry2_esp8285_baidu_gesture_by_image.zip
Microsoft Azure - Clasificación general de objetos
Necesitas una cuenta de Azure para utilizar esta demostración. Tienes más detalles en la página de inicio de Azure: https://azure.microsoft.com/es-es/
Código Arduino: sentry2_esp8285_microsoft_azure_detectar_objetos_por_imagen.zip
Transmisión de imágenes y mando a distancia
Este programa de muestra se utiliza para la visualización de transmisión de imágenes en tiempo real y el control remoto WiFi en la red de área local.
Al pulsar el botón en la pantalla, se mostrarán los caracteres correspondientes en el puerto serie. Analizando estos caracteres, podrá realizar la función de control remoto del coche.
Código Arduino: sentry2_esp8285_transferencia_de_imagen_remota.zip
Interfaz de transmisión de imágenes:
Interfaz de transmisión de imágenes con botones de control remoto:
Llamando a algoritmos locales en chips WiFi
Este programa de ejemplo puede realizar el algoritmo de control de K210 en el chip ESP8285, utilizando la biblioteca estándar de Sentry_Arduino
Por lo tanto, los usuarios pueden ejecutar algoritmos sin control maestro externo.
Código Arduino: sentry2_esp8285_run_vision.zip





















No hay comentarios:
Publicar un comentario