OpenCPN-low-energy/Using datalogger.py
< OpenCPN-low-energy(重定向自 )
为了获得更精确的功耗测量结果,我编写了一个新的datalogger来启动和收集我们的测量结果。
事实上,VirtualHub(通过网络与 Yocto-Watt 设备通信所需的软件)开始出现在我们的 powertop 测试的顶部。所以我们编写了一个完全不同的 datalogger。
这次它是一个仅在命令行使用的 python 脚本。它不需要在进行测量的计算机上运行,因此对我们的测量没有影响。你可以在 找到一个“启动到睡眠”功耗测量。它也打开了新的可能性,现在由于不需要 VirtualHub 来测量,我们可以测量计算机在睡眠模式下的功耗。更多?我们不再需要处于网络中了,所以我们可以摆脱任何连接(以太网/wifi)。
所有测量都将在此配置下进行
用于 python 脚本测量的配置(蓝色电线是可选的)
你可以在 这里 找到该脚本。
此页面将指导你了解datalogger.py的选项。
要求
要运行此脚本,你需要安装 python(版本无关紧要)。你还需要从 此存档 下载并解压缩Sources 文件夹。
我的工作文件夹
-rwxr--r-- 1 thibault thibault 71 mai 23 15:23 datalogger.py* drwx------ 3 thibault thibault 4,0K mai 22 10:48 Sources/
你仍然需要设置 udev 规则,README.txt 解释了如何操作。
选项
选项列表
usage: datalogger.py [-h] -s [SERIAL] [-f] [-o OUTPUT_FILE] [-c]
[-m DURATION | -l | -d DUMP_STREAM]
Take and fetch measures from a Yocto-X usb device. Exports the data in csv.
optional arguments:
-h, --help show this help message and exit
-s [SERIAL], --serial [SERIAL]
the Yocto-Watt serial to use. If no argument is
specified, print all available devices.
-f, --flush delete all the runs and data streams on the device's
memory. Is executed first.
-o OUTPUT_FILE, --output OUTPUT_FILE
output file for the data. If none specified, a default
name is used for --measure-duration and --dump log
output file.
-c, --chart-output Exports in a csv file ready for charts (no time
stamps). Need --dump or --measure-duration.
-m DURATION, --measure-duration DURATION
duration of the measure in seconds, then dump the log.
-l, --list-datastreams
list available data streams.
-d DUMP_STREAM, --dump DUMP_STREAM
dump supplied data stream.
- 必需 --serial / -s 选项在没有参数的情况下使用时,将列出所有具有可用DataLogger 模块的设备。你需要使用一个正在运行(在线)的设备来提供此参数。
- 可选 --flush / -f 选项删除设备内存中的所有运行和数据流。如果你在任何其他命令中使用它,脚本将在执行任何其他操作之前执行*清空操作*。
- 可选 --output / -o 选项为日志输出文件指定一个名称。如果你不提供此选项,默认格式为
* for regular log : log_stream_[stream #].csv * for chart log : chart_log_stream_[stream #].csv
请注意,图表日志即使你提供了--output 选项,也将使用chart_ 作为前缀。
- 可选 --chart-output / -c 选项还会将日志以“图表就绪”格式(没有时间戳)写入。此选项需要--dump 或 --measure-duration。
- 可选 --measure-duration / -m 选项获取指定秒数内的测量结果,然后写入日志。这不能与--dump 一起使用。
- 可选 --list-datastreams / -l 选项列出设备上的所有数据流和运行。
- 可选 --dump / -d 选项写入提供的(使用--list-datastreams 找到)数据流的日志。这不能与--measure-duration 一起使用。
示例
以下是脚本的一些输出和命令示例。
列出序列号
$ ./datalogger.py -s [*] List all currently available devices : Serial available : YWATTMK1-09D1C | Serial's name :
清空内存
$ ./datalogger.py -s YWATTMK1-09D1C -f [+] Device YWATTMK1-09D1C found. [+] Flushing of runs & logs done.
进行测量
$ ./datalogger.py -s YWATTMK1-09D1C -m 120 -c [+] Device YWATTMK1-09D1C found. [*] Start logger at 01:00:00 (device time) for 120 seconds. Data stream # 0 [*] Stop logger at 09:57:29 (device time) [*] Writting the results to disk... [+] 'log_stream_0.csv' log wrote [+] 'chart_log_stream_0.csv' log wrote $ head log_stream_0.csv time elapsed;power; 1;10,88; 2;10,84; 3;10,86; [.../...] $ head chart_log_stream_0.csv power; 10,88; 10,84; 10,86; [.../...]
列出数据流
$ ./datalogger.py -s YWATTMK1-09D1C -l [+] Device YWATTMK1-09D1C found. [+] List of data streams : 'time' stands for 'start time' (month-day hour:min:second) run # | data stream # | time (device) | time UTC (device) | time between samples (seconds) --------------------------------------------------------------------------------------------- 0 | 0 | 01-01 01:27:47 | 05-24 09:55:28 | 1
转储数据流(日志和图表)
$ ./datalogger.py -s YWATTMK1-09D1C -d 0 [+] Device YWATTMK1-09D1C found. [*] Dumping last data stream... [+] 'log_stream_0.csv' log wrote
清空并列出数据流
这可能会变得棘手。
$ ./datalogger.py -s YWATTMK1-09D1C -l -f [+] Device YWATTMK1-09D1C found. [+] Flushing of runs & logs done. [*] There isn't any data stream stored on this device.
但是,你可以在同一命令行运行测量并清空设备。这将首先清空内存,然后启动测量。
比较所使用的测量方法
此测量是在开发版本中进行的。峰值与此测量无关(这是我们目前正在处理的一个问题)。
测量方法比较。
你清楚地看到,旧的测量方法有很大的不同!
你可以在 这里 找到原始数据。
:

