1109 lines
32 KiB
Objective-C
1109 lines
32 KiB
Objective-C
#ifndef __MESG_H_
|
||
#define __MESG_H_
|
||
|
||
|
||
#define MAXTYPE_ALARM 8
|
||
#define MAX_EMAIL_LEN 32
|
||
#define MAX_WIFI_SSID_LEN 128
|
||
#define MAX_WIFI_PASSWORD_LEN 128
|
||
#define MAX_MESSAGE_LEN 1024
|
||
|
||
|
||
#import "P2PCInterface.h"//door ring push
|
||
//setting ID
|
||
enum
|
||
{
|
||
MESG_STTING_ID_DEFENCE,//0 off ; 1 on
|
||
MESG_STTING_ID_BUZZER, //0 off; 1 on
|
||
MESG_STTING_ID_MOTION_DECT, //0 off; 1 on
|
||
MESG_STTING_ID_RECORD_TYPE, //0 Manual; 1 alarm; 2 schedule
|
||
MESG_STTING_ID_M_RECORD_ON, // 0 off; 1 on
|
||
MESG_STTING_ID_REC_SCHEDULE, //
|
||
MESG_STTING_ID_REC_STATUS, //0 off ; 1 on
|
||
MESG_STTING_ID_SOS, //0 off ; 1 on
|
||
|
||
MESG_STTING_ID_FORMAT, //0 PAL, 1 NTSC
|
||
MESG_STTING_ID_PASSWD, // buzuo shit bitch
|
||
|
||
MESG_STTING_ID_APP,
|
||
MESG_STTING_ID_ALARM_TIME, // (==11)
|
||
|
||
|
||
|
||
MESG_STTING_ID_IPSEL, //(== 12)
|
||
MESG_STTING_ID_NETSEL, // 13 //高两位 1只有有线 2只有WIFI 3两者都有 低两个字节
|
||
|
||
MESG_STTING_ID_VOL, // 14
|
||
|
||
MESG_STTING_ID_PIC_REVERSE, // 15
|
||
|
||
|
||
MESG_STTING_ID_NUM,
|
||
|
||
|
||
MESG_SETTING_ID_FOCUS_ZOOM=38,//38//0都没有;1只有变倍;2只有变焦;3变倍变焦都有
|
||
|
||
MESG_SETTING_ID_SWITCH_APSTA_MODE = 39, //切换wifi工作模式 ap/sta
|
||
MESG_SETTING_ID_CHECK_APMODE_SUPPORT = 40, //2支持(mode=ap) 1支持(mode!=ap) 0不支持
|
||
MESG_SETTING_ID_CHECK_DEVICE_SUBTYPE = 41, //设备子类型(如30只支持868;31支持868+情景模式;32支持868+情景模式+分享)
|
||
|
||
MESG_SETTING_ID_GET_PRESET_SUPPORT=46,//46获取是否支持预置位功能(1支持;0不支持)
|
||
|
||
|
||
MESG_STTING_ID_MAX = 0xFF,
|
||
|
||
|
||
};
|
||
|
||
enum{
|
||
MESG_SET_OK, // 0
|
||
MESG_GET_OK, // 1
|
||
|
||
MESG_SET_DEFENCE_ERR, // 2
|
||
MESG_SET_BUZZER_ERR, // 3
|
||
MESG_SET_MOTION_DECT_ERR, // 4
|
||
MESG_SET_RECORD_TYPE_ERR, // 5
|
||
MESG_SET_M_RECORD_ON_ERR, // 6
|
||
MESG_SET_REC_SCHEDULE_ERR, // 7
|
||
MESG_SET_REC_STATUS_ERR, // 8
|
||
MESG_SET_SOS_ERR, // 9
|
||
MESG_SET_FORMAT_ERR, // 10
|
||
MESG_SET_PASSWD_ERR, // 11
|
||
MESG_SET_APP_ERR, // 12
|
||
MESG_SET_ALARM_TIME_ERR, // 13
|
||
MESG_SET_DATETIME_ERR, // 14
|
||
MESG_SET_EMAIL_ERR, // 15,
|
||
|
||
MESG_SET_ID_IPSEL_ERR, // 16
|
||
MESG_SET_ID_NETSEL_ERR, // 17
|
||
|
||
MESG_SET_ID_NOTWIFI_ERR, // 18
|
||
MESG_SET_ID_WIFI_SIZE_ERR, // 19
|
||
MESG_SET_ID_WIFI_PASSWDLEN_ERR, // 20
|
||
MESG_SET_ID_WIFI_NOMATCHNAME_ERR, // 21
|
||
|
||
|
||
MESG_SET_ID_VOL_ERR, // 22
|
||
|
||
MESG_SET_ID_ALARMCODE_ERR, // 23
|
||
MESG_SET_ID_LEARN_ALARMCODE_EXIST, // 24
|
||
MESG_SET_ID_LEARN_ALARMCODE_LEARNING, // 25
|
||
MESG_SET_ID_LEARN_ALARMCODE_TIMEOUT, // 26
|
||
MESG_SET_ID_LEARN_ALARMCODE_OTHER_RESON, // 27
|
||
MESG_SET_ID_CLEAR_ALARMCODE_FAIL_ERR, // 28
|
||
MESG_SET_ID_CLEAR_ALARMCODE_LEARNING, // 29
|
||
MESG_SET_ID_CLEAR_ALARMCODE_CLEAR_YET, // 30
|
||
MESG_SET_ID_CLEAR_ALARMCODE_OTHER_RESON, // 31
|
||
|
||
MESG_SET_ID_LEARN_HAV_SAME_RECORD, // 32
|
||
MESG_SET_ID_CLEAR_ALARMCODE_SELECT_CLEARYET_ERR, // 33
|
||
MESG_SET_ID_LEARN_ALARMCODE_ISLEARNING_ERR, // 34
|
||
MESG_SET_ID_LEARN_ALARMCODE_APPTRANS_ERR, // 35
|
||
MESG_SET_ID_LEARN_ALARMCODE_SELECT_ERR, // 36
|
||
MESG_SET_ID_LEARN_ALARMCODE_INVALID_KEY_ERR, // 37
|
||
MESG_SET_ID_LEARN_ALARMCODE_ISNOTLERAN_KEY_ERR, // 38
|
||
|
||
MESG_SET_APPID_NUMS_ERR, // 39
|
||
MESG_SET_APPID_BIG_ERR, //40
|
||
|
||
MESG_SET_ID_ALARMCODE_UBOOT_VERSION_ERR, // 41
|
||
MESG_SET_ID_DRBL_ACK_ERR, // 42
|
||
MESG_SET_PASSWD_INIT_YET_ERR, // 43 密码已经被初始化
|
||
|
||
MESG_SET_DEVICE_NOT_SUPPORT = 0XFF,
|
||
};
|
||
|
||
//报警类型
|
||
enum
|
||
{
|
||
ALARM_TYPE_NONE,
|
||
ALARM_TYPE_EXT, //外部报警
|
||
ALARM_TYPE_MD, // 移动侦测
|
||
ALARM_TYPE_FORCE, // 紧急
|
||
ALARM_TYPE_DEBUG, // 调试
|
||
ALARM_TYPE_EXT_LINE, // 有线
|
||
ALARM_TYPE_LOW_VOL, //6 // 低电压
|
||
ALARM_TYPE_PIR, //7 // 人体红外
|
||
ALARM_TYPE_DEF_ENABLE, //8 // 布防
|
||
ALARM_TYPE_DEF_DISABLE, //9 // 撤防
|
||
ALARM_TYPE_BATTERY_LOW_VOL, // 10 电池低电
|
||
PARAM_ID_UPDATE_TO_SER, // 11 参数上传服务器
|
||
ALARM_TYPE_TH, //12 温湿度
|
||
ALARM_TYPE_DOORBELL_PUSH, //13 门铃推送
|
||
ALARM_TYPE_FORCE_FROM_KEYPRESS, // 14 按键触发报警(UI 显示紧急报警)
|
||
ALARM_TYPE_REC_FAIL, // 15 录像失败
|
||
ALARM_TYPE_EMAIL_TOO_OFTEN, // 16 邮箱发送过于频繁
|
||
ALARM_TYPE_UART_INPUT, // 17 串口输入报警
|
||
ALARM_TYPE_PROBER_FIRE,//18 防火报警
|
||
ALARM_TYPE_PROBER_GAS,//19 煤气泄漏
|
||
ALARM_TYPE_PROBER_STEAL,//20 防盗报警
|
||
ALARM_TYPE_PROBER_AROUND,//21 周界报警
|
||
ALARM_TYPE_PROBER_FORCE, // 22
|
||
ALARM_TYPE_PROBER_120,//23 医疗求救
|
||
ALARM_TYPE_PROBER_PREVENTDISCONNECT,//24 防拆报警
|
||
ALARM_TYPE_PROBER_COMMUNICATION_TIMING,//25 定时通讯
|
||
ALARM_TYPE_PROBER_LOW_POWER,//26 低电报告
|
||
ALARM_TYPE_PROBER_LOW_POWER_RECOVERY,//27 低电恢复报告
|
||
ALARM_TYPE_PROBER_POWERON,//28 开机报告
|
||
ALARM_TYPE_PROBER_POWEROFF,//29 关机报告
|
||
ALARM_TYPE_PROBER_DEF, //30 布防
|
||
ALARM_TYPE_PROBER_DEFDIS, //31 撤防
|
||
ALARM_TYPE_PROBER_EXT, // 32 门磁报警
|
||
ALARM_TYPE_SOUND,//33 声音报警
|
||
ALARM_TYPE_PIR1,//34
|
||
ALARM_TYPE_REC_ALERT,//35 告警录像
|
||
ALARM_TYPE_EXT_ATTACT,//36 外部攻击
|
||
ALARM_TYPE_SENSOR_ALARM,//37 传感器报警
|
||
ALARM_TYPE_FORCE_SOS,//38 sos
|
||
ALARM_TYPE_KEEP_SILENT,//39 silent
|
||
ALARM_TYPE_SMOKE_ALARM,//40smoke
|
||
ALARM_TYPE_GAS_ALARM,//41gas
|
||
ALARM_TYPE_DOOR_MAGNET,//42door magnet
|
||
ALARM_TYPE_TEMPTATURE,//43temprature
|
||
ALARM_TYPE_HUMIDITY, //44humidity
|
||
ALARM_TYPE_PIR_ALARM,//45pir
|
||
ALARM_TYPE_UART_REC=46,//46 UART RECORD
|
||
ALARM_TYPE_EMERGENCY_CALL, // 47 紧急呼叫
|
||
ALARM_TYPE_MAX,
|
||
};
|
||
|
||
|
||
|
||
enum{
|
||
MESG_SET_WORK_MODE_ERROR=10,
|
||
MESG_SET_SCHEDULE_WORK_MODE_ARG_ERROR, //11
|
||
MESG_DELETE_SCHEDULE_WORK_MODE_ARG_ERROR,//12
|
||
MESG_SET_SENSOR_WORK_MODE_ERROR, //13参数错误
|
||
MESG_SET_DELETE_ONE_CONTROLER_ERROR,//14遥控器不存在
|
||
MESG_SET_DELETE_ONE_SENSOR_ERROR,//15传感器不存在
|
||
MESG_CHANGE_CONTROLER_NAME_ERROR,//16遥控器不存在
|
||
MESG_CHANGE_SENSOR_NAME_ERROR,//17传感器不存在
|
||
MESG_LEARN_SENSOR_ERROR,//18
|
||
MESG_SET_SCHEDULE_HAVE_SAME_SCHEDULE,//19
|
||
MESG_SENSOR_NOT_LEARN_YET,//20传感器不存在
|
||
MESG_CANNOT_SHARE_TO_ITSELF,//21
|
||
MESG_DONOT_HAVE_PERMISSION_TO_SHARE,//22
|
||
MESG_DONOT_HAVE_PERMISSION_TO_DELETE,//23
|
||
MESG_ADMIN_CANNOT_DELETE_ITSELF_BEFORE_MEMBER_BEREMOVE,//24
|
||
MESG_MEMBERLIST_IS_EMPTY,//25
|
||
MESG_DONOT_HAVE_SUCH_MEMBER,//26
|
||
MESG_MEMBER_LIST_FULL,//27
|
||
MESG_DONOT_HAVE_SUCH_SPECIAL_TYPE,//28没有这种特殊传感器类型
|
||
MESG_DONOT_HAVE_SUCH_SENSOR,//29没有这种传感器类型
|
||
};
|
||
|
||
#define MAX_REMOTE_MESSAGE_NS 16
|
||
typedef struct sRemoteMesgRecordsType
|
||
{
|
||
DWORD dwSrcID;
|
||
BOOL fgHasVerifyPassword;
|
||
DWORD dwMesgSize;
|
||
BYTE bMesgBody[1024];
|
||
}PACKED sRemoteMesgRecordsType;
|
||
|
||
typedef struct sMesgSetInitPasswdType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
WORD wLen; //没用
|
||
BYTE bPasswd[8]; //密码 加密以后的数据
|
||
}PACKED sMesgSetInitPasswdType;
|
||
|
||
//设置初始化密码,用来兼容rtsp密码
|
||
typedef struct sMesgSetInitPasswdExtOptType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
WORD wLen; //没用
|
||
|
||
//des(md5x(pwd))
|
||
BYTE bPasswd[8]; //密码 加密以后的数据
|
||
|
||
//这段buffer设置rtsp密码
|
||
char cRtspPasswdVerification[32];
|
||
|
||
//没用
|
||
DWORD dwAppid;
|
||
|
||
//这段密码加密明文
|
||
DWORD dwPwdLen;
|
||
//des(pwd)
|
||
BYTE bEncrtyPwd[32];
|
||
}PACKED sMesgSetInitPasswdExtOptType;
|
||
|
||
typedef struct sMesgGSetAppIdType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
BYTE bAppIdMAXCount;
|
||
BYTE bAppIdCount; // 1 <= wdwAppIdCount <= 3
|
||
DWORD dwAppId[1];
|
||
}PACKED sMesgGSetAppIdType;
|
||
|
||
typedef struct sMesgGetAlarmCodeType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
BYTE bAlarmCodeCount; //8
|
||
BYTE bAlarmKeySta;
|
||
BYTE bAlarmCodeSta[MAXTYPE_ALARM]; // MAXTYPE_ALARM = 8
|
||
}PACKED sMesgGetAlarmCodeType;
|
||
|
||
typedef struct sTimeType{
|
||
WORD wYear;
|
||
BYTE bMon;
|
||
BYTE bDay;
|
||
BYTE bHour;
|
||
BYTE bMin;
|
||
BYTE bSec;
|
||
BYTE bmS;
|
||
}sTimeType;
|
||
|
||
typedef struct sAlarmCodeType
|
||
{
|
||
DWORD dwAlarmCodeID; //1-8
|
||
DWORD dwAlarmCodeIndex;//1-8
|
||
}PACKED sAlarmCodeType;
|
||
|
||
typedef struct sMesgAlarmInfoType
|
||
{
|
||
BYTE bAlarmMesg[4];
|
||
sAlarmCodeType sAlarmCodes;
|
||
DWORD dwCapNum;//告警抓图数量
|
||
sTimeType sAlarmTime;//告警时间
|
||
char cAlarmCapDir[64];//告警抓图目录
|
||
char cVideoPath[64];//录像告警路径
|
||
char bSensorName[16];
|
||
DWORD dwDevType;
|
||
}PACKED sMesgAlarmInfoType;
|
||
|
||
//typedef struct sMesgSetAlarmCodeType
|
||
//{
|
||
// BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
// BYTE bOption; //0
|
||
// BYTE bSetAlarmCodeId; //0 learn ,1 clear
|
||
// BYTE bAlarmCodeCount;// 1 // 1-3
|
||
// sAlarmCodeType sAlarmCodes[1]; // MAXTYPE_ALARM = 8
|
||
//}PACKED sMesgSetAlarmCodeType; //删除遥控就不能删除房区
|
||
|
||
typedef struct sMesgSetAlarmCodeType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
BYTE bSetAlarmCodeId; //0 learn ,1 clear
|
||
BYTE bAlarmCodeCount;// 1 // 1-3
|
||
sAlarmCodeType sAlarmCodes[1]; // MAXTYPE_ALARM = 8
|
||
}PACKED sMesgSetAlarmCodeType; //删除遥控就不能删除房区
|
||
|
||
typedef struct sNpcWifiListType
|
||
{
|
||
BYTE fgReady;
|
||
BYTE bWifiApNs; //wifi个数
|
||
WORD wCurrentConnSSIDIndex; //当前wifi下标
|
||
BYTE bEncTpSigLev[100]; //高四位:类型(0:没有密码 12:有密码) 低四位:信号强度 0-4
|
||
char cAllESSID[1]; //WIFI名字
|
||
}PACKED sNpcWifiListType;
|
||
|
||
|
||
typedef struct sMesgGetWifiListType
|
||
{
|
||
BYTE bCmd; //MESG_GET_WIFILIST
|
||
BYTE bOption; //0
|
||
WORD wLen; //cAllESSID长度
|
||
sNpcWifiListType sNpcWifiList;
|
||
}PACKED sMesgGetWifiListType;
|
||
|
||
typedef struct sWIFIInfoType
|
||
{
|
||
DWORD dwEncType; //(0:没有密码 12:有密码)
|
||
char cESSID[MAX_WIFI_SSID_LEN]; //wifi名字
|
||
char cPassword[MAX_WIFI_PASSWORD_LEN]; //密码
|
||
}sWIFIInfoType;
|
||
|
||
|
||
typedef struct sMesgSetWifiListType
|
||
{
|
||
BYTE bCmd; //MESG_SET_WIFIList
|
||
BYTE bOption; //0
|
||
WORD wLen; //1
|
||
sWIFIInfoType sPhoneWifiInfo;
|
||
}PACKED sMesgSetWifiListType;
|
||
|
||
typedef struct sSettingType
|
||
{
|
||
DWORD dwSettingID;
|
||
DWORD dwSettingValue;
|
||
}PACKED sSettingType;
|
||
|
||
|
||
typedef struct sMessageSettingsType
|
||
{
|
||
BYTE bCmd;//get set setting
|
||
BYTE bOption;// 0
|
||
WORD wSettingCount;
|
||
sSettingType sSettings[1];
|
||
}PACKED sMessageSettingsType;
|
||
|
||
//修改ipc密码时用这个结构体。用来兼容rtsp的密码 还有nvr密码
|
||
typedef struct sMessageSettingsExtOptType
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
WORD wSettingCount;
|
||
sSettingType sSettings[1];
|
||
|
||
//rtsp密码
|
||
char cRtspPasswdVerification[32];
|
||
//这段密码加密明文
|
||
DWORD dwPwdLen;
|
||
//des(pwd)
|
||
BYTE bEncrtyPwd[32];
|
||
}PACKED sMessageSettingsExtOptType;
|
||
|
||
|
||
typedef struct sMesgEmailType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_EMAIL
|
||
BYTE bOption; //(0:只获取或设置邮箱地址, 1:获取或设置整个SMTP相关信息)
|
||
WORD wLen;//发件邮箱密码长度
|
||
char cString[64];//邮箱地址
|
||
|
||
DWORD dwSmtpPort;//SMTP端口
|
||
char cSmtpServer[64];//SMTP服务器(最多支持5个)
|
||
char cSmtpUser[64];//SMTP服务器地址
|
||
char cSmtpPwd[64];//Smtp密码
|
||
char cEmailSubject[64];//Email主题
|
||
char cEmailContent[96];//Email内容
|
||
BYTE bEncryptType;//加密类型
|
||
BYTE bReserve;//根据GET返回值中 bReserver来判断, 如果bReserve =0x01则显示手工设置(固件新版本一律回0x01), 否则不显示
|
||
WORD wReserver;//预留
|
||
}PACKED sMesgEmailType;
|
||
|
||
typedef struct sMesgStringMesgType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
WORD wLen;
|
||
char cString[MAX_MESSAGE_LEN] ;//
|
||
}sMesgStringMesgType;
|
||
|
||
//开锁结构体
|
||
typedef struct UserCmdMesg
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
BYTE len;
|
||
BYTE bReseve;
|
||
char Data[248];
|
||
}PACKED UserCmdMesg;
|
||
|
||
typedef struct sMesgSysVersionType
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
WORD wLen;
|
||
DWORD dwCurAppVersion;
|
||
DWORD dwUbootVersion;
|
||
DWORD dwKernelVersion;
|
||
DWORD dwRootfsVersion;
|
||
DWORD dwRes[4];
|
||
}PACKED sMesgSysVersionType;
|
||
|
||
typedef struct sDateTime
|
||
{
|
||
WORD wYear;
|
||
BYTE bMon;
|
||
BYTE bDay;
|
||
BYTE bHour;
|
||
BYTE bMin;
|
||
} sDateTime;
|
||
|
||
typedef struct sMesgDateTimeType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_GET_DATETIME
|
||
BYTE bOption; //0
|
||
WORD wOption; //0
|
||
|
||
sDateTime sMesgSysTime;
|
||
|
||
// sDateTime sMesgSysTime; // 2000-1-1 0:0
|
||
}PACKED sMesgDateTimeType;
|
||
|
||
typedef struct sSDCardInfo{
|
||
BYTE bSDCardID;
|
||
UINT64 u64SDTotalSpace;
|
||
UINT64 u64SDCardFreeSpace;
|
||
}PACKED sSDCardInfo;
|
||
|
||
typedef struct sMesgSDCardInfoType{
|
||
BYTE bCommandType;
|
||
BYTE bOption;
|
||
WORD wSDCardCount;
|
||
|
||
sSDCardInfo sSDCard[2];
|
||
}PACKED sMesgSDCardInfoType;
|
||
|
||
typedef struct sMesgSDCardFormatType{
|
||
BYTE bCommandType;
|
||
BYTE bOption;
|
||
WORD wRemainByte;
|
||
BYTE bSDCardID;
|
||
}sMesgSDCardFormatType;
|
||
|
||
typedef struct sMesgGetDefenceSwitchType{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
BYTE bDefenceSetSwitchCount;
|
||
BYTE bReserve; // 保留区
|
||
BYTE bDefenceSetSwitch[MAXTYPE_ALARM]; // MAXTYPE = 8
|
||
}PACKED sMesgGetDefenceSwitchType;
|
||
|
||
typedef struct sAlarmCodesType{
|
||
DWORD dwAlarmCodeID;// 要设置的防区
|
||
DWORD dwAlarmCodeIndex;// 要设置的通道
|
||
}PACKED sAlarmCodesType;
|
||
|
||
typedef struct sMesgSetDefenceSwitchType{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bOption; //0
|
||
BYTE bSetDefenceSetSwitchId; // 1 on, 0 off
|
||
BYTE bDefenceSetSwitchCount;
|
||
sAlarmCodeType sAlarmCodes[1]; // MAXTYPE_ALARM = 8
|
||
}PACKED sMesgSetDefenceSwitchType;
|
||
|
||
typedef struct sMesgGetRecListType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_GET_REC_LIST
|
||
BYTE bOption; //0
|
||
WORD wOption; //0
|
||
|
||
sDateTime sBeginTime; // 2000-1-1 0:0
|
||
sDateTime sEndTime ; // 2100-12-31 23:59
|
||
}sMesgGetRecListType;
|
||
|
||
typedef struct sRecFilenameType
|
||
{
|
||
WORD wYear;
|
||
BYTE bMon; /// (bDiscID<<4)|(bMon) for remote
|
||
BYTE bDay;
|
||
BYTE bHour;
|
||
BYTE bMin;
|
||
BYTE bSec;
|
||
char cType;//'M','S','A'
|
||
}PACKED sRecFilenameType;
|
||
|
||
typedef struct sMesgRetRecListType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_RET_REC_LIST
|
||
BYTE bOption0;//0
|
||
BYTE bOption1;//0
|
||
BYTE bFileNs;//
|
||
|
||
sRecFilenameType sFileName[1];//files info
|
||
}sMesgRetRecListType;
|
||
|
||
//
|
||
typedef struct sMesgAlarmCallType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_ALARM_CALL
|
||
BYTE bAlarmType;
|
||
}sMesgAlarmCallType;
|
||
|
||
//GPIO口控制
|
||
typedef struct sMesgSetGpioCtrl
|
||
{
|
||
BYTE bCmd; // MESG_TYPE_SET_GPIO_CTL
|
||
BYTE bOption; // 0
|
||
BYTE bGroup; // GPIO 所属组
|
||
BYTE bPin; // GPIO 管脚编号
|
||
BYTE bValueNs; // 波形值改变的个数
|
||
int iTimer_ms[8]; // 波形依次保持的 时间 , 以毫秒为单位
|
||
}PACKED sMesgSetGpioCtrl;
|
||
|
||
enum{
|
||
LAN_MESG_SET_OK, // 没用
|
||
LAN_MESG_GET_OK,
|
||
LAN_MESG_GET_SHAKE_SIZE_ERR, // 3
|
||
|
||
LAN_MESG_GET_DRBL_CHECK_ERR, // 4
|
||
LAN_MESG_GET_DRBL_IS_NOT_ASK_ERR, //5
|
||
|
||
};
|
||
enum{
|
||
LAN_TRANS_MIN, // 没用
|
||
LAN_TRANS_SHAKE_GET, //
|
||
LAN_TRANS_SHAKE_RET, //
|
||
|
||
LAN_TRANS_DRBL_ACK_GET, // 4
|
||
LAN_TRANS_DRBL_ACK_RET, // 5
|
||
LAN_TRANS_MAX,
|
||
};
|
||
|
||
typedef struct sDeviceInfoType{
|
||
DWORD dw3CId; // 设备3c号
|
||
DWORD dwDeviceType; // 设备类型 //
|
||
BOOL fgPasswdFlag; //设备密码是否已设置 0,未设置, 1,已设置
|
||
}sDeviceInfoType;
|
||
|
||
typedef struct sMesgShakeType{
|
||
DWORD dwCmd; // LAN_TRANS_SHAKE_GET
|
||
DWORD dwErrNO; // 错误码
|
||
DWORD dwStructSize; // 结构体的大小 sizeof(sMesgShakeType) 28
|
||
DWORD dwStrCon; // 字符串的个数 0
|
||
sDeviceInfoType sDeviceInfo; //设备的信息
|
||
}sMesgShakeType;
|
||
|
||
typedef struct sUpgMesg
|
||
{
|
||
DWORD dwUpgID;
|
||
DWORD dwUpgVal;
|
||
}PACKED sUpgMesg;
|
||
|
||
|
||
typedef struct sMesgUpgType
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_UPG_DEVICE , BYTE bOption; //0
|
||
BYTE bOption;
|
||
WORD wLen;
|
||
sUpgMesg sRemoteUpgMesg;
|
||
}PACKED sMesgUpgType;
|
||
|
||
enum{
|
||
CUSTOMER_CMDNOVER_ID_MIN,
|
||
CUSTOMER_CMDNOVER_ID_DEL_ALARM_ACCOUNT, // 删除报警推送账号
|
||
CUSTOMER_CMDNOVER_ID_STOP_DOORBELL_PUSH = 3, // 告诉设备端不要再推送门铃
|
||
};
|
||
|
||
typedef struct sCmdDataMesg
|
||
{
|
||
DWORD dwCmdID; // 客户命令选项
|
||
DWORD dwCmdVal;
|
||
}PACKED sCmdDataMesg;
|
||
|
||
typedef struct sMesgCustomNoVerifyCmdType
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
WORD wLen;
|
||
DWORD dwMesgVersion;
|
||
sCmdDataMesg sCmdData;
|
||
}PACKED sMesgCustomNoVerifyCmdType;
|
||
|
||
typedef struct sTransCheckDeviceWifiModeCmdType
|
||
{
|
||
DWORD dwCmd;
|
||
DWORD dwErrNo;
|
||
|
||
BYTE bWifiMode;
|
||
BYTE bReresve[3];
|
||
DWORD dwIp;
|
||
DWORD dw3CID;
|
||
}PACKED sTransCheckDeviceWifiModeCmdType;
|
||
|
||
typedef struct sTcpSetWifiCmdType
|
||
{
|
||
DWORD dwCmd;
|
||
DWORD dwErrNo;
|
||
|
||
BYTE bSetWifiInfo; // 1 set ap wifi 2 set wifi info
|
||
BYTE bReresve[3];
|
||
sWIFIInfoType sWifiInfo;
|
||
}PACKED sTcpSetWifiCmdType;
|
||
|
||
//设备语言消息结构体
|
||
typedef struct sMesgDeviceLanguageCmdType
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
WORD wReserve;
|
||
|
||
BYTE bSupportLanguageCount;
|
||
BYTE bCurLanguage;
|
||
BYTE bLanguageSupport[0];
|
||
|
||
}PACKED sMesgDeviceLanguageCmdType;
|
||
|
||
//获取设备当前的模式(如在家模式、外出模式、睡眠模式)
|
||
typedef struct sGetCurrentWorkMode
|
||
{
|
||
BYTE bCmd; //149
|
||
BYTE bSubCmd; //9
|
||
BYTE bOption; //0
|
||
BYTE bCurrentWorkMOde; //0
|
||
}PACKED sGetCurrentWorkMode;
|
||
|
||
//切换当前模式为(在家,外出,睡眠)的其中一种
|
||
typedef struct sSettingIpcWorkMode
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bIpcWorkMode;
|
||
|
||
}PACKED sSettingIpcWorkMode;
|
||
|
||
//获取ipc设备的防护计划,即什么时间段为在家,什么时间段外出,什么时间段睡眠
|
||
typedef struct sScheduleTimeGroup
|
||
{
|
||
BYTE bWeekDay_EN;//bit7:0 disable bit7:1 this group enable
|
||
BYTE bBeginHour;
|
||
BYTE bBeginMin;
|
||
BYTE bWorkMode;
|
||
}PACKED sScheduleTimeGroup;
|
||
|
||
typedef struct sGetWorkModeSchedule
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
sScheduleTimeGroup sVarScheduleTimeGroup[6];
|
||
}PACKED sGetWorkModeSchedule;
|
||
|
||
//设置防护计划,可以设定一周哪一天从几点开始进入什么模式
|
||
//bit7:1(时间组开) 0(时间组关)
|
||
//bit0:1(周日开) 0(周日关)
|
||
//bit1:1(周一开) 0(周一关)
|
||
//bit2:1(周二开) 0(周二关)
|
||
//bit3:1(周三开) 0(周三关)
|
||
//bit4:1(周四开) 0(周四关)
|
||
//bit5:1(周五开) 0(周五关)
|
||
//bit6:1(周六开) 0(周六关)
|
||
//bBeginHour;(防护开始时:0~23)
|
||
//bBeginMin;(防护开始分:0~59)
|
||
//bWorkMode;(防护模式:在家,外出,睡眠 参考附注)
|
||
typedef struct sSettingScheduleTimeGroup
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bGroupIndex;
|
||
BYTE bWeekDay_EN;//bit7:0 disable bit7:1 this group enable
|
||
BYTE bBeginHour;
|
||
BYTE bBeginMin;
|
||
BYTE bWorkMode;
|
||
}PACKED sSettingScheduleTimeGroup;
|
||
|
||
//将设定的其中一个时间组删除
|
||
typedef struct sClearScheduleTimeGroup
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bGroupIndex;
|
||
}PACKED sClearScheduleTimeGroup;
|
||
|
||
//获取所有特殊传感器的设置
|
||
typedef struct sGetAllSpecialAlarm
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bSubCmd;
|
||
BYTE bOption; //0
|
||
BYTE bLen;
|
||
BYTE bAddress[32];//(存放所有数据的首地址)参考数据结构sSpecialAlarmData (每4个字节为一个传感器)
|
||
BYTE bSpecialPresetPos[8]; //对应特殊传感器预置位值
|
||
|
||
}PACKED sGetAllSpecialAlarm;
|
||
|
||
typedef struct sSpecialAlarmData
|
||
{
|
||
BYTE bSensorType;//参考上面结构
|
||
BYTE bSenSorAtHome;
|
||
//bit0: 1(推送给app) 0(不推送)
|
||
//bit1: 1(需要抓拍) 0(不需要抓拍)
|
||
//bit2: 1(需要录像) 0(不需要录像)
|
||
//bit3: (预留)
|
||
//bit7:1enable 0 off
|
||
//bit4~6: soundType
|
||
|
||
BYTE bSenSorOutSide;
|
||
BYTE bSenSorSleeping;
|
||
}PACKED sSpecialAlarmData;
|
||
|
||
//获取所有传感器的防护计划(已经被学习的遥控或传感器)
|
||
typedef struct sGetSenSorWorkMode
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bVersion;
|
||
BYTE bControlerCounter;
|
||
DWORD dwControlerLen;
|
||
BYTE bSensorCounter;
|
||
DWORD dwSensorLen;
|
||
BYTE bSensorRecode[0];
|
||
}PACKED sGetSenSorWorkMode;
|
||
|
||
//获取所有传感器的防护计划(已经被学习的传感器)
|
||
typedef struct sSensorDataToUser
|
||
{
|
||
BYTE bSensorData[7];
|
||
BYTE bSenSorName[16];
|
||
BYTE bNameEditFlag;//bNameEditFlag >>0&0x1 0表示名字没有被修改过,而设备返回的名字仅是中文;获取探测器信息时,里面的bNameEditFlag 取出倒数第2、3位为传感器的开关状态,bNameEditFlag >>1&0x3,值为0到3 ,1表示开 2表示关 3表示半开。
|
||
BYTE bScheduleNum;
|
||
BYTE bSensorSchedule[24];
|
||
|
||
}PACKED sSensorDataToUser;
|
||
|
||
typedef struct sSensorData
|
||
{
|
||
BYTE bSensorType;
|
||
BYTE bData0;
|
||
BYTE bData1;
|
||
BYTE bData2;
|
||
BYTE bSenSorAtHome;
|
||
//bit0: 1(推送给app) 0(不推送)
|
||
//bit1: 1(需要抓拍) 0(不需要抓拍)
|
||
//bit2: 1(需要录像) 0(不需要录像)
|
||
//bit3: (预留)
|
||
//bit7:1enable 0 off
|
||
//bit4~6: soundType
|
||
|
||
BYTE bSenSorOutSide;
|
||
BYTE bSenSorSleeping;
|
||
}PACKED sSensorData;
|
||
|
||
//获取所有传感器的防护计划(已经被学习的遥控器)
|
||
typedef struct sControlerDataToUser
|
||
{
|
||
BYTE bControlerData[4];
|
||
BYTE bControlerName[16];
|
||
BYTE bDefaultName; //0表示名字没有被修改过,而设备返回的名字仅是中文
|
||
}PACKED sControlerDataToUser;
|
||
|
||
typedef struct sControlerData
|
||
{
|
||
BYTE bControlerType;
|
||
BYTE bData0;
|
||
BYTE bData1;
|
||
BYTE bData2;
|
||
}PACKED sControlerData;
|
||
|
||
//处理插座(查询,开,关)
|
||
/*
|
||
bLampStatu:get和set传值
|
||
插座:1(查询)2(打开)3(关闭)
|
||
窗帘:1(查询)2(打开)3(关闭)4(半开)
|
||
灯: 1(查询)2(打开)3(关闭)
|
||
警号:1(查询)2(打开)3(关闭)
|
||
*/
|
||
/*
|
||
bLampStatu:get和set返回值
|
||
插座: 1(打开成功)2(关闭成功)3(查询得到开)4(查询得到关)
|
||
灯:1(打开成功)2(关闭成功)3(查询得到开)4(查询得到关)
|
||
警号:1(打开成功)2(关闭成功)3(查询得到开)4(查询得到关)
|
||
窗帘:1(打开成功)2(关闭成功)3(查询得到开)4(查询得到关)5(查询得到半开)6(半开命令)
|
||
*/
|
||
typedef struct sGetLampStatu
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bSubCmd;
|
||
BYTE bOption; //0
|
||
BYTE bLampStatu;
|
||
BYTE bLampData[7];
|
||
}PACKED sGetLampStatu;
|
||
|
||
//删除一个遥控器
|
||
typedef struct sDeleteOneControler
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bControlerData[4];
|
||
}PACKED sDeleteOneControler;
|
||
|
||
//删除一个传感器
|
||
typedef struct sDeleteOneSensor
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bSensorData[4];
|
||
}PACKED sDeleteOneSensor;
|
||
|
||
//修改遥控器名
|
||
typedef struct sChangeControlerName
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bControlerData[4];
|
||
BYTE bControlerName[16];
|
||
}PACKED sChangeControlerName;
|
||
|
||
//修改传感器名
|
||
typedef struct sChangeSensorName
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bSensorData[4];
|
||
BYTE bSensorName[16];
|
||
}PACKED sChangeSensorName;
|
||
|
||
//学习传感器或者遥控器
|
||
typedef struct sSetIntoLearnState
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bStateValue;
|
||
}PACKED sSetIntoLearnState;
|
||
|
||
//bOption; LEARN_STATE_SUCCESS(学习成功,返回数据结构如下)
|
||
typedef struct sLearnResultBack
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bData[7];
|
||
BYTE bName[16];
|
||
BYTE bDefaultName; //0表示名字没有被修改过,而设备返回的名字仅是中文
|
||
BYTE bLampStatu; //插座的状态:3(查询得到开)4(查询得到关)
|
||
}PACKED sLearnResultBack;
|
||
|
||
//二维码扫描添加设备
|
||
typedef struct sMesgQrcodeLearnDevice
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
BYTE bQrcodeType; // 二维码 类型 433 / 868
|
||
BYTE bCodeDeviceType; // 433 : 防区 (type & 0xf0)>> 4 通道 (type & 0x0f) 868: type 传感器类型
|
||
DWORD dwCustomerID;
|
||
BYTE bCodeDataLen;
|
||
BYTE bCodeData[13];
|
||
}PACKED sMesgQrcodeLearnDevice;
|
||
|
||
//传感器工作模式设置
|
||
typedef struct sSettingSensorWorkMode
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bSensorType;
|
||
BYTE bSensorData0;
|
||
BYTE bSensorData1;
|
||
BYTE bSensorData2;
|
||
BYTE bSenSorAtHome;
|
||
BYTE bSenSorOutSide;
|
||
BYTE bSenSorSleeping;
|
||
|
||
}PACKED sSettingSensorWorkMode;
|
||
|
||
//打开或关闭一个传感器
|
||
typedef struct sTurnSensor
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bTurnValue;
|
||
BYTE bSensorData[4];
|
||
}PACKED sTurnSensor;
|
||
|
||
//设置特殊传感器
|
||
typedef struct sSetOneSpecialAlarm
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bSubCmd;
|
||
BYTE bOption; //0
|
||
BYTE bLen;
|
||
BYTE bSensorType;
|
||
BYTE bSenSorAtHome;
|
||
//bit0: 1(推送给app) 0(不推送)
|
||
//bit1: 1(需要抓拍) 0(不需要抓拍)
|
||
//bit2: 1(需要录像) 0(不需要录像)
|
||
//bit3: (预留)
|
||
//bit7:1enable 0 off
|
||
//bit4~6: soundType
|
||
|
||
BYTE bSenSorOutSide;
|
||
BYTE bSenSorSleeping;
|
||
BYTE bSensorPresetPos;//预置位 2016.7.19
|
||
}PACKED sSetOneSpecialAlarm;
|
||
|
||
//自动变焦,获取和设置变焦镜头马达当前位置 自动变焦的结构体
|
||
typedef struct sLensFocusParams
|
||
{
|
||
BYTE bCmd;//
|
||
BYTE bSubCmd;// 0 获取变焦镜头马达当前位置 1 设置变焦镜头马达当前位置
|
||
BYTE bOption;// 0
|
||
BYTE bParams;// 0
|
||
}PACKED sLensFocusParams;
|
||
|
||
//获取nvr的消息
|
||
#define MAX_PWD_LEN 32
|
||
#define MAX_COMMON_LEN 24
|
||
typedef struct sNvrDevInfoType
|
||
{
|
||
BYTE bcmd;
|
||
BYTE bOption;//0x00
|
||
DWORD dwDevType;
|
||
DWORD dwIpcDevID;
|
||
DWORD dwNvrChannel;
|
||
char cNvrDevID[MAX_COMMON_LEN];
|
||
char cNvrUserName[MAX_COMMON_LEN];
|
||
char cNvrPassword[MAX_PWD_LEN];
|
||
|
||
//保留字节
|
||
BYTE reserve[8];
|
||
//连接在nvr上的ipc,按通道号排列,如果没有,则填0;
|
||
DWORD iIpc3cid[64];
|
||
}PACKED sNvrDevInfoType;
|
||
|
||
//预置位个数消息
|
||
typedef struct sMesgPresetMotorPos{
|
||
BYTE bCmd;
|
||
BYTE bOption; // 0
|
||
BYTE bOperation; // 1 -- save PresetNum pos 0 -- run to PresetNum pos
|
||
BYTE bPresetNum;
|
||
}PACKED sMesgPresetMotorPos;
|
||
|
||
//设置/获取 报警类型摄像头预置位置
|
||
typedef struct sMesgAlarmTypePresetMotorPos{
|
||
BYTE bCmd;
|
||
BYTE bOption; // 0
|
||
BYTE bAlarmOrDefence; // 0 -- alarm 1 -- defence area
|
||
BYTE bAlarmType;
|
||
BYTE bDefenceArea;
|
||
BYTE bChannel;
|
||
BYTE bPresetNum;
|
||
}PACKED sMesgAlarmTypePresetMotorPos;
|
||
|
||
typedef struct sAlarmCodeTypeNew
|
||
{
|
||
BYTE dwAlarmCodeID;
|
||
BYTE dwAlarmCodeIndex;
|
||
BYTE bNameEditFlag;
|
||
BYTE bSensorName[16];
|
||
}PACKED sAlarmCodeTypeNew;
|
||
|
||
typedef struct sMesgGetAlarmCodeTypeNew
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MESSAGE
|
||
BYTE bSubCmd;
|
||
BYTE bOption; //0
|
||
BYTE bAlarmCodeCount;
|
||
BYTE bAlarmKeySta;
|
||
BYTE bAlarmCodeSta[8]; // MAXTYPE_ALARM = 8
|
||
BYTE bStructVersion; //0 结构体版本号 一定要读取
|
||
BYTE bKeyCounter;//遥控器数量
|
||
BYTE bCodeCounter;//传感器数量
|
||
DWORD dwAllKeyDataLen;//遥控器总长度
|
||
DWORD dwAllCodeDataLen;//传感器总长度
|
||
BYTE bAllData[0];// sAlarmCodeTypeNew
|
||
}PACKED sMesgGetAlarmCodeTypeNew;
|
||
|
||
typedef struct sMesgSetAlarmCodeTypeNew
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption; //0
|
||
BYTE bStructVersion; //0
|
||
BYTE dwAlarmCodeID;
|
||
BYTE dwAlarmCodeIndex;
|
||
BYTE bNameEditFlag; //0 为未修改 1为修改过
|
||
BYTE bSensorName[16];
|
||
}PACKED sMesgSetAlarmCodeTypeNew;
|
||
|
||
//定时布撤防bMesg[60]
|
||
typedef struct sDefenceGroup //6个字节
|
||
{
|
||
BYTE bFlag; //bFlag [7]标记该组生效与否,1生效,0不生效; bFlag[0~6]:标记为第几组定时布防,范围为0~4,最大支持五组
|
||
BYTE bWeekDay; //标志生效的时间,范围为周日到周六,相应位为1生效,相应位为0不生效
|
||
BYTE bBeginHour; //起始时间,小时
|
||
BYTE bBeginMin;//起始时间,分钟
|
||
BYTE bEndHour;//结束时间,小时
|
||
BYTE bEndMin;//结束时间,分钟
|
||
}PACKED sDefenceGroup;
|
||
|
||
typedef struct sMesgScheduleDefenceType
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bOption;
|
||
WORD wGroupCount; //设置定时布防组数,每一组的值参考sDefenceGroup结构体
|
||
sDefenceGroup defenceGroup[10]; //60个字节 前30个字节真正存储有效信息 为实际的消息
|
||
}PACKED sMesgScheduleDefenceType;
|
||
|
||
|
||
typedef struct sSetSensorPresetPos{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;//MESG_SUBTYPE_SET_SESOR_PRESET_POS 64
|
||
BYTE bOption; //0
|
||
BYTE bStructVersion;//0
|
||
BYTE bSensorData[4];//传感器特征码
|
||
BYTE bPresetPos; //预置位值 1--5
|
||
BYTE bMemo;//预留 0位
|
||
|
||
} PACKED sSetSensorPresetPos;
|
||
|
||
//2016-7-15 推送控制声音
|
||
typedef struct sKeepClientCmd
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bKeepClientValue;
|
||
}PACKED sKeepClientCmd;
|
||
|
||
//2016-7-19 获取指示灯led
|
||
typedef struct sGetLedStatu
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bnetLedStatu;
|
||
BYTE bDefenseLedStatu;
|
||
BYTE bRecLedStatu;
|
||
BYTE bAlarmLedStatu;
|
||
}PACKED sGetLedStatu;
|
||
|
||
//2016-7-19 设置指示灯led
|
||
typedef struct sControlLed
|
||
{
|
||
BYTE bCmd;
|
||
BYTE bSubCmd;
|
||
BYTE bOption;
|
||
BYTE bControlCmd;
|
||
}PACKED sControlLed;
|
||
|
||
//全景相机配置信息
|
||
typedef struct stFisheyeMsg
|
||
{
|
||
char liveViewRes[32];//预览分辨率 896*896 1440*1440
|
||
char recordRes[32]; //录像分辨率 896*896 1440*1440
|
||
unsigned short installType;//安装方式 0:吊装 1:壁装 2:桌面
|
||
}PACKED stFisheyeMsg;
|
||
|
||
typedef struct sMesgFishEyeCfg{
|
||
BYTE bCmd; //MESG_TYPE_GET_FISHEYE 228
|
||
BYTE bOption; // //置0
|
||
stFisheyeMsg fishInfo;
|
||
}PACKED sMesgFishEyeCfg;
|
||
|
||
//预置位转动好提示信息
|
||
typedef struct sMesgPresetOkNotice
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_MAIN_NEED_PASSPWD=223
|
||
BYTE bSubCmd; //17
|
||
BYTE bOption; //0
|
||
BYTE bPresetNum;//某一个预置位转动到指定位置的预置位信息 0-4
|
||
char cAlarmCapDir[64]; //图片路径
|
||
|
||
}PACKED sMesgPresetOkNotice;
|
||
|
||
/*
|
||
实现功能:
|
||
1. 当手机监控的时候,设备端发送录像状态(是否在录像)、TF卡状态(是否存在SD卡)的信息给手机。
|
||
2. 当状态发生变化的时候,重新发送一次。
|
||
3. 同时多路手机监控,会向每个手机端发送信息(当一个手机开始监控时,设备会将信息同时发送到所有监控的手机端)
|
||
*/
|
||
typedef struct sMesgRecordState
|
||
{
|
||
BYTE bCmd; //MESG_TYPE_RET_RECORD_STATE = 237
|
||
BYTE bOption;//0
|
||
BYTE bSDState;//0 no SD card, 1 SD plug in
|
||
BYTE bRecordState;//0 record off, 1 record on
|
||
}PACKED sMesgRecordState;
|
||
|
||
#endif
|
||
|