33版本py提交
authorhcj <1224667075@qq.com>
Tue, 28 Apr 2026 02:45:49 +0000 (10:45 +0800)
committerhcj <1224667075@qq.com>
Tue, 28 Apr 2026 02:45:49 +0000 (10:45 +0800)
cat1modem/src/LeiNiao/cat1Service.py

index 7697c0a..607bc90 100644 (file)
@@ -79,7 +79,7 @@ sms.setCallback(msg_cb)#sms注册回调
 CAT1_SERVICE_HEAD = 'FE' #固定head 
 
 PROJECT_NAME = "Cat1SlipUDPService"
-PROJECT_VERSION = "PY_SRV_V32"
+PROJECT_VERSION = "PY_SRV_V33"
 CONFIG_JSON="/usr/system_config.json"
 CURRENT_APP_TYPE="pysrv"
 
@@ -385,7 +385,28 @@ class Cat1Service:
             # UDP_CMD_GET_RECV_NETWORKSTAT
             simstat = sim.getStatus()
             iccid = sim.getIccid()
-            imei = modem.getDevImei()
+            imei_1 = modem.getDevImei()
+            modem_ver = modem.getDevFwVersion() 
+
+            # imei_2 = modem.getDevImei()
+            if PROJECT_VERSION == "PY_SRV_V33" and "EG800AKCN91LCR07A01M04_OCPU_QPY_BETA0414" in modem_ver:
+                clog.info("modem_ver:{},py_version:{}".format(modem_ver,PROJECT_VERSION))
+                cgsn_resp = bytearray(64)
+                ret=atcmd.sendSync("AT+CGSN\r\n",cgsn_resp,'',10)
+                if ret == 0:
+                    clog.info("reply:{},ret:{}".format(cgsn_resp.decode(),ret))
+                    at_cgsn = cgsn_resp.decode().strip()
+                    imei = None
+                    for k in range(0, max(0, len(at_cgsn) - 14)):
+                        chunk = at_cgsn[k : k + 15]
+                        if len(chunk) == 15 and chunk.isdigit():
+                            imei = chunk
+                            break
+                    if imei is not None and imei_1 != imei:
+                        clog.info("imei_1 != imei")
+                        modem.setDevImei(imei)
+                        imei_1 = modem.getDevImei()
+            
             netstat = "0,10,0,10"
             netstat_ = net.getState()
             if netstat_ != -1 :
@@ -393,8 +414,8 @@ class Cat1Service:
             # ([voice_state, voice_lac, voice_cid, voice_rat, voice_reject_cause, voice_psc], [data_state, data_lac, data_cid, data_rat, data_reject_cause, data_psc])
             operator =  net.operatorName()
             signal = net.csqQueryPoll()
-            clog.info("imei:{0}@sim:{1}@iccid:{2}@oper:{3}@signal:{4}@net:{5}".format(imei,simstat,iccid,operator,signal,netstat))
-            self.reply_cmd('07',"imei:{0}@sim:{1}@iccid:{2}@oper:{3}@signal:{4}@net:{5}".format(imei,simstat,iccid,operator,signal,netstat))
+            clog.info("imei:{0}@sim:{1}@iccid:{2}@oper:{3}@signal:{4}@net:{5}".format(imei_1,simstat,iccid,operator,signal,netstat))
+            self.reply_cmd('07',"imei:{0}@sim:{1}@iccid:{2}@oper:{3}@signal:{4}@net:{5}".format(imei_1,simstat,iccid,operator,signal,netstat))
         elif cmd == "09":
             clog.info("{},{}".format(cmd,parm))
             # UDP_CMD_ATCMD