先确认你的是什么猫是华为的猫吗?实例化通道哪里,把Huawei改成你的猫的品牌 产品波特率确定是9600吗?波特率不对无法AT也会返回无设备错误 SIMPIN卡如果没有的话建议你也注释他了,不要。 中心号码可填不填也注释了试试。 然后ervice.getInstance().S.SERIAL_POLLING=TRUE;轮询注释掉试试, |
zhaoliang0723 发表于 2017-12-26 08:33 首先你的是中兴物联模块组做的设备 smslib没有封装这个品牌及型号完全匹配的指令集,但你可以用标准指令进行发送和接收短信,一般模块的发送和接收指令及初始化指令大同小异通用的。 从你的ATI指令有对应值返回,证明你已经清楚你设备的端口号和波特率没错无了 SerialModemGateway gateway = new SerialModemGateway("随意字符没特殊要求中文都可以","COM4",115200,"",null);这样试试 刚你也联系我们客服了,客服那边也跟你说了 No response from device., 错误提示是端口不正确,这个原因有很多的 1、端口配置数据的确错了导致 2、串口被其他程序占用了 3、某个指令你的猫返回的值不符合程序导致捕获超时返回 4、其他 可以排除1,2导致的,剩下3问题。估计是这个错指令at+cpos=0导致你的设备超时报错,可以在源码里面找到这个类ATHander.java注释掉他这个指令的不运行后重新封装调用来解决,或者是这个AT+CPIN?这个指令可能性不大如果是这个的话证明你的设备不支持你的卡,这个指令有前置因素才能成立的。 最后一个需要排除的是你的猫是否要启用轮循模式? 方式1)、在jvm中,添加-Dsmslib.serial.polling启动参数 方式2)、在JAVA代码中,在调用startService之前,显示启用轮循模式 Service.getInstance().S.SERIAL_POLLING = true; //启用轮循模式 要启用轮循的猫如果没启用,那么程序只能给串口输出而无法获取串口的输入数据导致,超时错误,第一个指令都没返回那当然程序就会说No response from device。设备不存在了都不能通讯 |
admin 发表于 2017-12-19 19:35 您好,我用AT命令查询了一下 ATI Manufacturer: ZTEWelink Model: ME3630 Revision: ME3630C1CV1.0B06 IMEI: 861164036720524 把品牌改为ZTEWelink,还是报No response from device., 您说的实例化通道是什么意思?第一次用到短信猫,网上的资料也有限,小白一个, SerialModemGateway gateway = new SerialModemGateway("modem.com1","COM4",115200,"wavecom",""); 这句代码的第一个参数是网关ID,从哪里获得?第二个是串口名称,第三个是波特率,第四个是品牌, 第一个参数不知道填什么.求教啊 |