详细给出mlx90640输入和输出的数据格式,并给出上位机接收数据的程序代码
时间: 2023-07-14 07:13:38 浏览: 148
MLX90640发送到上位机软件_Help!_MLX90640_MLX_floatingo6y_源码.rar
MLX90640 是一款红外热像仪,其输入为红外图像,输出为温度数据。具体来说,输入数据为一个 $32\times 24$ 的矩阵,每个元素代表该点的红外信号强度;输出数据也是一个 $32\times 24$ 的矩阵,每个元素代表该点的温度值。
下面是一个简单的 Python 程序示例,用于接收 MLX90640 的输出数据,并将其保存为 CSV 文件:
```python
import serial
import numpy as np
# 打开串口
ser = serial.Serial('COM3', 115200)
# 接收数据
data = ''
while True:
if ser.in_waiting > 0:
data += ser.readline().decode('utf-8')
if 'end' in data:
break
# 解析数据
data = data.split('\r\n')
data = data[1:-2] # 去除开头和结尾的无用数据
data = np.array([int(i) for i in data]) # 转换成整数类型
data = data.reshape((32, 24)) # 转换成矩阵格式
np.savetxt('data.csv', data, delimiter=',') # 保存为 CSV 文件
```
这段代码假定 MLX90640 连接在串口 COM3 上,数据以 ASCII 码形式发送,以字符串的形式接收。具体来说,每次读取一行数据,直到读取到字符串 'end' 为止。读取到的数据需要进行一些处理,首先去除开头和结尾的无用数据,然后将字符串转换成整数类型,最后将一维数组转换成矩阵格式。将解析得到的数据保存为 CSV 文件,可以使用 numpy 库中的 savetxt() 函数。
需要注意的是,MLX90640 的输出数据格式与具体型号有关,上述代码仅供参考。在实际开发中,需要根据具体型号和数据格式进行相应的调整。
阅读全文