采集、可视化和勘探软件

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使用两种信息源,即arduinocomputer 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: 0col: 0。第一个子块下面的子块将出现在row: 1col: 0等中。子块可以跨多行或多列, 为了使它们更大,使用rowspancolspan选项,默认情况下都设置为1。每个子批次应至少绘制一列 从输入中,尽管可以绘制多个列。在columns中给出了要为每个子块绘制的列名。 其他绘图选项(限制、标签)可以在options中给出。

此外,还有窗口名window_titlerefresh_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作为配置文件。

Image of the acquisition demo

浏览采集的数据:

python3 -m aves.explorer --filename "test.txt"

使用aves的已知作品

  • IBEC根据SAFESENS项目开发的火灾探测原型

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我不知道为什么我的非常简单的JPA项目不能工作   java编程故障操作listenersFillRect   java缓冲区图像宽度和高度随机反转值   使用java从ldap服务器获取数据   ObjectInputStream的反序列化Java运行时错误   java HTTP400:GET请求在Wildfly 18上不起作用,但在JBoss 7上起作用   仅运行testMethod()的java JMH基准测试   java Mockito:捕获HttpServletResponse#sendError()   maven Java Security正在阻止应用程序启动   Aspose pdfviewer中RussianLitter链接的java问题   java我在访问具有值的单元格时遇到空指针异常?   java如何在返回类型为int[]的函数中声明长度未知的整数数组?   java如何在NetBeans中为组织目的创建文件夹?   zip Java ZipFile api无法提取大型文件   字节码检测的Java代理问题