?
熟悉基本的AT指令的使用,了解GPRS功能模块的收发短信、电话通信等等
gprs.h
?
#ifndef GPRS_H
#define GPRS_H
#include
#include
#include
#include serial.h #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include opendoor.h namespace Ui { class Gprs; } class Gprs : public QWidget { Q_OBJECT public: Gprs(QWidget *parent = 0); ~Gprs(); void initAT(); //AT 指令初始化 void Init_Sys(); void ReadMsg(QString str); //encode msg/send messege/dial phone/ void ReadMessage(QString strMsgIndex); //read messege void setNum(QString str); //write number QString PreSendMessage( QString strSendMsg, QString strPhoneNumber, QString strServerNumber); //messege encode QString NumberConversion(QString strNumber); //translate Messege---Center Number to yuanyu. QString ToUnicode( QString strSrc ); //encode QString ProcessMessage(QString strMsg,QString &strNum); //encode 7bit and PUD encode QString DecToUnicode(QString strSrc); // QString Bit7Decode(QString &strSrc); int GSMDecode7bit( const unsigned char *pSrc, char *pDst, int nSrcLength ); private: Ui::Gprs *ui; private slots: void on_pushButtonUnCall_clicked(); //phone operater function void on_pushButtonCall_clicked(); void on_pushButtonAll_clicked(); void on_pushButtonNew_clicked(); void on_Btn_Cancle_2_clicked(); void on_Btn_Nine_clicked(); //telphone number void on_Btn_Eight_clicked(); void on_Btn_Seven_clicked(); void on_Btn_SIx_clicked(); void on_Btn_Five_clicked(); void on_Btn_Four_clicked(); void on_Btn_Three_clicked(); void on_Btn_Two_clicked(); void on_Btn_One_clicked(); void on_Btn_zero_clicked(); void on_Btn_Cancle_clicked(); //msg function void on_Btn_Send_clicked(); void on_Btn_Open_clicked(); void on_Btn_Close_clicked(); void read_timeout_slot(); void ReceiveSignal(); void ReadPort(); private: bool isinit; int fd; char buff[256]; bool flag; QString strServerNumber; //Center number QString strClientNum; //client number QString strEncodeMsg; //encode number QString strMsgContent; //msg content QTimer *TimerRead; //timer bool BInit; bool BRead; bool BSend; bool BNew; bool BRing; }; #endif // GPRS_H
gprs.cpp
?
?
#include gprs.h
#include ui_gprs.h
#include
#include
#include serial.h #include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DEVICE_DOOR door #define BUFFER_SIZE 1024 #define MYLOCK 0xF5 #define MYLOCK_START_IOCFG _IOW(MYLOCK, 1, int) #define MYLOCK_STOP_IOCFG _IOW(MYLOCK, 2, int) #define MYLOCK_LEFT_IOCFG _IOW(MYLOCK, 3, int) #define MYLOCK_RIGHT_IOCFG _IOW(MYLOCK, 4, int) #define MYLOCK_BACK_IOCFG _IOW(MYLOCK, 5, int) #define PWM_IOCTL_SET_FREQ 1 #define PWM_IOCTL_STOP 0 Gprs::Gprs(QWidget *parent) : QWidget(parent), ui(new Ui::Gprs) { ui->setupUi(this); if(fd!=0) { //Txt_State->insertLine(Serial port already open.,-1); ui->Txt_State->setPlainText(Serial port already open.); } isinit=0; BRead=0; BSend=0; BNew=0; BInit=0; BRing=0; initAT(); //first,timer = 200,check fd is wrote or no ? Init_Sys(); //OpenDoor::mydoor_gpio_init(); //registers init flag=false; //set Open door flag; //InitPic(); } Gprs::~Gprs() { delete ui; } void Gprs::on_Btn_Close_clicked() { close(); qApp->quit(); } /**********