消費電力測定
消費電力の測定に、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】
のデータと合わせるのは、Voltで見るのがいいか?Altで見るのがいいかな?
Hyperion EmeterII のSoftware類
Aircraftさんが全部いろいろ揃えてくれていたんですが。。今はなくなってますね。
EmeterII Suiteは、こちら
他のHyperionのソフト類はこちらのページからダウンロードできるみたいです。Manualはまだ改定されていないようですね。。
https://hyperion-world.com//resources-info




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