#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
|