02、2G流量版收款播报机写码
注意:该写码方式,仅仅是为了客户在调试阶段方便更换联网参数。在生产的时候,建议打印设备码贴纸,我们通过指定工具用扫码枪写入到设备中。这样可以最大程度保证一机一码,而且联网参数对用户是不可见的。因为该功能对终端用户不开放,所以我们的设备自带的 USB 线仅具备充电功能,不具备数据传输功能,不能识别到设备 U 盘。
一、将设备关机,用 USB 数据线连接电脑和设备,在“我的电脑”中会显示设备 U 盘。USB 数据线接口型号参考下图“播报机USB接口”
若插入USB线没有出现U盘,但播报机USB接口处的指示灯亮了,一般都是设备未关机,或者 USB线只能充电,不具备数据传输功能,请更换成数据线。
二、打开设备U盘,在其中新建文本文件“para.txt”,按照协议规则编辑参数写入到文件中(注意:该方式写码只是方便调试,并不用于工厂生产)
1.自己搭建的mqtt服务器
{"clientID":"B002TTSTESTDEVICE001","type":"0","domain":"47.107.101.178","port":"1883","username":"admin","password":"Admin@1234567890","topic":"B002TTSTESTDEVICE001"}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
clientID | 字符串 | 20 | MQTT 设备ID,唯一标志一个设备 | |||||
type | 字符串 | 1 | 固定取值为"0" | |||||
domain | 字符串 | 32 | MQTT 服务器域名或IP地址 | |||||
port | 字符串 | 6 | MQTT 服务器端口号 | |||||
username | 字符串 | 16 | mqtt username | |||||
password | 字符串 | 32 | mqtt password | |||||
topic | 字符串 | 32 | mqtt topic,权限必须是 订阅和发布 |
2.阿里云物联网公有实例 MQTT
{"type":"1","ProductKey":"a1owulEnjRQ","DeviceName":"B002TTSTESTDEVICE001","DeviceSecret":"690d23addc7de8fc2cc648c5094b61b0"}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
DeviceName | 字符串 | 20 | 设备ID,唯一标志一个设备。在阿里云后台创建设备时生成 | |||||
type | 字符串 | 1 | 固定取值为"1" | |||||
ProductKey | 字符串 | 11 | 阿里云物联网 MQTT 产品ID,在阿里云后台创建产品时生成 | |||||
DeviceSecret | 字符串 | 32 | 阿里云物联网 MQTT 设备密钥,在阿里云后台创建产品时生成 |
3.百度云物联网 MQTT
{"type":"2","ProductKey":"dfcqbwj","DeviceName":"BAIDU2GBOX0001","DeviceSecret":"tck6xfj5fa3cyife"}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
DeviceName | 字符串 | 20 | 设备ID,唯一标志一个设备。在百度云后台创建物影子时生成 | |||||
type | 字符串 | 1 | 固定取值为"2" | |||||
ProductKey | 字符串 | 7 | 百度云 MQTT 产品ID,创建物模型时生成 | |||||
DeviceSecret | 字符串 | 16 | 百度云 MQTT 设备密钥,创建物影子时生成 |
4.腾讯云物联网 MQTT
{"type":"3","ProductKey":"K3ISBNQWQD","DeviceName":"B002COMMONTESTDEVICE","DeviceSecret":"KaUCMeuTMuB7q2n5bcOcsA=="}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
DeviceName | 字符串 | 20 | 设备ID,唯一标志一个设备。创建设备时生成 | |||||
type | 字符串 | 1 | 固定取值为"3" | |||||
ProductKey | 字符串 | 10 | 腾讯云 MQTT 产品ID,创产品时生成 | |||||
DeviceSecret | 字符串 | 24 | 腾讯云 MQTT 设备密钥,创建设备时生成 |
5.阿里云微消息队列 MQTT
{"type":"4","DeviceName":"B002TTSTESTDEVICE001","instanceID":"post-cn-v0h1c8gxk01","AccessKeyID":"LTAI4Fi2VcM5QoZZPyCbtR86","AccessKeySecret":"5QKDIsFxhNg9NT5D9b2oJKYJZWQGB8","GroupID":"GID_PVP","topic":"TID_VP"}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
DeviceName | 字符串 | 20 | 设备ID,唯一标志一个设备。不需要在后台生成 | |||||
type | 字符串 | 1 | 固定取值为"4" | |||||
AccessKeyID | 字符串 | 24 | 在账户中的 AccessKey管理中获取 | |||||
AccessKeySecret | 字符串 | 30 | 在账户中的 AccessKey管理中获取 | |||||
GroupID | 字符串 | 16 | 需在后台创建 | |||||
topic | 字符串 | 32 | 需在后台创建,权限为 订阅和发布 |
6.阿里云物联网私有实例
{"type":"5","domain":"iot-cn-nif1wk3zp2m.mqtt.iothub.aliyuncs.com","ProductKey":"g200FNrFPSG","DeviceName":"SN202000000","DeviceSecret":"57fca6f90b6cacbe3e25b13c82aba65e"}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
DeviceName | 字符串 | 20 | 设备ID,唯一标志一个设备。在阿里云后台创建设备时生成 | |||||
type | 字符串 | 1 | 固定取值为"5" | |||||
domain | 字符串 | 43 | 企业版实例 MQTT 的 公网接入点网址 | |||||
ProductKey | 字符串 | 11 | 企业版实例 MQTT 产品ID,在阿里云后台创建产品时生成 | |||||
DeviceSecret | 字符串 | 32 | 企业版实例 MQTT 设备密钥,在阿里云后台创建产品时生成 |
7. TCP/IP 服务器 socket 长连接
{"clientID":"LS0000120200721B2000","type":"6","domain":"49.235.78.40","port":"24080"}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
DeviceName | 字符串 | 20 | 设备ID,唯一标志一个设备。在阿里云后台创建设备时生成 | |||||
type | 字符串 | 1 | 固定取值为"6" | |||||
domain | 字符串 | 43 | 服务器域名或IP地址 | |||||
port | 字符串 | 11 | 服务器端口号 |
三、“设备信息.txt”文件是设备开机后自动生成的,就算删除也没关系,其中记录了设备中的一些参数。内容示例如下:
“设备SN”就是 devicename 或 clientID,生产时可做成二维码贴纸,贴到机身上
四、可通过“setting.txt”文件修改系统相关配置,内容示例如下:
(注意:该方式只是方便客户调试,不建议用于生产。)
{
"mp3": 0,
"poweron": "\u6B22\u8FCE\u4F7F\u7528\u4E07\u80FD\u6536\u6B3E\u64AD\u62A5\u673A",
"poweroff": "\u8C22\u8C22\u4F7F\u7528",
"apn": "cmnet",
"plmn": "46000",
}
字段 | 参数类型 | 最大长度 | 参数说明 | |||||
mp3 | 整形 | 1 | 0:以TTS播报设备声音;1:以MP3文件播报设备声音 | |||||
poweron | 字符串 | 32 | TTS开机铃声,中文 UTF8编码 | |||||
poweron | 字符串 | 16 | TTS关机铃声,中文 UTF8编码 | |||||
apn | 字符串 | 16 | 指定上网的 apn 名称 | |||||
plmn | 字符串 | 8 | 指定上网的 mcc mnc |
五、当 play=1 时,可在设备 U盘中放入MP3文件,设备就会优先播报U盘中的MP3文件。若想更换默认MP3文件,可通过此方式先确认MP3语音效果,然后再将确认好的MP3文件打包发给我们内置到代码中发布量产版本。
(注意: 该功能从版本 20210615 开始支持,MP3文件名不能更改,否则会无法识别。该方式仅用于调试,并不用于量产)
MP3文件名 | 语音内容 | |||
channel0.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel1.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel2.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel3.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel4.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel5.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel6.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel7.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel8.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
channel9.mp3 | 收款方式名称,比如微信收款、支付宝收款 | |||
0.mp3 | 数字0 | |||
1.mp3 | 数字1 | |||
2.mp3 | 数字2 | |||
3.mp3 | 数字3 | |||
4.mp3 | 数字4 | |||
5.mp3 | 数字5 | |||
6.mp3 | 数字6 | |||
7.mp3 | 数字7 | |||
8.mp3 | 数字8 | |||
9.mp3 | 数字9 | |||
shi.mp3 | 十 | |||
bai.mp3 | 百 | |||
qian.mp3 | 千 | |||
wan.mp3 | 万 | |||
point.mp3 | 点 | |||
yuan.mp3 | 元 | |||
advert1.mp3 | 播报收款之后的广告语 | |||
advert2.mp3 | 播报收款之后的广告语 | |||
advert3.mp3 | 播报收款之后的广告语 | |||
advert4.mp3 | 播报收款之后的广告语 | |||
lowbattery.mp3 | 电量低,请充电 | |||
charging.mp3 | 正在充电 | |||
stopcharge.mp3 | 结束充电 | |||
fullbattery.mp3 | 电池电量充足 | |||
curr_batt.mp3 | 当前电量,百分之 | |||
prev_order.mp3 | 上笔交易 | |||
prev_order_empty.mp3 | 没有上笔交易 | |||
server0.mp3 | 服务连接失败 | |||
server1.mp3 | 服务连接成功 | |||
signalweak.mp3 | 电话卡信号弱 | |||
网络*/netbreak.mp3 | 网络断开 | |||
connecting.mp3 | 正在连接移动网络,请稍后 | |||
net0.mp3 | 网络连接失败 | |||
net1.mp3 | 网络连接成功 | |||
volinc.mp3 | 音量增大 | |||
voldec.mp3 | 音量减小 | |||
volmax.mp3 | 音量最大 | |||
volmin.mp3 | 音量最小 | |||
paraerror.mp3 | 设备参数错误 | |||
nosimcard.mp3 | 没有检测到电话卡 | |||
invalidsim.mp3 | 电话卡无效 | |||
signalweek.mp3 | 电话卡信号弱 |