喷墨打印机最烦人的就是堵头,特别是偶尔使用的打印机,用了连供系统后,可能由于不是原厂墨水,一段时间不使用后就容易堵头,要清洗很多次才能解决,甚至不能解决。
由于之前用树莓派通过cups将普通打印机做成网络打印机,打印机网页管理界面支持喷头清洗功能,打印机长期不关,由此想到可以编写脚本定期(如2-3天)清洗喷头,避免堵头。
大致做法如下:
1.监测打印机管理界面清洗喷头的POST过程,提取POST关键数据。
2.编写python脚本,模拟网页管理界面清洗喷头动作。
import requests
from bs4 import BeautifulSoup
import sys
url='http://[ip]:631/printers/Epson_Stylus_Photo_T50'
req=requests.get(url)
soup=BeautifulSoup(req.text,'lxml')
ids=soup.find_all('input')
found=False
for id in ids:
print(id)
if id.attrs['name']=='org.cups.sid':
found=True
break
if not found:
#print('id not found!')
sys.exit(0)
sid=id.attrs['value']
cookies={'org.cups.sid':sid}
data={'op':'clean-print-heads','org.cups.sid':sid,'Authorization':'Basic [密码]'}
req=requests.post(url,data=data,cookies=cookies)
3.添加cron定期任务,定期调用python脚本,执行清洗喷头动作。