/

mwings.parsers.app_aria モジュール

mwings.parsers.app_aria

アリアアプリから送信されたデータを表すパケットを解釈するパーサと、そのデータを扱います。

src/mwings/parsers/app_aria.py

PacketParser

アリアアプリから送信されたデータを表すパケットを解釈するパーサの静的クラス

継承:common.PacketParserBase

is_valid()

is_valid(bare_packet)

与えられた素のパケットが有効であるか否かを確認します。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
boolTrue有効、パース可
False無効、パース不可

parse()

parse(bare_packet)

与えられた素のパケットをパースします。

引数

名称内容
bare_packetcommon.BarePacket素のパケットデータ

戻り値

内容
optional ParsedPacketParsedPacketの型をもつデータパースしたデータ
Noneパース不可

ParsedPacket

アリアアプリから送信されたデータを表すパケットを解釈した結果を格納するための構造体

継承:common.ParsedPacketBase

ParsedPacket()

ParsedPacket(*, time_parsed=None, packet_type=PacketType.BARE, sequence_number=None, source_serial_id=0, source_logical_id=0, lqi=None, supply_voltage=None, temp_100x=0, humid_100x=0, magnet_state=MagnetState.NOT_DETECTED, magnet_state_changed=False)

引数

継承元のプロパティも合わせて表記します。

名称内容
time_parsedoptional AwareDatetimeパース時刻
packet_typecommon.PacketTypeパケット種別
sequence_numberoptional common.UInt16シーケンス番号
source_serial_idcommon.UInt32送信元のシリアルID
source_logical_idcommon.UInt8送信元の論理デバイスID
lqioptional common.UInt8電波通信品質
supply_voltageoptional common.UInt16電源電圧(mV)
temp_100xcommon.Int16100倍された温度(セ氏)
humid_100xcommon.UInt16100倍された相対湿度
magnet_statecommon.MagnetState磁石の状態
magnet_state_changedbool磁石の状態の変化の有無

** で unpack した辞書を渡すことができます。

to_df()

to_df(include=None, exclude=None, verbose=True)

パースしたデータを pandas のデータフレーム形式へ変換します。

引数

名称内容
includeoptional set[str]データフレームへ含めるカラム(メンバ)の集合
excludeoptional set[str]データフレームへ含めないカラム(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)

戻り値

内容
pd.DataFrame-変換したデータフレーム

例外

  • EnvironmentError pandas のない場合

to_dict()

to_dict(include=None, exclude=None, verbose=True, spread=False, sort_keys=False)

パースしたデータを辞書形式へ変換します。

引数

名称内容
includeoptional set[str]辞書へ含めるキー(メンバ)の集合
excludeoptional set[str]辞書へ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
sort_keysboolキーによるソートの有無

戻り値

内容
dict[str, Any]-変換した辞書

to_json()

to_json(include=None, exclude=None, verbose=True, spread=False, indent=2, sort_keys=False)

パースしたデータをJSON形式へ変換します。

引数

名称内容
includeoptional set[str]JSONへ含めるキー(メンバ)の集合
excludeoptional set[str]JSONへ含めないキー(メンバ)の集合
verboseboolシステム情報の有無(他の引数がNoneの場合のみ)
spreadbool時系列でないlist-likeデータの分割の有無
indentoptional intインデントの数(Noneで改行なし)
sort_keysboolキーによるソートの有無

戻り値

内容
str-変換したJSON文字列

model_*()