Lepton-Pythonista-MicroPython
该项目旨在在 iPhone 上传输 FLIR Lepton 的热视频。 ESP32 通过 Lepton 的 VoSPI 检索视频流,然后 EPS32 通过 Wifi /UDP 将视频发送到 Iphone(不需要路由器)。第一个程序是用 Micropython 为 ESP32 编写的。该程序通过 CCI 设置 Lepton 配置,从 Lepton 获取视频数据并将其发送到 Iphone,无需任何处理。第二个程序是用 Pythonista 为 Iphone 编写的。该处理接收到的数据并显示图像/视频。该程序允许用户选择模式:1) AGC(8 位灰度)2) RAD /T 线性、RGB。在第二种模式下,用户可以通过触摸屏幕来获取温度。注意:该程序不涉及轻子的任何校准。用户可以缩放、截图和录制视频(屏幕底部的三个按钮用于此目的)
硬件
- 苹果手机 (8)
- ESP32 Wroom DevKit(来自 uPesy)
- 跨接电缆+面包板
- 轻子3.5
- 分线板V2.0
准备
- 在boot.py中设置密码和ssid
- 在 main.py 中:设置 TIMEOUT,流式传输持续 TIMEOUT 指定的持续时间。如果您希望循环永远运行,请将“while循环”中的持续时间替换为“true”
- 根据 Lepton Breakout board V2.0 电气方案和 https://lepton.flir.com/getting-started/raspberry-pi-lepton/ + MOSI 接地进行布线
用法
- 给 ESP32 上电,5 秒后,蓝色 LED 以 1 Hz 的频率闪烁,这意味着 ESP32 等待来自 Pythonista 程序的模式选择
- 在 Iphone 中,转到 wifi 配置面板并选择相关的 Wifi 接入点(您在上面“准备”中的 1)中指定的)。检查iPhone屏幕上是否出现Wifi标志
- 运行Pythonista程序,选择模式,ESP32的蓝色LED以更快的速度闪烁(10 Hz),直到初始化完成
- 初始化完成后,LED保持固定,两秒后视频出现在Iphone上
- 用户可以缩放(1、1.5、2、2.5、3、全宽)、截图(文件名为screenshot0X.jpg,之前的文件被删除)
- 用户可以录制视频。文件名为 vid0X.mp4,从 X=0 开始,如果 vid00.mp4 已存在,则无法进行录制(无法覆盖 vid00.mp4),但可以通过再次点击录制按钮来绕过此问题(= 将递增文件姓名)
- RAD模式(RGB)下,用户可以通过触摸视图获取温度
- 顶部屏幕:不良 CRC:有关通信质量的信息,通常在 20-25% 左右。 qsize :接收数据的线程和处理数据的线程之间共享的队列大小,如果一切正常,qsize 不应大于 2(=处理速度快于数据接收速度)。 fps :每秒帧数,应该是 9 (至少在美国之外,也许在美国可以是 27?)。 T(仅在 RAD 模式下):触摸视图后获得的温度(触摸屏幕时会出现一个白点,请参见视频示例)
- RGB:使用的调色板可以在“Pythonista”文件夹中找到,程序使颜色范围适应当前场景的温度范围
- 直播时长:参见上面“准备”中2)的备注
- 在视频流传输期间,用户可以停止Pythonista程序并再次运行它,但用户必须选择与最初指定的模式相同的模式(在流传输期间无法更改模式)。注意:在这种情况下,一旦选择模式,视图将在 4/5 秒后出现。如果用户想要切换到不同的模式,则必须重置 ESP32(然后蓝色 LED 以 1 Hz 的频率闪烁,等等...)