Lepton-Pythonista-MicroPython
Este proyecto tiene como objetivo transmitir el vídeo térmico de un FLIR Lepton a un Iphone. La transmisión de video es recuperada por ESP32 a través del VoSPI del Lepton y luego el EPS32 envía el video al Iphone a través de Wifi /UDP (no se necesita enrutador). Se escribe un primer programa en Micropython para el ESP32. Este configura la configuración de Lepton a través del CCI y obtiene los datos de video del Lepton y los envía al Iphone sin ningún procesamiento. Un segundo programa está escrito en Pythonista para Iphone. Éste procesa los datos recibidos y muestra las imágenes/vídeo. El programa permite al usuario elegir el modo: 1) AGC (escala de grises de 8 bits) 2) RAD /T Lineal, RGB. En el segundo modo, el usuario puede obtener la temperatura tocando la pantalla. ATENCIÓN: el programa no implica ninguna calibración del Lepton. El usuario puede hacer zoom, tomar capturas de pantalla y grabar vídeos (tres botones en la parte inferior de la pantalla para este fin)
Hardware
- iPhone (8)
- ESP32 Wroom DevKit (de uPesy)
- cables de puente + placa de pruebas
- Leptón 3.5
- Tablero de ruptura V2.0
Preparación
- en boot.py configure la contraseña y el ssid
- en main.py: configura el TIEMPO DE ESPERA, la transmisión dura la duración especificada por el TIEMPO DE ESPERA. Si desea que el ciclo se ejecute para siempre, reemplace la duración en el "bucle while" por "verdadero"
- cableado según esquema eléctrico Lepton Breakout board V2.0 y https://lepton.flir.com/getting-started/raspberry-pi-lepton/ + conexión a tierra MOSI
Uso
- Encienda el ESP32, después de 5 s, el LED azul parpadea a 1 Hz, significa que el ESP32 espera la selección de modo proveniente del programa Pythonista.
- en el Iphone, ve al panel de configuración wifi y elige el punto de acceso Wifi correspondiente (que has especificado en 1) en "preparación" arriba). Comprueba que ha aparecido el logo de Wifi en la pantalla del Iphone
- ejecute el programa Pythonista, seleccione el modo, el LED azul del ESP32 parpadea más rápido (10 Hz) hasta que se complete la inicialización
- cuando finaliza la inicialización, el LED permanece fijo, el vídeo aparece en el Iphone dos segundos después
- el usuario puede hacer zoom (1, 1,5, 2, 2,5, 3, ancho completo), tomar una captura de pantalla (los archivos se denominan captura de pantalla0X.jpg, los archivos anteriores se borran)
- el usuario puede grabar videos. Los archivos se llaman vid0X.mp4, comenzando desde X=0, si vid00.mp4 ya existe, la grabación no es posible (no se puede sobrescribir vid00.mp4), pero esto se puede evitar tocando nuevamente el botón de grabación (= incrementará el archivo). nombre)
- En el modo RAD (RGB), el usuario puede obtener la temperatura tocando la vista.
- Pantalla superior: CRC incorrecto: información sobre la calidad de la comunicación, normalmente entre un 20 y un 25 %. qsize: tamaño de la cola compartida entre el hilo que recibe los datos y el que los procesa, si todo está bien, qsize no debe ser más de 2 (=procesamiento más rápido que la recepción de datos). fps: fotogramas por segundo, debería ser 9 (al menos fuera de EE. UU., ¿quizás en EE. UU. pueda ser 27?). T (sólo en modo RAD): temperatura obtenida después de haber tocado la vista (aparece un punto blanco cuando se toca la pantalla, ver ejemplo de vídeo)
- RGB: la paleta utilizada se puede encontrar en la carpeta "Pythonista", el programa adapta la gama de colores al rango de temperatura de la escena actual
- Duración de la transmisión: consulte el comentario en 2) arriba en "preparación"
- Durante la transmisión de video, el usuario puede detener el programa Pythonista y ejecutarlo nuevamente, pero debe elegir el mismo modo especificado inicialmente (no es posible cambiar el modo durante la transmisión). Nota: en este contexto, la vista aparece después de 4/5 s una vez seleccionado el modo. Si el usuario quiere cambiar a un modo diferente, se debe restablecer el ESP32 (luego el LED azul parpadea a 1 Hz, etc...)