赞
踩
逗老师今年拿到了无线电执照,加入了HAM的圈子。作为一个资深折腾狗,又可以在新的领域继续折腾了。
作为HAM的第一篇分享,本文介绍如何通过Python编写摩托罗拉CPS程序保存的ctb文件,进而实现导入通讯录的操作。
这样,摩托罗拉的手台,也可以在通联的时候直接显示对方呼号咯!!
项目地址:
Import-DMR-ID-to-MOTO-CPS
相信CPS大家应该已经玩的挺6了吧,读频,保存。
这里保存的时候,文件名保存成:Untitled1.ctb
,写别的待会脚本不认吼。
按照如下的格式准备DMR ID列表,保存成csv文件
DMR_ID | 呼号 | 姓名 |
---|---|---|
1023001 | VE3THW | Wayne Edward |
注意
请注意你的对讲机能允许的最大联系人数量,例如P8668i能导入1000个联系人,所以需要筛选一下。
逗老师的办法是,去BM Network上,导入最近1个月有通联过的活跃DMR ID,然后再去掉一些只通联过1次的老哥们。剩下的差不多也就是1000来个。
BM Network导出ID可以去如下地址:
https://brandmeister.network/?page=contactsexport
把这几个文件放在一起,然后,运行new.py
如果缺运行库的,自行pip install
一下
运行脚本之后,会创建三个新文件
Untitled1.xml---------原始ctb文件解码后生成的xml文件
Untitled1_new.xml-----追加联系人列表后的xml文件
Untitled1_new.ctb-----根据新的xml文件编码生成的ctb文件,用于写频
使用CPS软件打开Untitled1_new.ctb,发现联系人已经导入成功了。
然后只需要写入到对讲机里就可以咯。
注意
如果写频软件报如下错误,是因为联系人列表数量超出电台允许的最大长度。重新筛选一下列表,重新生成ctb文件,重新写频就好。
对讲机会卡在【编程模式】的界面,不用慌,淡定的重启一下对讲机就可以了。
然后,你就可以开心的在电台上看到对方DMR ID对应的呼号咯!就像这样:
到上面位置,功能都演示完了。如果有对CPS软件感兴趣的,继续往下看,开发的过程中有几个坑。咱们可以分享一下:
george-hopkins/codeplug
项目基于george-hopkins作者的codeplug项目进行优化,主要增加的对xml文件的直接修改和联系人追加。
//APP_PARTITION//DIGITAL_UCL_DLH_TYPE_GRP//DIGITAL_UCL_DLT_TYPE//DIGITAL_UCL_DLL_TYPE
解码ctb文件需要使用CPS自带的秘钥,george-hopkins老哥同样准备了一个项目,用户获取CPS内的秘钥。
老哥原本意思是不引用任何MOTO的官方内容,需要使用者自行从MOTO CPS客户端的安装目录中提取。
但是逗老师头铁,直接大家生成好了,codeplug.cfg文件内存储的就是秘钥。公开的秘钥。
george-hopkins/codeplug-prepare
基本就这样了,对于开发者来说,这个项目非常简单。但是对于HAM们来说,如果理解起来费劲的话,也可以私信联系我帮忙处理。
这里是BI1FQO,DMR ID:4606666,希望各位HAM通联愉快!
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。