# -*- coding: UTF-8 -*- **********WS-601CA-Nano600M-V0.0.1-202502130001********** 1、消警:由电平检测修改为外部中断,加快播报消警。 2、市电状态检测: 外部市电 未插入 时,模块对应34引脚为 高 电平,状态为“1” 外部市电 插入 时,模块对应34引脚为 低 电平,状态为“0” ①通过平台下发查询市电状态指令,设备会回复市电插入状态,标识符“get_E_power_status”; ②心跳包增加市电状态上传,标识符“E_power_status”。 3、hls、MP3播报完成等待消警时间修改为5min(TTS暂未修改,因为播报有卡顿)。 4、心跳包内容删除无关信息(模块各种信息),缩短上报内容,减少流量、功耗消耗。 5、增加LED灯的控制指令。 6、修改mesh模块中devid参数配置,直接读取配置文件中设备编号进行配置。 **********WS-601CA-Nano600M-V0.0.1-202502150001********** 1、增加开机上报mesh参数信息 2、在配置文件的“lora-mesh”参数中增加“mesh_xiaojing”参数,用于断网单播消警通信 **********WS-601CA-Nano600M-V0.0.1-202502180001********** 1、断网保存:增加“55aa”对应的测试mesh帧、“8008”对应的雨量/水位/一键报警mesh帧在断网情况下,上传至平台的数据上报帧进行存储至指定文件中 2、联网补发:待设备联网成功后,对存储断网期间数据上报帧进行读取并发送至平台 3、补发收尾:存储的数据补发完成后,将存储数据的文件进行删除操作,释放内存 **********WS-601CA-Nano600M-V0.0.2-202502200002********** 1、增加市电状态变化报警、加报 (1)市电断开,设备播报mp3+“警告,设备已断电,请检查电源”;立即加报市电状态0---断开 (2)市电连接,设备播报mp3+“设备供电已连接,运行正常”;立即加报市电状态1---充电 2、修改市电查询、心跳包上传的市电状态值(上传值由引脚电平修改为数值) (1)市电断开情况下,上传引脚高电平1 修改为 上传数字0 (2)市电连接情况下,上传引脚低电平0 修改为 上传数字1 3、修改HLS播报异常问题(无法消警) **********GX-820-EC600M-V0.0.3-202503030001********** 1、启动程序中增加硬件自检程序,方便生产测试,具体内容:(1)网络类型检测、(2)剩余空间内存检测、(3)tts播报测试(用于音频驱动、喇叭测试)、(4)SIM卡状态检测、(5)信号强度检测、(6)灯光通信检测 2、将心跳包上传的ICCID、IMEI参数调整到开机上报该参数 3、将心跳包上传的“pa”播报状态标识符去除,不再上传 4、查询信号强度上传的信号强度值由单一CSQ修改为详细信息(RSRP、RSRQ、ISNR) 5、接收到mesh报警帧后,设备播报对应的报警音频,手动消警(消警灯光熄灭)后,模块通过mesh模块发送给呼叫器55aa响应(通过mesh报警来做标记,消警后判断是否为mesh报警,如果为mesh报警,通过mesh单播发送0x55 0xaa帧对呼叫器进行回复) 6、增加mesh模块回复标记和打印(mesh模块回复“OK”/“>”/“SEND OK”/“SEND FAIL”/“ERROR”) 7、删除组网mesh溯源保存本地文件功能 **********GX-820-EC600M-V0.0.3-202503030002********** 1、恢复组网mesh溯源保存本地文件功能 **********GX-820-EC600M-V0.0.4-202503040001********** 1、增加color:4灯光效果显示,气象风险预警灯光为color:4,具体效果为红色太极 2、增加mesh参数修改,模块自动通信修改功能,无需重启设备 3、降低市电状态变化时报警播报的优先级(251→200),保持消警的优先级最高,可打断其播报进行 4、提高市电状态变化时报警播报的音量(5→9) 5、固件包合并生产用自检程序(main.py) **********GX-820-EC600M-V0.0.5-202503110001********** 1、修改播报延时逻辑,不在每一次播报完成后进入延时程序,播报队列为空时进入延时等待消警时间,消警后上传消警状态(play_status:3) 2、修改市电变化播报优先级(200→251),市电变化播报完成后,不进入等待消警的延时程序,进入低功耗前增加延时时间(10s) 3、恢复routestid参数,将dest_id参数从mesh模块的URC溯源内容中取源地址作为mesh消警反馈的目标地址 4、开机播报增加开机原因、上次关机原因识别,针对开机原因:按键开机、上次关机原因:未知原因,开机时做开机播报处理,其他组合原因均不播报开机音频 5、开机播报音量减小至6 6、修改dest_id为routestid,平台端亦修改 7、开机自检程序,修改自检逻辑,加入mesh自检程序(开机进入自检状态【绿色呼吸灯】——等待MESH接收【黄色太极灯】——检测结果【绿色太极灯/红色闪烁灯】) 8、公网下发的播报(HLS、mp3、TTS)灯光关闭触发位置调整至播报进程中,不再位于类型播报中 **********GX-820-EC600M-V0.0.6-202503120001********** 1、修改自检程序逻辑 a:MESH信号强度自检部分增加10s等待时间,超时自动退出 b:自检结果灯光:自检通过,绿色太极持续点亮5s然后自动关闭;自检不通过,红色闪烁灯效持续7s并播报3遍对应异常,然后自动关闭灯光 c:自检结果灯光熄灭后,低功耗模式需要等待约30s自动进入(程序无法控制) **********GX-820-EC600M-V0.0.7-202503130001********** 1、修改远程消警功能 a:修复远程消警无法停止播报的问题 b:修复远程消警后,仍进入5min等待消警的状态 c:修改远程消警后,设备上传平台的内容("data": {"control_status": "1"}修改为"data":{"play_status":"4"}) 2、修改市电状态上传内容:市电插入时,上传内容由"E_power_status": 1修改为"E_power_status": 5 3、修改开机自检程序: a:MESH自组网信号强度测试中,将RSSI值修改为-35(原-32) b:MESH自组网信号强度测试中,将SNR值修改为6.5(原7.0) c:MESH自组网信号强度测试中,将播报内容进行修改,便于对比 d:增加自检程序进入时的TTS播报提示,用于分辨状态以及对喇叭进行测试 e:调整eSIM卡信号强度的检测顺序,规避4G信号强度采集太快导致的报错问题 f:调整自检结果的播报内容,4G信号强度异常时,对其进行播报 4、修改MESH报警消警回复机制 a:原机制:MESH报警后,点击消警,通过MESH溯源获取发射源地址,再通过MESH单播发送0x55 0xaa给发射源设备 b:现机制:MESH报警后,点击消警,MESH应答帧通过缓存形式,等待当 |时间戳| / 网络下应答器总数量 = (网络下当前应答器编号-1) 时,发送MESH广播0x55 0xaa给发射源地址 5、修改播报类型(tts、hls)播报中,对于人工喊话key(w_original_voice)的播报和灯光颜色进行定义(红色太极) 6、对降雨提醒、知识宣教、文字提醒的灯光颜色进行修改,修改为黄色太极灯效 **********GX-820-EC600M-V0.0.8-202503180001********** 1、删除部分注释内容 2、修改MESH消警组播回复的算法,将n-1修改为n,平台端下发的当前应答器编号从0开始 3、在HLS/MP3/TTS短播报完成时,其播报状态会变为“2”,增加判断,当改状态时,触发外部中断,设备按照消警进行上传 **********GX-820-EC600M-V0.0.9-202503210001********** 1、增加联网检测异常识别次数,当连续识别到5次异常值时,对模块进行重启操作 2、增加开机上报MESH模块版本号的功能,在登录帧中增加对应标识符及内容(标识符“Mesh.Version”) **********GX-820-EC600M-V0.0.9-202503210002********** 1、屏蔽联网检测异常次数达到5次后重启功能,检测到联网异常后,常量红灯 **********GX-820-EC600M-V0.0.10-202503220001********** 1、将订阅部分的分析函数中,keepalive(最迟响应时间)空值时定义为600s修改为300s **********GX-820-EC600M-V0.0.10-202503220002********** 1、将订阅部分的分析函数中,keepalive(最迟响应时间)空值时定义为600s修改为150s 2、修复MP3播报、TTS播报异常问题 **********GX-820-EC600M-V0.0.10-202503220003********** 1、将订阅部分的分析函数中,keepalive(最迟响应时间)空值时定义为600s修改为60s **********GX-820-EC600M-V0.0.10-202503220004********** 1、将订阅部分的分析函数中,keepalive(最迟响应时间)空值时定义为600s修改为120s **********GX-820-EC600M-V0.0.10-202503220005********** 1、只更新了版本号,无任何改动 **********GX-820-EC600M-V0.0.11-202503220001********** 1、增加联网检测异常情况下的累计5次重启功能 2、去除低功耗模式 **********GX-820-EC600M-V0.0.11-202503220002********** 1、将订阅部分的分析函数中,keepalive(最迟响应时间)空值时定义为600s修改为600s **********GX-820-EC600M-V0.0.12-202503220001********** 1、将订阅部分的分析函数中,keepalive(最迟响应时间)空值时定义为600s修改为150s 2、市电插入时退出低功耗、市电拔出时自动低功耗 3、保持联网检测异常情况下,连续5次后重启模块的功能 4、将开机发送自动进入低功耗模式修改为回调市电状态检测部分,市电插入时不进入低功耗,市电拔掉时,开启自动进入低功耗模式 5、发布的qos(消息发布质量)修改为1【QoS1 – 至少一次,是中间级别;发送者保证消息至少送达到接收方一次】 6、订阅的qos(消息发布质量)修改为2【QoS2 – 有且仅有一次,是最高级别;保证消息送达且仅送达一次】 **********GX-820-EC600M-V0.0.12-202503220002********** 1、MESH消警增加灯光消除功能 **********GX-820-EC600M-V0.0.13-202503240001********** 1、屏蔽等待消警的时间打印信息 2、屏蔽wait函数的打印及延时 3、修改mesh应答回复目标地址bug,先取值set_lora_mesh中的gourpid值,若未远程设置mesh参数,则自动取值配置文件中的gourpid值 4、对程序检测流量卡部分进行维护完善,由 检测失败时每20s检测一次 修改为 每1s进行一次检测,连续30次检测失败将联网模块设置为飞行模式,5s后恢复正常模式,等待30s继续检测流量卡 **********GX-820-EC600M-V0.0.12-202503220002CS02********** 1、屏蔽wait函数的打印信息 2、主线程增加看门狗,防止主线程卡死/溢出 3、开机联网登录帧中增加程序版本号上传 4、开机quest函数中,将定位请求屏蔽处理,后期单独进行优化(易导致开机异常,后续联网不进行) 5、屏蔽check_net函数 **********GX-820-EC600M-V0.0.12-202503220002CS04********** 1、增加umqtt脚本程序版本号,主程序中调用并上传其信息(版本号位置调整) 2、lora_mesh类中,check_alarm_net函数优化,将返回值为0定义为正常,返回值不为0定义为异常,每60s打印一次,连续5次异常进行模块重启操作 3、开机时,检测升级文件夹"updater"是否存在,如存在,进行删除操作 4、报警记录文件大小修改为15K 5、将mqtt的发布、订阅Qos等级均修改为1 6、将mqtt的clean_session由自动选择修改为指定False(客户端是持久客户端,当客户端断开连接时,订阅信息和排队消息将被保留) 7、将mesh消警应答计算公式进行修改,将时间轴*2 **********GX-820-EC600M-V0.0.12-202503260002CS05********** 1、消警外部中断函数进行优化,增加滤波时间100ms 2、市电变化检测函数外部中断定义进行优化,增加3s滤波时间 3、看门狗开启位置进行调整 4、消警应答MESH回复的地址调整为组播回复 5、调整自检程序的自检顺序,(1)检测剩余空间(2)MESH信号强度测试(3)流量卡网络模式(4)流量卡检测(5)联网信号强度检测 6、mqtt发布的Qos修改为0 7、UMQTT.py修改重连函数中的连接clean_session定义为False **********GX-820-EC600M-V0.0.12-202503270002CS06********** 1、增加网络通道参数远程配置功能 2、修改TTS播报(日常宣讲、文字提醒、降雨提醒)等效颜色修改为绿色太极 3、市电变化检测播报,由两段播报修改为一段(MP3+TTS) 4、###串口通信(发送)进行包装,线程使用调用方式调用串口发送,mesh消警应答部分占用串口直到发送完成### 5、keepalive未定义时,使用默认150s 6、修复tts播报无法连续播报50以上汉字、150以上数字的问题 7、解决远程消警、组网消警后,设备仍会进入5min等待消警的问题 8、将py脚本(除main.py)均进行加密操作,将main.py脚本启动内容移植到testmain.py中;自检程序移植到self_test.py中 9、完善雨量、水位mesh报警播报内容,将防空音音频文件进行2次播报 **********GX-820-H01-V0.1.3-25040301********** 1、优化GX_Cloud_Alarm_MqttsTransfer类中callback方法: a:补充平台消警状态更新 2、修改music类: a:增加check_xiaojing和music_end_status方法,替换原来的播放过程中的消警处理 b:优化play_music_process方法,增加try抛异常,并优化消警计时器的关闭 3、修改BasicSettingCommand类: a:修改set_lora_mesh方法,补充lora_net和warn_volume两个数据的配置 4、修改Prod_cloud_alarm类: a:优化prepare方法,增加try抛异常,在重复6次检测sim卡状态失败后进行重启 b:去除定位失败后的重新定位操作:原来的check_alarm_net线程中有定时定位处理 5、修改Uart_lora_mesh类: a:修改mesh_cancel_paly_music方法,补充消警状态以及关闭功放 b:修改check_alarm_net方法,增加try抛异常,并修改定位进入条件 ####**********GX-820-H01-V0.1.4-25040701**********#### 1、修改Send_mesh_xiaojing类 a:名称改为mesh_ack_alarm,应答线程在初始化过程中启用 b:在应答过程中,收到连续报警应答信号,则采用第一个消警应答信号进行应答 2、修改BasicSettingCommand类: a:修改set_lora_mesh方法,对mesh参数做合法判断 3、修改Uart_lora_mesh类: a:修改默认音量有11改为9 b:修改lora_mesh_cfg方法,对配置参数做合法判断,并增加初始化的关灯操作 c:修改check_alarm_net方法,在联网异常重启过程中,如果有消警应答或者播报,则需要等待应答成功或者播报完成后进行重启,重启等待时长2秒 ####**********GX-820-H01-V0.1.5-25040801**********#### 1、删除cloud_alarm_socket,TcpSocket,UdpSocket三个类 2、修改AbstractDtuMqttTransfer类: a:修改publish方法,增加发送内容打印,格式:'[CH-{}],cli:{},msg:{}',CH信道编号,cli客户端,msg数据内容 3、修改GX_Cloud_Alarm_MqttsTransfer类: a:修改__init__方法,增加net_cnt,net_index,net_time三个mesh参数 b:修改connect方法,在登录帧中增加net_cnt,net_index,net_time三个mesh参数的上报 4、修改Music类: a:修改__init__方法,增加light_state参数,用于代表light_pwm_open和light_pwm_close情况(同步修改light_pwm_close和light_pwm_open两个方法) b:修改play_music_process方法,在播报过程中优先保证报警状态的展示(同步降低电源检测播报优先级) 5、修改Prod_cloud_alarm类: a:修改dialing方法,删除self.music.play_music_put({'volume':self.music.volume})以及APN设置失败和拨号失败的语音提示 b:修改_serv_connect方法,删除tcp和udp链路响应 6、修改mesh_module类: a:修改get_mesh_config方法,确保能提取有效的mesh参数 7、修改Uart_lora_mesh类: a:修改lora_mesh_cfg方法,只有当查询出来的mesh参数与存储的mesh参数不同才配置mesh模块 b:修改check_alarm_net方法,链路重连条件由error_count >= error_threshold and mesh_ack.thread_running == False and music.pa_status == 0改为error_count >= error_threshold and mesh_ack.thread_running == False and music.light_state == False 8、修改E_power_in_out_class类: a:增加get_power_light_color方法,用于获取播报过程中的警灯颜色:在播报过程中参数电源检测播报,则沿用当前播报的警灯颜色,否则断电警告为红色闪烁、接电提醒为绿色太极 b:修改E_power_run方法,先检测再向各信道上报供电情况;同时降低电源检测播报优先级由250改为0 ####**********GX-820-H01-V0.1.6-25040901**********#### 1、修改设备的日志打印 2、修改Prod_cloud_alarm类: a:删除_serv_connect方法中除mqtts和mqtt以外的协议响应 3、修改mesh_module类: a:修改set_alarm_status_display方法,增加重发次数,默认次数为1,增加alarmstate默认状态为0 b:修改set_broadcast_status_display方法,增加重发次数,默认次数为1,增加msgstate默认状态为0 c:修改set_other_display_status方法,增加重发次数,默认次数为1,增加showstate默认状态为0 4、修改LED_Controller类: a:根据mesh_module类的修改,增加重发次数的设置,每条指令最多重发4次 5、修改Uart_lora_mesh类: a:修改send_hujiaoqi_to_network方法,去除f上报数据的or循环中的return b:修改check_alarm_net方法,信道连接异常次数由原来的5次增加到60次,单次检测间隔还是1分钟 6、修改run方法: a:删除无用的线程栈修改的部分代码 b:删除栈自动回收使能,放到moren_run方法中,确保第一时间使能 c:将10秒延时放到lora_mesh_class.run()后,确保mesh模块开机后能快速使用 7、修改open_device方法: a:删除mp3_play.set_pa(Pin.GPIO35,2)后的mp3_play=audio.Audio(0)(重复了) 8、修改E_power_in_out_class类: a:删除E_power_run方法中pm.autosleep(0)后面的self.E_power_status.read()(多余)