- Architecture overview, BLE and WebSocket protocols - All 19 modules with command IDs validated against smali source - BLE packet format with CRC-16/MODBUS pseudocode - Complete WsCmd index (~300 commands) - Connection flow with pseudocode examples - Methodology section explaining APK decompilation process
5.7 KiB
5.7 KiB
System, Param, ITips & VoiceAssistant Commands
SystemProto — Module SYSTEM (ID=4, base 13000)
ReqSetTime
| Field | # | Type | Description |
|---|---|---|---|
timestamp |
1 | int64 | Unix timestamp |
timezoneOffset |
2 | double | Timezone offset (hours) |
ReqSetTimezone
| Field | # | Type | Description |
|---|---|---|---|
timezone |
1 | string | Timezone (e.g. "Europe/Paris") |
ReqSetMtpMode / ReqSetCpuMode
| Field | # | Type | Description |
|---|---|---|---|
mode |
1 | int32 | Mode value |
ReqsetMasterLock
| Field | # | Type | Description |
|---|---|---|---|
lock |
1 | bool | Lock state |
ReqSetLocation
| Field | # | Type | Description |
|---|---|---|---|
latitude |
1 | double | Latitude |
longitude |
2 | double | Longitude |
altitude |
3 | double | Altitude |
countryRegion |
4 | string | Country/region |
province |
5 | string | Province |
city |
6 | string | City |
district |
7 | string | District |
enable |
8 | bool | Enabled |
ReqGetDeviceActivateInfo / ReqDeviceActivateWriteFile / ReqDeviceActivateSuccessfull / ReqDisableDeviceActivate
| Field | # | Type | Description |
|---|---|---|---|
issuer |
1 | int32 | (GetDeviceActivateInfo only) |
requestParam |
1 | string | (others) |
Command IDs
| ID | Command |
|---|---|
| 13000 | SET_TIME |
| 13001 | SET_TIME_ZONE |
| 13002 | SET_MTP_MODE |
| 13003 | SET_CPU_MODE |
| 13004 | SET_MASTER |
| 13005 | GET_DEVICE_ACTIVATE_INFO |
| 13006 | DEVICE_ACTIVATE_WRITE_FILE |
| 13007 | DEVICE_ACTIVATE_NOTIFY_ACTIVATE_SUCCESSFULL |
| 13008 | FACTORY_TEST_UN_ACTIVATE |
| 13009 | SET_LOW_TEMP_PROTECTION_MODE |
| 13010 | SET_LOCATION |
ParamProto — Module PARAM (ID=15, base 16700)
ReqSetAutoParam
| Field | # | Type | Description |
|---|---|---|---|
cameraType |
1 | int32 | Camera type |
shootingTech |
2 | int32 | Shooting technique |
isAuto |
3 | bool | Auto mode |
ReqSetExposure / ReqSetGain / ReqSetWb
| Field | # | Type | Description |
|---|---|---|---|
paramId |
1 | int64 | Parameter ID |
mode |
2 | int32 | Mode |
value |
3 | int32 | Value |
ReqSetGeneralBoolParams
| Field | # | Type | Description |
|---|---|---|---|
paramId |
1 | int64 | Parameter ID |
value |
2 | bool | Boolean value |
ReqSetGeneralIntParam
| Field | # | Type | Description |
|---|---|---|---|
paramId |
1 | int64 | Parameter ID |
value |
2 | int32 | Integer value |
ReqSetGeneralFloatParam
| Field | # | Type | Description |
|---|---|---|---|
paramId |
1 | int64 | Parameter ID |
value |
2 | float | Float value |
ResSetAutoParam
| Field | # | Type | Description |
|---|---|---|---|
shootingMode |
1 | int32 | Shooting mode |
cameraType |
2 | int32 | Camera type |
shootingTech |
3 | int32 | Technique |
isAuto |
4 | bool | Auto enabled |
updateAll |
5 | bool | Update all |
code |
6 | int32 | Status code |
Command IDs
| ID | Command |
|---|---|
| 16700 | PARAM_SET_EXPOSURE |
| 16701 | PARAM_SET_GAIN |
| 16702 | PARAM_SET_WB |
| 16703 | PARAM_SET_GENERAL_BOOL_PARAMS |
| 16704 | PARAM_SET_GENERAL_INT_PARAM |
| 16705 | PARAM_SET_GENERAL_FLOAT_PARAM |
| 16706 | PARAM_SET_AUTO_PARAMS |
ITipsProto — Module ITIPS (ID=11, base 15700)
ReqITipsGet
| Field | # | Type | Description |
|---|---|---|---|
mode |
1 | int32 | Mode |
ResITipsGet
| Field | # | Type | Description |
|---|---|---|---|
mode |
1 | int32 | Mode |
itipsCode |
2 | string | Tip code |
code |
3 | int32 | Status code |
Command IDs
| ID | Command |
|---|---|
| 15700 | ITIPS_GET |
VoiceAssistantProto — Module VOICE_ASSISTANT (ID=16, base 16800)
ReqVoiceCommand
| Field | # | Type | Description |
|---|---|---|---|
commandType |
1 | int32 | Voice command type (see enum) |
shootingMode |
2 | int32 | Shooting mode |
params |
14 | oneof | Specific parameters |
VoiceCommandType Enum
| Value | Name | Description |
|---|---|---|
| 0 | VOICE_CMD_UNKNOWN | Unknown |
| 1 | VOICE_CMD_TAKE_PHOTO | Take photo |
| 2 | VOICE_CMD_START_RECORD | Start recording |
| 3 | VOICE_CMD_STOP_RECORD | Stop recording |
| 4 | VOICE_CMD_START_BURST | Start burst |
| 5 | VOICE_CMD_STOP_BURST | Stop burst |
| 6 | VOICE_CMD_START_TIMELAPSE | Start timelapse |
| 7 | VOICE_CMD_STOP_TIMELAPSE | Stop timelapse |
| 8 | VOICE_CMD_START_ASTRO | Start astro |
| 9 | VOICE_CMD_STOP_ASTRO | Stop astro |
| 10 | VOICE_CMD_GOTO_TARGET | Goto target |
| 11 | VOICE_CMD_AUTO_FOCUS | Autofocus |
| 12 | VOICE_CMD_STOP_FOCUS | Stop focus |
| 13 | VOICE_CMD_START_SENTRY | Start sentry |
| 14 | VOICE_CMD_STOP_SENTRY | Stop sentry |
| 15 | VOICE_CMD_CALIBRATION | Calibrate |
| 16 | VOICE_CMD_MOVE | Move |
| 17 | VOICE_CMD_GET_STATUS | Get status |
| 18 | VOICE_CMD_STOP_ALL | Stop all |
Voice Parameter Messages
- VoiceGotoParams:
targetName,ra,dec,index,lon,lat,shootingMode - VoiceAstroParams:
targetName,ra,dec,index,lon,lat,autoGoto,forceStart - VoiceBurstParams:
cameraType,count - VoicePhotoParams:
cameraType - VoiceRecordParams:
cameraType,durationSeconds - VoiceTimelapseParams:
cameraType,intervalSeconds,durationSeconds - VoiceFocusParams:
isInfinity - VoiceCalibrationParams:
lon,lat - VoiceMoveParams:
azimuthAngle,altitudeAngle,speed - VoiceSentryParams:
type
Command IDs
| ID | Command |
|---|---|
| 16800 | VOICE_ASSISTANT_TASK |