Android 收银机Wifi 连接厨房厨单打印机

Android 收银机Wifi 连接厨房厨单打印机

说明

第一次集成热敏打印机,对此相关知识为零,以快速接入为目的。

这里主要记录说明在集成过程中遇到的问题以及排查解决的办法。完整可用Android studio项目工程实现参考连接 Android 收银机Wifi 连接厨房厨单打印机

使用场景

餐厅收银场景,收银台距离后厨距离远。先排除USB数据线和蓝牙模式。因为USB数据线长度有限制、蓝牙有效范围在10米左右长距离会出现连接不稳定情况。于是采用局域网的方式通过WiFi连接方式。Android收银机通过网线或者WiFi方式连接同一网段中。

硬件选型

热敏打印机型号:思普瑞 SP-POS88VMF,选择原因:三种连接模式都支持,方便以后拓展,价格相对便宜些,控制成本。

核心代码思路:

  1. socket进行连接打印机
  2. 进行属性参数设置(字号、间距、换行等等)
  3. 进行写入
  4. 关闭socket连接

//使用socket进行连接IP地址和打印机端口号

socket = neSocket(host, port);

完整可用代码工程请参照 链接  Android 收银机Wifi 连接厨房厨单打印机

我们主要将下socket链接不上打印机的问题。问题分析以及解决办法。

首先根据打印机的说明文件,我们打印自检清单看到这款打印机的默认IP: 192.168.1.114 打印机端口号:9100 代码配置完成后。将网线连接好打印机。开始运行提示:java.net.ConnectException: Connection refused: connect,连接被拒绝。

我们查询这个错误的原因有一下几点:

  1. 机端口组合不允许使用防火墙
  2. 服务器未运行用
  3. 客户端和服务器,它们中的任何一个或两个都不在网络中或者不在同一网段中。
  4. 端口号被占用

思考下,我们这个不是后台服务器,所以不存在1、2的情况。由于我们之连接一台设备 端口被占用的可能性也很小。于是只有第三种原因。于是我们进行联网测试,电脑连接网线正常,同根网络连接打印机网口指示灯闪烁正常。那只有一种可能不在统一网络中。

在电脑中ping 默认IP:192.168.1.114 发现正常。再用telnet 测试端口号,telnet 192.168.1.114 9100 发现不通。难道是端口号被占用?想了下可能性不大,再进行排查,拔掉打印机网线,在进行ping IP:192.168.1.114 发现也正常,这就比较坑了,公司有台设备占用了这个IP,并且9100端口拒绝访问。

寻找厂家协助

好吧,那只有想办法替换打印机的IP地址了,翻了使用说明并未找到如何修改打印机IP的方法,慢慢想下这种小型热敏打印机的使用场景,只要厂家卖得出去肯定会设计设置IP方法的。于是网上搜索这个厂家官网(官网也可以找购买的商家咨询)找到了售后电话,电话沟通后添加微信,说明遇到的问题,对方给予解释说明并发来一段打印机自动获取IP方法的视频和手动设置IP的方法。

寻找IT同事协助

先说下打印机自动获取IP的办法,测试后发现打印机无法自动获取IP,咨询公司IT部门同事,得到原因是公司的网络设置中关闭了DHCP所以无法自动获取成功。

再按照给出的手动获取的方法,我们先把自己电脑的IP修改为与打印机一致IP段,用网线连接打印机和电脑,在浏览器中输入:http://192.168.1.114 进去设置页面,将公司固定分配的空闲IP地址填入进去。

 

修改代码中的IP地址,进行编译运行,连接成功!!!测试打印成功!!

 

后面就是修改打印机排版格式了。这个代码中有具体实现照写即可。

总结

接触新东西出问题不要怕,先进行问题分析、定位排查、找正确的人寻求帮助。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

七彩麻雀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值