【Jupyter Lab 】EMETER II SET with RDU(Hyperion)のデータをPandas で【Python】

スポンサーリンク
広告

消費電力測定

消費電力の測定に、EMETER II SET with RDU(Hyperion)を使っています。消費電力を見たり、最大最小平均の電力等をみるのに便利に使えるPCのソフトはついているんですが、いちいち開いてみるのがめんどくさいのと、データのハンドリングも悪いので、いつもなら、Rでするんですが。。今回は久々に、Pythonでやってみました。

Anaconda

もういっぱいPython入っていて。。どれもこれもぐちゃぐちゃになっていたので、一回全部アンインストールして、Anacondaで入れなおしてみました(笑)

Anacondaもいろいろ進化していますね。Jupyter labも良くなったとの噂なので、今回は、LabでNoteとして使いながら、PandasのDataframeに入れていきました。

まずは、いろいろ試しながらできるのがいい点ですね。Rもそうだけど。。

データ列の名前を入れ替えたり、データを切り出したりするのは、PandasのDataframe便利ですね。Rもそうだけど(笑)

フォルダ内のログを読み込んで、最大・最小・平均の値を出して、グラフを出す

さくっと作ってみました。

import pandas as pd
import os
import glob
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt

#folder set
file_path="ファイルのフォルダ名を入れてくださいませ"
os.chdir(file_path)
#filename
d_path = '*.log'
f_namelist1 = glob.glob(d_path)

#read WattHourMeterData
fname=f_namelist1[27]

df=pd.read_csv(fname)

#Cut and beautify data
df2=df[['Volts', 'Amps ','MaOut','Alt ', 'hh:mm:ss','TempA']]
df2=df2.rename(columns={'Volts':'Volt'})
df2=df2.rename(columns={'Amps ':'Amp'})
df2=df2.rename(columns={'Alt ':'Alt'})
df2=df2.rename(columns={'hh:mm:ss':'Time'})
df2=df2.rename(columns={'TempA':'Temp'})
df2['Watt']=df2.Volt*df2.Amp
df2=df2[0:len(df2)-1] #最後の一行がおかしいことが多いので削除

#最大最小平均値の表示
print(fname,'\nMAX\n',df2.max(),'\nMIN\n',df2.min(),'\nAverage\n',df2.mean())
#3m以上飛んだ所のデータ表示
#df2[df2.Alt>3].plot(subplots=True,x='Time',figsize=(12,10))
df2.plot(subplots=True,x='Time',figsize=(12,10))

df2.Alt>5とかで指定できるので、楽にいろんなところで取り出したりできますね。

【mavlogdump.py】ArdupilotやAPMのBinログ・ファイルを可読性のあるファイルに落とす【MavLink】
Ardupilotのログ・ファイル Mission Plannerで、Data Flash Logは、Binファイルになっていて、それをL...

のデータと合わせるのは、Voltで見るのがいいか?Altで見るのがいいかな?


Hyperion EmeterII のSoftware類

Aircraftさんが全部いろいろ揃えてくれていたんですが。。今はなくなってますね。

EmeterII Suiteは、こちら

他のHyperionのソフト類はこちらのページからダウンロードできるみたいです。Manualはまだ改定されていないようですね。。

https://hyperion-world.com//resources-info

コメントを残していただけるとありがたいです

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。