From d05345afb7ef971552bd3a40af71ae62583d8bbe Mon Sep 17 00:00:00 2001 From: YuanHongbin <975559679@qq.com> Date: Fri, 5 Jun 2026 11:08:54 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E4=BD=8D=E7=A7=BB=E7=9B=91=E6=B5=8B?= =?UTF-8?q?=E4=BC=A0=E6=84=9F=E5=99=A8=E4=B8=8A=E4=BC=A0=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=202=E3=80=81CatOneTask=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E6=96=B0=E7=89=884G=E6=A8=A1=E5=9D=97=203=E3=80=81=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E4=BC=A0=E6=84=9F=E5=99=A8=E7=B1=BB=E5=9E=8BSensorTyp?= =?UTF-8?q?e=5Fm=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Project/GateWay/MDK/GateWay.uvoptx | 2 +- Project/GateWay/source/Module/GateWay_Debug | 2 +- Project/GateWay/source/User/Inc/Public.h | 3 +- Project/GateWay/source/User/Inc/main.h | 2 +- Project/GateWay/source/User/Src/CatOneTask.c | 43 +++++++++++++++----- Project/GateWay/source/User/Src/Public.c | 30 ++++++++++---- Project/GateWay/source/User/Src/main.c | 7 +++- 7 files changed, 66 insertions(+), 23 deletions(-) diff --git a/Project/GateWay/MDK/GateWay.uvoptx b/Project/GateWay/MDK/GateWay.uvoptx index 8d9ab6e..15d0988 100644 --- a/Project/GateWay/MDK/GateWay.uvoptx +++ b/Project/GateWay/MDK/GateWay.uvoptx @@ -433,7 +433,7 @@ 0 1 - GateWay,0x10 + GateWay,0x0A diff --git a/Project/GateWay/source/Module/GateWay_Debug b/Project/GateWay/source/Module/GateWay_Debug index 28b612d..7e55f4c 160000 --- a/Project/GateWay/source/Module/GateWay_Debug +++ b/Project/GateWay/source/Module/GateWay_Debug @@ -1 +1 @@ -Subproject commit 28b612dd2894afbe832ac901c143f010ea413e14 +Subproject commit 7e55f4cb1b6537db8622829d825288accf16b5d9 diff --git a/Project/GateWay/source/User/Inc/Public.h b/Project/GateWay/source/User/Inc/Public.h index 4a85ffb..7c7d4e5 100644 --- a/Project/GateWay/source/User/Inc/Public.h +++ b/Project/GateWay/source/User/Inc/Public.h @@ -28,7 +28,6 @@ typedef enum { DEBUG_CH_RS485_2, }DebugChannel_m; - typedef enum { DEV_TYPE_BROADCAST, DEV_TYPE_INC_COMMUNIT = 0x8001, @@ -128,9 +127,11 @@ typedef struct { }__attribute__((packed))LaserTracingType_T; typedef struct {//0x0020 位移计 + MasterDev_T MasterDev; int16_t PitchAngle; //俯仰角偏斜(范围±900)单位0.1° int16_t RollAngle; //横滚角偏斜(范围±900)单位0.1° int16_t YawAngle; //偏航角偏斜(范围0~3600)单位0.1° + float Temp; //温度 float Altitude; //海拔()单位cm int16_t Distance; //1轴应力值转位移(范围±300,单位0.1mm) }__attribute__ ((packed))Displacement_T,*DisplacementDp; diff --git a/Project/GateWay/source/User/Inc/main.h b/Project/GateWay/source/User/Inc/main.h index b30cf0f..70a1b20 100644 --- a/Project/GateWay/source/User/Inc/main.h +++ b/Project/GateWay/source/User/Inc/main.h @@ -7,7 +7,7 @@ #define SOFTWARE_VERSION 12 #define HARDWARE_VERSION 12 -#define MAC_ADDR_TYPE 4//0为测试服务器 +#define MAC_ADDR_TYPE 9//0为测试服务器 extern bool MainDispEn; #define MAIN_DBG_LOG(...) { if(MainDispEn) Debug_Printf(__VA_ARGS__);} diff --git a/Project/GateWay/source/User/Src/CatOneTask.c b/Project/GateWay/source/User/Src/CatOneTask.c index 0a272d9..46c844b 100644 --- a/Project/GateWay/source/User/Src/CatOneTask.c +++ b/Project/GateWay/source/User/Src/CatOneTask.c @@ -28,6 +28,26 @@ static uint16_t CatSendErrCnt = 0; #define CATONE_RESET_DELAY_TIME_MAX (5 * 60 * 1000) +//const char *CatOneATCmdStr[16] = { +// "NULL", +// "AT\r\n", //开机检测 +// "ATE0\r\n", //关回显 +// "AT+CPIN?\r\n", //识卡 +//// "AT+CIMI\r\n", //IMEI +// "AT+CGSN=1\r\n", +// "AT+LCCID\r\n", //读卡号 +// "AT+CEREG?\r\n", //查询注册状态 +// "AT+CGPADDR=1\r\n", //查询IP地址 +// "AT+CSQ\r\n", //查询信号强度 +// "AT+LDNSGIP=gxjt.cui635.cn\r\n", +// "AT+LBS=0\r\n", //获取基站定位信息 +// "AT+LIPOPEN=", //设置TCP服务器地址和端口,AT+LIPOPEN="TCP","114.55.52.96",6803 +// "AT+LIPSEND=", //发送数据, AT+LIPSEND=0,1,20,"31313131313131323232323232" +// "AT+LIPCLOSE=0\r\n",//断开连接 +// "AT+LBSPARA=http://locator-aep.xiot.senthink.com:80/locator/v0.1/locate,B84E427D95B1DF4A3F49B18DDF714C72\r\n", +// "AT+CCLK?\r\n", //获取时间 +//}; + const char *CatOneATCmdStr[16] = { "NULL", "AT\r\n", //开机检测 @@ -35,17 +55,18 @@ const char *CatOneATCmdStr[16] = { "AT+CPIN?\r\n", //识卡 // "AT+CIMI\r\n", //IMEI "AT+CGSN=1\r\n", - "AT+LCCID\r\n", //读卡号 + "AT+QCCID\r\n", //读卡号 "AT+CEREG?\r\n", //查询注册状态 "AT+CGPADDR=1\r\n", //查询IP地址 "AT+CSQ\r\n", //查询信号强度 "AT+LDNSGIP=gxjt.cui635.cn\r\n", - "AT+LBS=0\r\n", //获取基站定位信息 - "AT+LIPOPEN=", //设置TCP服务器地址和端口,AT+LIPOPEN="TCP","114.55.52.96",6803 - "AT+LIPSEND=", //发送数据, AT+LIPSEND=0,1,20,"31313131313131323232323232" - "AT+LIPCLOSE=0\r\n",//断开连接 - "AT+LBSPARA=http://locator-aep.xiot.senthink.com:80/locator/v0.1/locate,B84E427D95B1DF4A3F49B18DDF714C72\r\n", - "AT+CCLK?\r\n", //获取时间 + "AT+QLBS\r\n", //获取基站定位信息 + "AT+QIOPEN=", //设置TCP服务器地址和端口,AT+LIPOPEN="TCP","114.55.52.96",6803 + "AT+QISEND=", //发送数据, AT+LIPSEND=0,1,20,"31313131313131323232323232" + "AT+QICLOSE=0\r\n",//断开连接 + "AT+QLBSCFG=\"server\",http://locator-aep.xiot.senthink.com:80/locator/v0.1/locate\r\n", + "AT+QLBSCFG=\"token\",45B516D3078467E84DD2CFBF3532A4CB\r\n", + "AT+CCLK?\r\n", //获取时间 }; void Cat1DBGOnOff(bool OnOff) @@ -213,22 +234,22 @@ void CatOneAtCmdAnalyze(char *RxBuff) if(strstr(RxBuff, "OK") == NULL) { CatOne.ATCmdRet = CAT_ONE_RET_ERR; } - p = strstr(RxBuff, "+LCCID"); + p = strstr(RxBuff, "+QCCID"); if(p == NULL) { CatOne.ATCmdRet = CAT_ONE_RET_ERR; } memset(CatOne.SIM, 0, 32); - ret = sscanf(p, "+LCCID: %s\r\n", CatOne.SIM); + ret = sscanf(p, "+QCCID: %s\r\n", CatOne.SIM); if(ret != 1) { memset(CatOne.SIM, 0, 32); } break; case CAT_ONE_LBS: - p = strstr(RxBuff, "+LBS"); + p = strstr(RxBuff, "+QLBS"); if(p != NULL) { double Longitude, Latitude; - int ret = sscanf(p, "+LBS: %lf,%lf\r\n", &Longitude, &Latitude); + int ret = sscanf(p, "+QLBS: %lf,%lf\r\n", &Longitude, &Latitude); if(ret == 2) { CatOne.LBSFlag = true; CatOne.Longitude = Longitude * 100000; diff --git a/Project/GateWay/source/User/Src/Public.c b/Project/GateWay/source/User/Src/Public.c index 048ef70..58659ba 100644 --- a/Project/GateWay/source/User/Src/Public.c +++ b/Project/GateWay/source/User/Src/Public.c @@ -8,23 +8,39 @@ //传感器对应的数据长度 const uint8_t SensorTypeDataLen[] = { - 0, //0x0000-保留 + 0, //0x0000-保留 30, //0x0001-应力场检测单元 12, //0x0002-渗透压检测单元 14, //0x0003-弹性波导检测单元 10, //0x0004-介电质普检测单元 6, //0x0005-微振动 - 6, //0x0006-三维连续变形检测单元 + 6, //0x0006-三维连续变形检测单元 3, //0x0007-通讯单元 - 18, //0x0008-三维应力检测单元 + 18, //0x0008-三维应力检测单元 9, //0x0009-激光示踪(主设备) - 12, //0x000A-水位计 + 12, //0x000A-水位计 0, //0x000B-保留 0, //0x000C-保留 - 14, //0x000D-二维应力场检测单元 + 14, //0x000D-二维应力场检测单元 9, //0x000E-裂缝检测单元 + 0, //0x000F-预留 8, //0x0010-姿态检测单元 4, //0x0011-激光位移检测单元 + 4, //0x0012-表面应力传感器 + 4, //0x0013-压力传感器 + 4, //0x0014-微波测距传感器 + 0, //0x0015-表贴式结冰传感器 + 0, //0x0016-埋入式结冰传感器 + 4, //0x0017-单通道钢筋应力传感器 + 4, //0x0018-单通道锚杆轴力传感器 + 32, //0x0019-8通道钢筋拉压力传感器 + 32, //0x001A-8通道锚杆轴力传感器 + 0, //0x001B-16通道钢筋应力传感器 + 0, //0x001C-16通道锚杆轴力传感器 + 0, //0x001D-爆炸冲击传感器 + 0, //0x001E-随行支架传感器 + 0, //0x001F-冻融循环传感器 + 19, //0x0020-位移计 }; /***************************************************************************************** @@ -441,8 +457,8 @@ void DebugDisplaySensorData(int SensorIdx, uint16_t SensorType, uint8_t *SensorD case DISPLACEMENT: { Displacement_T Sensor; memcpy((uint8_t *)&Sensor, SensorData, sizeof(Displacement_T)); - MAIN_DBG_LOG("Sensor%d Type %04x: PitchAngle=%04d, RollAngle=%04d, YawAngle=%04d, Altitude=%06f, Distance=%04d\r\n", - SensorIdx, SensorType, Sensor.PitchAngle, Sensor.RollAngle, Sensor.YawAngle, Sensor.Altitude, Sensor.Distance); + MAIN_DBG_LOG("Sensor%d Type %04x: PitchAngle=%04d, RollAngle=%04d, YawAngle=%04d, Temp=%06f, Altitude=%06f, Distance=%04d\r\n", + SensorIdx, SensorType, Sensor.PitchAngle, Sensor.RollAngle, Sensor.YawAngle, Sensor.Temp, Sensor.Altitude, Sensor.Distance); break; } default: diff --git a/Project/GateWay/source/User/Src/main.c b/Project/GateWay/source/User/Src/main.c index 964e254..39f9518 100644 --- a/Project/GateWay/source/User/Src/main.c +++ b/Project/GateWay/source/User/Src/main.c @@ -168,7 +168,12 @@ void GateWayInit(void) #if MAC_ADDR_TYPE == 0 memcpy(GateWay.ConfigPara.GwMac, GateWayMac_Test, 6); - GateWay.ConfigPara.DebugChannel = DEBUG_CH_DBG; + GateWay.ConfigPara.DebugChannel = DEBUG_CH_RS485_1; + GateWay.ConfigPara.SvrAddr[0] = 39; + GateWay.ConfigPara.SvrAddr[1] = 106; + GateWay.ConfigPara.SvrAddr[2] = 103; + GateWay.ConfigPara.SvrAddr[3] = 147; + GateWay.ConfigPara.SvrPort = 8080; #elif MAC_ADDR_TYPE == 1 memcpy(GateWay.ConfigPara.GwMac, GateWayMac_BL1, 6); GateWay.ConfigPara.DebugChannel = DEBUG_CH_RS485_1;