采集、可视化和勘探软件
aves的Python项目详细描述
AVES:采集、可视化和勘探软件
这个python模块可以很容易地从串行端口获取数据,并将其可视化 实时记录下来。它还提供了一个模块,用于以前可视化数据。 用这个工具得到的。
安装
pip3 install aves
快速启动
- 我们将使用Arduino通过串行端口发送数据。
- 我们将使用aves来获取、表示和记录数据。
Arduino代码
使用example/arduino.ino中的内容创建一个文件。
此示例代码从Arduino板读取模拟端口并将其打印到串行端口上。
注意:
- 采样时间(毫秒):
100
- 串行端口速度(波特):
9600
- 模拟读取分辨率(位):
10
- 模拟端口的输入范围(伏特):
(check your board, usually 5V or 3.3V)
AVES配置
aves是使用yaml
文件配置的。请从中获取示例文件
example/config.yaml。
yaml文件有四个部分:
version
:只有一个值,必须是2。input
:定义aves输入源。gui
:控制实时绘图选项output
:定义包含将保存在文本文件中的传感器数据的列。
节{}
aves使用两种信息源,即arduino和computer clock。
对于Arduino输入,我们有多个参数:
baudrate
:在Arduino代码中指定的波特率。timeout
:python代码等待数据的秒数,直到它认为串行连接已断开。columns
:aves必须知道串行端口上打印的是什么。columns
是一个包含与列一样多的元素的列表。
每个元素都由name
定义,它为列命名,并由conversion_factor
定义,后者用于转换
阿杜诺号印刷的数字对我们意义重大。例如,在示例中使用转换系数
将Arduino打印的时间从毫秒转换为秒(0.001),传感器将读数(在0-1023范围内)转换为伏特
(在0-5V范围内):(5V/1023=0.004887586)。列应该按照Arduino打印的顺序给出。
计算机时钟没有条目,因为它没有选项。但是,我们应该记住,除了定义的列之外
在arduino
部分中,我们还有time_computer
列,这有助于将我们的实验与其他信息同步。
节{}
gui
定义可视化选项,包括:
在{{CD21}}轴中使用的列的名称(^ {< CD22> })。通常是阿杜伊诺给的时间。- 是否应共享所有子批次的缩放。共享它通常很方便(
zoom_all_together
)。 axes
:窗口中可用的子块。想象一下,子块被划分成一个网格。第一个子区(左上角)将是
在row: 0
,col: 0
。第一个子块下面的子块将出现在row: 1
、col: 0
等中。子块可以跨多行或多列,
为了使它们更大,使用rowspan
和colspan
选项,默认情况下都设置为1
。每个子批次应至少绘制一列
从输入中,尽管可以绘制多个列。在columns
中给出了要为每个子块绘制的列名。
其他绘图选项(限制、标签)可以在options
中给出。
此外,还有窗口名window_title
和refresh_time_ms
,用于控制刷新gui的频率。
节{}
控制将打印到文本文件的列。注意我们在例子中的表现
同时打印计算机时间和Arduino时间。
运行:
python3 -m aves.realtime --port *Serial port where your arduino is connected* --outfile "test.txt"
检查python3 -m aves.realtime --help
是否有其他命令行选项,例如:
--no-save
不要将捕获的数据保存到文件中--outfile test.txt
将捕获数据保存到test.txt
{< CD41}}捕获数据600秒最大值(默认值:不限)--port COM3
使用COM3
串行端口--plot_every_n_samples 10
等待至少10个样本刷新图形用户界面--plot_win_size 200
绘图中最多保留200个样本(使用0表示无限制)--config another.yaml
使用another.yaml
作为配置文件。
浏览采集的数据:
python3 -m aves.explorer --filename "test.txt"
使用aves的已知作品
- IBEC根据SAFESENS项目开发的火灾探测原型
推荐PyPI第三方库
aves使用两种信息源,即arduino和computer clock。
对于Arduino输入,我们有多个参数:
baudrate
:在Arduino代码中指定的波特率。timeout
:python代码等待数据的秒数,直到它认为串行连接已断开。columns
:aves必须知道串行端口上打印的是什么。columns
是一个包含与列一样多的元素的列表。 每个元素都由name
定义,它为列命名,并由conversion_factor
定义,后者用于转换 阿杜诺号印刷的数字对我们意义重大。例如,在示例中使用转换系数 将Arduino打印的时间从毫秒转换为秒(0.001),传感器将读数(在0-1023范围内)转换为伏特 (在0-5V范围内):(5V/1023=0.004887586)。列应该按照Arduino打印的顺序给出。
计算机时钟没有条目,因为它没有选项。但是,我们应该记住,除了定义的列之外
在arduino
部分中,我们还有time_computer
列,这有助于将我们的实验与其他信息同步。
节{}
gui
定义可视化选项,包括:
在{{CD21}}轴中使用的列的名称(^ {< CD22> })。通常是阿杜伊诺给的时间。- 是否应共享所有子批次的缩放。共享它通常很方便(
zoom_all_together
)。 axes
:窗口中可用的子块。想象一下,子块被划分成一个网格。第一个子区(左上角)将是
在row: 0
,col: 0
。第一个子块下面的子块将出现在row: 1
、col: 0
等中。子块可以跨多行或多列,
为了使它们更大,使用rowspan
和colspan
选项,默认情况下都设置为1
。每个子批次应至少绘制一列
从输入中,尽管可以绘制多个列。在columns
中给出了要为每个子块绘制的列名。
其他绘图选项(限制、标签)可以在options
中给出。
此外,还有窗口名window_title
和refresh_time_ms
,用于控制刷新gui的频率。
节{}
控制将打印到文本文件的列。注意我们在例子中的表现
同时打印计算机时间和Arduino时间。
运行:
python3 -m aves.realtime --port *Serial port where your arduino is connected* --outfile "test.txt"
检查python3 -m aves.realtime --help
是否有其他命令行选项,例如:
--no-save
不要将捕获的数据保存到文件中--outfile test.txt
将捕获数据保存到test.txt
{< CD41}}捕获数据600秒最大值(默认值:不限)--port COM3
使用COM3
串行端口--plot_every_n_samples 10
等待至少10个样本刷新图形用户界面--plot_win_size 200
绘图中最多保留200个样本(使用0表示无限制)--config another.yaml
使用another.yaml
作为配置文件。
浏览采集的数据:
python3 -m aves.explorer --filename "test.txt"
使用aves的已知作品
- IBEC根据SAFESENS项目开发的火灾探测原型
推荐PyPI第三方库
gui
定义可视化选项,包括:
- 是否应共享所有子批次的缩放。共享它通常很方便(
zoom_all_together
)。 axes
:窗口中可用的子块。想象一下,子块被划分成一个网格。第一个子区(左上角)将是 在row: 0
,col: 0
。第一个子块下面的子块将出现在row: 1
、col: 0
等中。子块可以跨多行或多列, 为了使它们更大,使用rowspan
和colspan
选项,默认情况下都设置为1
。每个子批次应至少绘制一列 从输入中,尽管可以绘制多个列。在columns
中给出了要为每个子块绘制的列名。 其他绘图选项(限制、标签)可以在options
中给出。
此外,还有窗口名window_title
和refresh_time_ms
,用于控制刷新gui的频率。
节{}
控制将打印到文本文件的列。注意我们在例子中的表现
同时打印计算机时间和Arduino时间。
运行:
python3 -m aves.realtime --port *Serial port where your arduino is connected* --outfile "test.txt"
检查python3 -m aves.realtime --help
是否有其他命令行选项,例如:
--no-save
不要将捕获的数据保存到文件中--outfile test.txt
将捕获数据保存到test.txt
{< CD41}}捕获数据600秒最大值(默认值:不限)--port COM3
使用COM3
串行端口--plot_every_n_samples 10
等待至少10个样本刷新图形用户界面--plot_win_size 200
绘图中最多保留200个样本(使用0表示无限制)--config another.yaml
使用another.yaml
作为配置文件。
浏览采集的数据:
python3 -m aves.explorer --filename "test.txt"
使用aves的已知作品
- IBEC根据SAFESENS项目开发的火灾探测原型
推荐PyPI第三方库
控制将打印到文本文件的列。注意我们在例子中的表现 同时打印计算机时间和Arduino时间。
运行:
python3 -m aves.realtime --port *Serial port where your arduino is connected* --outfile "test.txt"
检查python3 -m aves.realtime --help
是否有其他命令行选项,例如:
--no-save
不要将捕获的数据保存到文件中--outfile test.txt
将捕获数据保存到test.txt
--port COM3
使用COM3
串行端口--plot_every_n_samples 10
等待至少10个样本刷新图形用户界面--plot_win_size 200
绘图中最多保留200个样本(使用0表示无限制)--config another.yaml
使用another.yaml
作为配置文件。
浏览采集的数据:
python3 -m aves.explorer --filename "test.txt"
使用aves的已知作品
- IBEC根据SAFESENS项目开发的火灾探测原型