Skip to content

81 Mech Status(機械状態) ​

mechStatus 内には、sesame5 の各機能の状態が保存されます。

mechStatus の構造内容 : ​

c
#pragma pack(1)
typedef struct mech_status_s {
    uint16_t battery;
    int16_t target;                     // モーターの行き先
    int16_t position;                   // センサーが同期した最新の角度
    uint8_t is_clutch_failed: 1;        // 電磁クラッチの動作が成功したかどうか(使用していない)
    uint8_t is_lock_range: 1;           // 錠が閉じている位置にあるかどうか
    uint8_t is_unlock_range: 1;         // 錠が開いている位置にあるかどうか
    uint8_t is_critical: 1;             // ロック/アンロック操作がタイムアウトし、モーターが停止したかどうか
    uint8_t is_stop: 1;                 // ハンドルの角度が変わらないかどうか
    uint8_t is_low_battery: 1;          // 電池残量が低いかどうか(<5V)
    uint8_t is_clockwise: 1;            // モーターの回転方向
} mech_status_t;
#pragma pack()

客戶端が頻繁に sesame5 に機械状態をリクエストするのを防ぐため、機械状態が変わったときには sesame5 から積極的に送信されます。

携帯電話と ssm5 の mechStatus 受信交互作用のシーケンス図 ​

ssm5 からのプッシュ内容 ​

ByteN ~ 210
Datapayloaditem_codetype
説明携帯電話へのデータコマンド番号プッシュ種類

type : SSM2_OP_CODE_PUBLISH (0x08)

item code : SSM2_ITEM_CODE_INITIAL (81)

payload : 下記表を参照

payload ​

Byte6 ~ 0
DatamechStatus

mech status ​

Byte65 ~ 43 ~ 21 ~ 0
Dataother datapositiontargetbattery

other data ​

Bit76543210
DataNULLis_clockwiseis_low_batteryis_stopis_criticalis_unlock_rangeis_lock_rangeis_clutch_failed

iOS、Android、ESP32 の例 ​