最近开了一家拼多多的网上商店,在网上购买了一台汉印N31标签打印机,这台打印机目前只支持Windows的系统有驱动。整体使用体验还不错,问题出在了自己的办公桌实在是有点小,放了打印机占用了很大一块地方,感觉整体有点乱。外加使用的笔记本上没有那么多USB口,导致电脑经常要插拔USB实现打印机连接,U盘连接。
因为以上原因我想到了把打印机放到空置的地方,省出书桌上的位置。但是由于打印机的缘故无法使用cups之类的找到linux上的驱动,只能使用windows系统安装系统。通过百度,谷歌网络找到了几种直接将USB通过网络进行共享的方式来实现。
网上实现的方式主要有:virtualhere、usb/ip、USB over Network等方式。经过挑选最终选择了使用virtualhere的方式来进行实现。virtualhere免费赠送个usb接口共享,需要增加则需要购买,官网上的售价是$49。不过我家庭日常使用一个接口已经足够。刚好手头上也有一个树莓派P1,用来对实现。
下载界面:VirtualHere服务端界面
此下载界面有针对不同服务器版本的下载,此处我们下载通用版本,此版本免费一个接口,其余的需要收费。树莓派P1下载地址:树莓派版的VirtualHere下载地址
- SSH方式登录树莓
- 在树莓派中下载VirtualHere,并赋予权限
sudo wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
sudo chmod +x ./vhusbdarm
sudo mv vhusbdarm /usr/sbin
- 进入到树莓派的/user/sbin目录,并运行一次VirtualHere
cd /usr/sbin
sudo ./vhusbdarm
- 运行起来后通过Ctrl+c的方式中断运行,此时在当前目录下会生成一个config.ini文件
- 创建 /etc/systemd/system/virtualhere.service文件
sudo vim /etc/systemd/system/virtualhere.service
- 在文件中填入一下内容
[Unit]
Description=VirtualHere USB Sharing
Requires=networking.service
After=networking.service
[Service]
ExecStartPre=/bin/sh -c 'logger VirtualHere settling...;sleep 1s;logger VirtualHere settled'
ExecStart=/usr/sbin/vhusbdarm
Type=idle
[Install]
WantedBy=multi-user.target
- 保存退出后,修改config文件
sudo vim /usr/sbin/config.ini
- 修改文件中的内容为:其中It,EasyFindId,EasyFindPin内容为源文件自动生成。其余的额外配置介绍查看官网地址:VirtualHere管网配置介绍
It=XXXXXXXXXX
EasyFindId=XXXXXXXXXXXXXXXXXXXXX
EasyFindPin=XXXXXX
UseAVAHI=1
#屏蔽不需要共享的USB设备
IgnoredDevices=1435/0427,424/EC00
#当Client端断开连接,那么这个设备就会重新连接树莓派执行树莓派的任务
AutoAttachToKernel=1
ServerName=VirtualHere@Raspberry Pi
- 保存退出后,在树莓派中运行一下命令
#重新加载服务配置命令
sudo systemctl daemon-reload
#设置开机自启virtualhere
sudo systemctl enable virtualhere
#启动virtualhere服务
sudo systemctl start virtualhere
#查看virtualhere服务状态
sudo systemctl status virtualhere
#停止virtualhere服务
sudo systemctl status virtualhere
- 配置完成后下载virtualhere的客户端进行连接,下载地址:客户端下载地址
- 客户端配置界面
- 选择使用usb之后,其余打印机配置当做正常的USB连接就可以使用。