cansatapi.message パッケージ

cansatapi.message.jsonGenerator モジュール

JSONジェネレータモジュール

各型式のJSONを作成するモジュールです。

cansatapi.message.jsonGenerator.clean_nones(dict_data: dict) dict[ソース]

値がNoneの要素を再帰的に取り除く

パラメータ:

dict_data (dict) -- 辞書型データ

戻り値:

Noneの要素が取り除かれたデータ

戻り値の型:

dict

cansatapi.message.jsonGenerator.generate_json(data_type: str | None = None, time: float = 0.0, gps: Gps = 0.0, nine_axis: NineAxis = 0.0, bme280: Bme280 = 0.0, lps25hb: Lps25Hb = 0.0, battery: float = 0.0, distance: float = 0.0, camera: str | None = None, soil_moisture: float = 0.0, message: str | None = None) str[ソース]

JSONを生成する関数

各引数に値を入れると対応するJSONデータを生成します。

パラメータ:
  • data_type -- sonファイルに何のデータが入っているか判定する

  • time (float) -- データの送信時時間

  • gps (Gps) -- GPSデータ

  • nine_axis (NineAxis) -- 9軸データ

  • bme280 -- BME280のデータ

  • lps25hb -- LPS25HBのデータ

  • battery -- バッテリー残量[%]

  • distance -- 距離

  • camera -- カメラのヘックスデータ

  • soil_moisture -- 土壌水分量[%]

  • message -- 任意のメッセージ

戻り値:

生成されたJSON文字列

戻り値の型:

str

cansatapi.message.type モジュール

JSONの型を定義するモジュール

https://json2pyi.pages.dev/ を使用して生成したのち微修正しました。

class cansatapi.message.type.Acceleration[ソース]

ベースクラス: TypedDict

x: float[ソース]
y: float[ソース]
z: float[ソース]
class cansatapi.message.type.AngularVelocity[ソース]

ベースクラス: TypedDict

x: float[ソース]
y: float[ソース]
z: float[ソース]
class cansatapi.message.type.Azimuth[ソース]

ベースクラス: TypedDict

goal: float[ソース]
sample: float[ソース]
class cansatapi.message.type.Bme280[ソース]

ベースクラス: TypedDict

humidity: float[ソース]
pressure: float[ソース]
temperature: float[ソース]
class cansatapi.message.type.Distance[ソース]

ベースクラス: TypedDict

goal: float[ソース]
sample: float[ソース]
class cansatapi.message.type.Gps[ソース]

ベースクラス: TypedDict

altitude: float[ソース]
azimuth: Azimuth[ソース]
distance: Distance[ソース]
latitude: float[ソース]
longitude: float[ソース]
class cansatapi.message.type.Lps25Hb[ソース]

ベースクラス: TypedDict

altitude: float[ソース]
pressure: float[ソース]
temperature: float[ソース]
class cansatapi.message.type.NineAxis[ソース]

ベースクラス: TypedDict

acceleration: Acceleration[ソース]
angular_velocity: AngularVelocity[ソース]
azimuth: float[ソース]
class cansatapi.message.type.SensorJson[ソース]

ベースクラス: TypedDict

battery: float[ソース]
bme280: Bme280[ソース]
camera: str | None[ソース]
data_type: str[ソース]
distance: float[ソース]
gps: Gps[ソース]
lps25hb: Lps25Hb[ソース]
message: str | None[ソース]
nine_axis: NineAxis[ソース]
soil_moisture: float[ソース]
time: float[ソース]