uapi_cat1_stop_volte_voice();
return 1;
}
-void get_software_version_to_cat1(void)//发送固件版本到cat1
+void get_software_version_toCat1(void)//发送固件版本到cat1
{
char version_buf[128] = {0};
uint32_t version_len = 128;
udp_send_msg_toCat1(UDP_MSG_GET_SOFTWARE_VESION,version_buf);
return;
}
-void save_sim_iccid_to_ble(char *msg)//保存SIM卡的ICCID到蓝牙
+void save_sim_iccid_toBle(char *msg)//保存SIM卡的ICCID到蓝牙
{
if(strncmp(msg,"ICCID:",6) == 0)//字符串是否有ICCID:字符串
{
return;
}
-void get_sim_iccid_to_cat1(void)//获取sim卡的ICCID到cat1
+void get_sim_iccid_toCat1(void)//获取sim卡的ICCID到cat1
{
char iccid_buf[30] = {0};
const char *imei_str = const_cast<char*>(OHOS::ConfigModel::GetInstance()->GetSimIccid().c_str());
udp_send_msg_toCat1(UDP_MSG_GET_SIM_ICCID,iccid_buf);
}
}
-void set_telecom_dmp_switch_to_cat1(uint8_t on)//设置电信入库功能开关->CAT1
+void set_telecom_dmp_switch_toCat1(uint8_t on)//设置电信入库功能开关->CAT1
{
if(on){
udp_send_msg_toCat1(UDP_MSG_SET_TELECON_DMP_SWITCH,"1");//1开启 0关闭
}
}
-void save_regist_time_to_ble(char *msg)//保存注册的时间戳
+void save_regist_time_toBle(char *msg)//保存注册的时间戳
{
if(strncmp(msg,"REGIST_TIME:",12) == 0)//字符串是否有ICCID:字符串
{
restart_time_sync();
cat1_getsignal();
#ifdef SUPPORT_TELECOM_DMP //是否开启电信入库功能
- set_telecom_dmp_switch_to_cat1(1);
- get_software_version_to_cat1();
- get_sim_iccid_to_cat1();
+ set_telecom_dmp_switch_toCat1(1);
+ get_software_version_toCat1();
+ get_sim_iccid_toCat1();
get_regist_time_toCat1();
#endif
break;
case UDP_MSG_GET_TELECON_DMP_TIMESEC:
#ifdef SUPPORT_TELECOM_DMP
- save_regist_time_to_ble(msg->buffer);
+ save_regist_time_toBle(msg->buffer);
#endif
break;
case UDP_CMD_GET_CAT1VER:
break;
case UDP_MSG_SAVE_SIM_ICCID:
#ifdef SUPPORT_TELECOM_DMP
- save_sim_iccid_to_ble(msg->buffer);
+ save_sim_iccid_toBle(msg->buffer);
#endif
break;
default:
import request
import ujson
REGIST_MAX_NUM=10 #自注册的最大次数 现在是默认是10次
-REGIST_INTERVAL_TIMER=30 #自注册失败的间隔时间 1小时
+REGIST_INTERVAL_TIMER=60*60 #自注册失败的间隔时间 1小时
REGIST_POWER_ON_TIME=5*60 #开机5分钟内就必须自注册触发
-MULTI_DAY_RESEND_T = 30*24*60*60#多日重发的机制的周期T 30天
+MULTI_DAY_RESEND_T = 30*24*60*60-12*60*60#多日重发的机制的周期T 30天
MULTI_DAY_RESEND_t = 12*60*60#多日重发的机制的周期t 0.5天
def get_report_url_website(mode = None):#获取上报网址
url = "http://zzhc.vnet.cn:9998/"#上报网址
def telecom_regeist_infor(self):#自注册信息 可变更
network_state = eventMesh.publish("get_network_state")
- print("get_network_state!!!!!!!!!! %d self.isRegistOk:%d",network_state,self.isRegistOk)
+ print("telecom_regeist_infor :",network_state,self.isRegistOk,REGIST_INTERVAL_TIMER,MULTI_DAY_RESEND_T,MULTI_DAY_RESEND_t,REGIST_POWER_ON_TIME)
if network_state == 0:# 第一次进入网络不正常就需要开启1小时定时器 等待下一个周期判断网络是否正常 需要判断网络是否正常 不正常就不去触发自注册了 就等待下一次 如果10次都不成功 就等一下次开机再去自注册
self.timer_count+=1
print("self.timer_count:{}".format(self.timer_count))
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)#获取时间戳
if self.multimer_init == 1:#已注册过或者开机5分钟之内没有注册 或者注册成功就开始出发多日重发机制
- self.mulit_day_timesec = time_tmp+MULTI_DAY_INIT_TIME_t#初始值多加12小时 #初始化t = 0.5天
+ self.mulit_day_timesec = time_tmp+MULTI_DAY_RESEND_t#初始值多加12小时 #初始化t = 0.5天
eventMesh.publish("set_regist_time",[1,self.mulit_day_timesec])
return
self.multimer_init = 1
#设置开始时间戳
get_timesec = eventMesh.publish("get_regist_time")#一开机初始化为0 没有保存过数据 如果保存过就用保存的时间
if get_timesec == 0:
- self.mulit_day_timesec = time_tmp+MULTI_DAY_INIT_TIME_t #初始化t = 0.5天
+ self.mulit_day_timesec = time_tmp+MULTI_DAY_RESEND_t #初始化t = 0.5天
eventMesh.publish("set_regist_time",[1,self.mulit_day_timesec])
else:
self.mulit_day_timesec = get_timesec
- self.multiDayResend_timer.start(60*1000,1,self.multiDayResendTimer_Cb)#一分钟计时
+ self.multiDayResend_timer.start(60*60*1000,1,self.multiDayResendTimer_Cb)#一分钟计时
def multiDayResendTimer_Cb(self,*argc):#多日重发机制定时器回调函数
T = 30*24*60*60
date_tmp = utime.localtime()
- time_tmp = utime.mktime(date_tmp)+MULTI_DAY_INIT_TIME_t#获取时间戳
+ time_tmp = utime.mktime(date_tmp)+MULTI_DAY_RESEND_t#获取时间戳
if time_tmp < self.mulit_day_timesec:#如果当前时间戳小于保存的时间戳
self.mulit_day_timesec = time_tmp
if time_tmp - self.mulit_day_timesec >= MULTI_DAY_RESEND_T:#一个周期的时间到了重发注册一次
network_state = eventMesh.publish("get_network_state")
- print("get_network_state:%d\r\n",network_state)
+ print("get_network_state:\r\n",network_state)
if network_state == 0:#网络不正常就不需要重发了等下一个周期
return
self.telecom_regist_infor_init()#要自注册数据域信息发送完才初始化t
- self.mulit_day_timesec = time_tmp+MULTI_DAY_INIT_TIME_t # 重发后 初始化t = 0.5天
+ self.mulit_day_timesec = time_tmp+MULTI_DAY_RESEND_t # 重发后 初始化t = 0.5天
eventMesh.publish("set_regist_time",[1,self.mulit_day_timesec])
pass
def telecom_dmp_power_on_count(self):#开机计时判断最多十次
if eventMesh.publish("get_telecom_init_state") != 1:#在开机五分钟之内只要一次联网正常就不需要再检查是否网络正常去自注册了
- if eventMesh.publish("get_dmp_power_num") < (eventMesh.publish("get_dmp_power_timer_count")*1000)/30000+1:#10+1
+ if eventMesh.publish("get_dmp_power_num") < (eventMesh.publish("get_dmp_power_timer_count")*1000)/30000:#10+1
num = eventMesh.publish("get_dmp_power_num") #开机计时 如果开机5分钟内没有一次网络正常的话 当前开机自注册不生效 等待下一次开机自注册触发 或者触发多日重发机制
num+=1
eventMesh.publish("set_dmp_power_num",num)#次数累计加一