#ifndef __GPRS_H #define __GPRS_H #include "define_all.h" #define VAR_RESET_PASSWORD 7654321 //============================================================================== #define UARTGPRSNUM USART3 #define GPRS 0X01 #define SMS 0X02 #define GPRSALIVE 0 #define GPRSNONE 1 //ϵͳЭÒ鹦ÄÜID #define NOMARL_DATA_GPRS 0X01 #define NOMARL_HEART_BEAT 0X02 #define DEVICE_WARNING 0X03 #define LINKRXDBOUND 0XFF #define GSM_DATA 0X12 #define RESTARTTIME 300 #define SYS_WAIT 0X00 #define SYS_OPEN 0X01 #define SYS_DATA 0X03 #define SYS_RESTART 0X04 #define SYS_WAIT_SIM_OPEN 0X05 #define dormancy_awaken 0x00 #define RTC_awaken 0x01 #define Key_awaken 0x02 #define Alarm_awaken 0x03 #define PROTOCOL_VERSION 0x32 //////////////////////////////////////////////////////////////////////////////////// #define CAMMAND_FLAG_DATAUP 0x8460 #define CAMMAND_FLAG_SET_PARA_DEV 0xA460 #define CAMMAND_FLAG_READ_PARA_DEV 0xA461 #define CAMMAND_FLAG_SET_PARA_BIL 0xA462 #define CAMMAND_FLAG_READ_PARA_BIL 0xA463 #define CAMMAND_FLAG_SET_TIME 0xA464 #define CAMMAND_FLAG_MODIFY_KEY 0xA465 #define CAMMAND_FLAG_VALVE_CONTROL 0xA466 #define CAMMAND_FLAG_ACCOUNT_STATUS 0xA467 #define CAMMAND_FLAG_RECHARGE 0xA468 #define CAMMAND_FLAG_IP_PORT 0xA469 #define CAMMAND_FLAG_CLEAR_ABNORMAL 0xA46A #define CAMMAND_FLAG_ALARM 0x8461 #define CAMMAND_FLAG_END 0xA450 #define CONTROL_CODE_DATAUP_UP 0x85 #define CONTROL_CODE_DATAUP_DOWN 0x05 #define CONTROL_CODE_SET_PARA_DEV_UP 0x84 #define CONTROL_CODE_SET_PARA_DEV_DOWN 0x04 #define CONTROL_CODE_READ_PARA_DEV_UP 0x81 #define CONTROL_CODE_READ_PARA_DEV_DOWN 0x01 #define CONTROL_CODE_SET_PARA_BIL_UP 0x84 #define CONTROL_CODE_SET_PARA_BIL_DOWN 0x04 #define CONTROL_CODE_READ_PARA_BIL_UP 0x81 #define CONTROL_CODE_READ_PARA_BIL_DOWN 0x01 #define CONTROL_CODE_SET_TIME_UP 0x84 #define CONTROL_CODE_SET_TIME_DOWN 0x04 #define CONTROL_CODE_VALVE_CONTROL_UP 0x84 #define CONTROL_CODE_VALVE_CONTROL_DOWN 0x04 #define CONTROL_CODE_ACCOUNT_STATUS_UP 0x84 #define CONTROL_CODE_ACCOUNT_STATUS_DOWN 0x04 #define CONTROL_CODE_RECHARGE_UP 0x84 #define CONTROL_CODE_RECHARGE_DOWN 0x04 #define CONTROL_CODE_IP_PORT_UP 0x84 #define CONTROL_CODE_IP_PORT_DOWN 0x04 #define CONTROL_CODE_CLEAR_ABNORMAL_UP 0x84 #define CONTROL_CODE_CLEAR_ABNORMAL_DOWN 0x04 #define CONTROL_CODE_MODIFY_KEY_UP 0x84 #define CONTROL_CODE_MODIFY_KEY_DOWN 0x04 #define CONTROL_CODE_ALARM_UP 0x85 #define CONTROL_CODE_ALARM_DOWN 0x05 #define CONTROL_CODE_END_UP 0x81 #define CONTROL_CODE_END_DOWN 0x01 #define FIRST_DATA_SHIFT 27 #define DATA_PACKET_HEADEA_LENGTH 31 #define DATA_PACKET_DATA_LENGTH 80 #define FRAME_DATA_MAX 4 //Ò»Ö¡Êý¾Ý×î¶à°üº¬µÄÊý¾ÝÌõÊý #pragma pack(1) typedef struct gprs_parameter { u8 ip[4]; u16 port; }GPRS_PARAMETER; typedef struct { u8 data_send_in_one_min; u8 data_send_mode; //ģʽºÍʱ¼ä¼ä¸ô u8 data_send_date; //ÈÕ u8 data_send_hour; //Сʱ u8 data_send_min; //·ÖÖÓ u8 data_send_sec; u8 data_send_min_interval; //·ÖÖÓ¼ä¸ô //GPRS·¢ËÍÊý¾ÝÖ¡µÄÀàÐÍ u8 data_send_frame; }GPRS_SEND_DATA; typedef struct{ unsigned char UartBuff[LINKRXDBOUND+1]; unsigned char HandBuff[LINKRXDBOUND+1]; unsigned char CallNum[11]; unsigned char WritePtr ; unsigned char HandlePtr ; unsigned char TempPtr ; unsigned char NewLen ; unsigned char DataLen ; unsigned char Gprs_Finish_Flag; }STRLINK; typedef struct{ unsigned char RebootNum ; unsigned char NetLinkFlag ; unsigned char HandleStep ; unsigned char RepeadNum ; unsigned char ED_RepeadNum ; unsigned char RepeadTime; unsigned char CmdType ; unsigned char netgrade; unsigned char netrate ; unsigned short BeatTime ; unsigned short WaitTime ; //unsigned char OpenFlag ; unsigned char ServerIP[4]; unsigned char ServerPort[4]; unsigned char APN[16]; unsigned char ConnectNum ; unsigned char Net_info; //ÍøÂçÐÅÏ¢ //unsigned char UseIPFlag ; unsigned short RestartTime; //unsigned char send_begin_ok; unsigned char send_finish_ok; unsigned char ReceivedInstructionFlag; //½ÓÊÕµ½Ö¸Áî±êÖ¾£¬Ö÷ÒªÓÃÓÚ½ÓÊÕµ½³äÖµÖ¸ÁÏ´βɼ¯µãÉÏ·¢Êý¾ÝÈ·ÈÏÓà¶î±ä»¯¡£ }VARIABLE ; typedef struct{ char Framestart_symbol; uint8_t DeviceAddress[8]; char Datastart_symbol; char Control_code; uint16_t Data_length; uint8_t Systemclock_year; uint8_t Systemclock_month; uint8_t Systemclock_day; uint8_t Systemclock_hour; uint8_t Systemclock_min; uint8_t Systemclock_sec; uint8_t Protocol_version; uint16_t Cammand_flag; uint16_t frameSeq; uint16_t totalTSeq; char KVer; uint8_t Signal_intensity; // uint8_t Communication_type; char moduleSeq[20]; uint8_t Send_type; // 0x01:¶¨Ê±Éϸ棻0x02£º°´¼üÉϸ棻0x03£º¾¯±¨Éϸ棻 uint8_t Power_type; //1µç³Ø¹©µç 2 Íâµç uint8_t Data_Acq_type; uint8_t Billing_type; uint8_t AccountStatus_g; uint8_t Reserved1; uint8_t Reserved2; uint8_t Reserved3; uint8_t Valve_Status; //01 ¿ª·§£¬ 02¹Ø·§ 03·§ÃÅÒì³£ uint8_t dataGroup_Num; }GPRS_PROTOCOL_HEADER; typedef struct{ uint8_t Sample_year; uint8_t Sample_month; uint8_t Sample_day; uint8_t Sample_hour; uint8_t Sample_min; uint8_t Sample_sec; uint16_t fBalance_xs; uint32_t fBalance_zs; uint16_t fGasUsageTotal_xs; uint32_t fGasUsageTotal_zs; uint16_t fGasFeeUsageTotal_xs; uint32_t fGasFeeUsageTotal_zs; uint16_t SC_Accumulation_xs; uint32_t SC_Accumulation_zs; uint16_t WC_Accumulation_xs; uint32_t WC_Accumulation_zs; uint16_t SC_instant_xs; uint32_t SC_instant_zs; uint16_t WC_instant_xs; uint32_t WC_instant_zs; float Temperature; float Pressure; uint8_t Lith_battery_V_xs; uint8_t Lith_battery_V_zs; uint8_t Alka_battery_V_xs; uint8_t Alka_battery_V_zs; uint8_t EX_battery_V_xs; uint8_t EX_battery_V_zs; uint64_t reservation1; uint64_t reservation2; uint16_t reservation3; char CS; char Frameend_symbol; }GPRS_DATA_PACKAGE; //??????????????+???????? //extern volatile GPRS_DATA_INF_T gprs_send_inf_g; extern STRLINK LinkDlg ; extern VARIABLE VariaDlg ; extern GPRS_PROTOCOL_HEADER gprs_protocol_header; extern GPRS_DATA_PACKAGE gprs_data_package ; //u8 gprs_detect(void); void Gprs_Open(void); unsigned char LinkHandleProc(unsigned char type); void LinkErrorProcess(void); void gprs_protocol_header_2buff(uint8_t *header_in, uint8_t *buff, uint8_t len); void gprs_data_2buff(uint8_t *data_in, uint8_t *buff); void Gprs_Send_Pro(void); void SendAlarm(void); void gprs_data_send(uint8_t flag); //flag??1???????,?????? void getSampledata(void); void GPRS_Send_process(void); extern uint16_t CS_addr; extern uint8_t GPRSbeginflag; extern uint8_t awaken_flag; extern uint8_t GPRS_sendFlag; extern uint8_t GPRS_SEND_BUFF[599]; #pragma pack() #endif