我一直在研究这个问题差不多一个月了.看来我被推向各个不同的方向.我希望有人可以帮我解答.
给出我正在寻找的简要模型:
我有一个网络服务器,它有我需要通过互联网打印到热敏打印机的信息.我不想让电脑成为中介.我没有必要进行必要的编程来实现这一目标.我的问题来自于找到我能够编程的设备.我遇到的第一个问题是找到一个热敏收据打印机,它有一个内置的网络服务器,我可以编程来轮询我的服务器以获取打印信息.目前没有可用于此目的的打印机.我已经和Zebra,Epson,Brother等人谈过了.如果两个设备都在同一个网络上,例如手机打印机和移动电话所连接的同一网络上的打印机,大多数都有SDK的打印解决方案.做到这一点.我需要打印机能够轮询我的网络服务器.所以我去寻找另一种选择.也许我可以将无线USB迷你网络服务器连接到打印机以达到我的最终目标.我认为这将是一项简单的任务,但事实并非如此.我在*.com上为用户提出的问题是,有没有人遇到类似的问题并知道解决方案?我再次与不同的制造商交谈,他们都没有能够提供帮助.我想他们中的大多数人甚至都无法理解我在说什么.我希望那些在这里编程的人能理解我的问题.
以下是我想要做的本土回旋解决方案.
http://proto-pic.co.uk/internet-connected-thermal-printer-kit/
再次上面这个解决方案要求我从头开始构建它. berg云是另一种选择,但它们不允许我控制我的Web服务器,一切都贯穿它们.请随意提问,因为我不希望快速回答这个问题.我希望有程序员遇到类似的问题.
另外要参考我为这个问题选择的标签,我想也许我可以将一个设备(Web服务器微控制器设置)连接到热敏打印机,该打印机可能有一个运行网络服务器的JVM,然后我可以通过USB与打印机进行通信.我知道Java对于微控制器而言比C差得多,但我所知道的.我很乐意听到任何其他解决方案.
解决方法:
我已成功创建迷你websocket服务器与ZD420 – LinkOS供电的Zebra打印机交谈.
配置打印机我写了小python实用程序(在linux上测试)
https://github.com/elops/zebra-wifi-tool
此工具将设置打印机连接到wifi网络,并通过该wifi网络连接到weblink位置.
weblink位置是您的websocket服务器的URL的Zebra名称.您可以通过websocket轻松调整配置,发送打印作业等.
websocket服务器的Python实现使用asyncio和websockets用python 3.5编码
核心功能基本上来自这里的文档c / p
http://websockets.readthedocs.io/en/3.4/intro.html#both
你需要3个协同程序:
> 1x连接处理程序
> 1x制片人
> 1x消费者
连接处理程序
这个协同例程负责监听websocket上发生的事情,包括数据接收或数据发送.无论哪一个发生,其他一个被取消,它循环.
制片人:
该协同例程用于通过活动websocket将数据推送到IoT设备.
消费者:
该协同例程由IoT设备通过websocket发送到服务器的数据提供.
Websocket握手看起来像这样
start_server = websockets.serve(handler,’localhost’,6000,subprotocols = [‘v1.weblink.zebra.com’],extra_headers = {‘Content-Length’:’0’})
整个工作就像魅力,非常可靠,高度可配置和功能丰富的解决方案,适用于需要从Web应用程序打印到连接到互联网的打印机的各种场景.我用ZD420打印机配对条形码扫描仪.扫描数据可以通过用于打印的相同websocket打印机轻松发送到websocket服务器,因此您可以为Web上的POS环境创建强大的解决方案.