使用Linux机器无线连接打印机的浏览器界面

使用Linux机器无线连接打印机的浏览器界面

我正在尝试使用树莓派(这个因素不应使其与任何其他 Linux 机器有任何不同,但可能会使应用程序更有意义)来远程查看网站。例如,如果我想要与之交互的打印机,它托管浏览器用户界面并通过 USB 输出,我希望能够在手机浏览器中从我的手机无线连接到该打印机。目前我正在使用 Pi-3 连接到打印机,并使用ightvnc 使用 Pi 的板载 wifi 远程查看 Pi GUI(需要明确的是,Pi 没有连接到互联网,我的手机只是连接到 Pi 的本地网络,使用 hostapd)。一旦我通过 VNC 连接到 Pi,我就会打开 Pi 的网络浏览器,然后输入打印机的地址(类似于http://192.xxx.x.xxx) 访问浏览器界面。从那里,我可以做我需要做的一切(将文件发送到打印机,在打印时接收打印机的反馈等)。它比我想要的要笨重一些,并且更愿意能够在手机中打开浏览器并直接与我的打印机连接。有没有办法做到这一点?我将向打印机发送命令并从中获取反馈。

答案1

有几件事。

首先,一些打印机制造商拥有您可以控制打印机的应用程序。也许这会对你有帮助。

但你在这里遇到了一个两难的境地。如果您从 Pi 上的浏览​​器运行打印机,则当您进行 http 事务时,客户端就是 Pi。因此,如果网页显示“浏览到要打印的文件”,则您实际上正在浏览 Pi 的文件系统。如果该页面在手机的浏览器中打开,它将在手机的文件系统中查找该文件。

这可能不是您想要的。

基本上,您可能希望 Pi 与打印机交互而不是与手机交互。

也许有某种方法可以让您的手机将 Pi 的文件安装为网络文件服务器驱动器或 Pi 中的其他内容,然后从手机的文件系统进行打印变得可行。我不知道。

我自己可能会在手机上安装 ssh,并在连接到 pi 时通过命令行打印 stuff 命令。我很确定 Pi 支持CUPS打印。但似乎没有多少人愿意再做这种事情了。

答案2

您可以将 PI 的 IP 的 Web 端口 NAT 到打印机的 IP。

在您的 PI 上运行以下命令:

iptables -t nat -A PREROUTING -d X.X.X.X -p tcp --dport 80 -j DNAT --to-destination Y.Y.Y.Y

其中 XXXX 是您 PI 的 IP 地址,YYYY 是打印机的 IP 地址。

完成此操作后,您应该能够通过输入 PI 的 IP 地址在手机浏览器中打开打印机 Web 界面。

该命令不是永久性的,您需要在每次重新启动后运行它。使其永久化取决于您在 PI 上运行的发行版,大多数情况下将上述 iptables 行添加到 /etc/rc.local 应该使其永久化。

相关内容