这个拍立得很特别,小票纸都能当相纸用?

内容分享8小时前发布
1 0 0

话说这个坑从开始有想法,到付诸实施,到最终呈现的这篇帖子,足足拖延了6个月,看来我已经是重度懒癌患者了╮(╯▽╰)╭

老规矩,先上成品图:

App页面截图:

这个拍立得很特别,小票纸都能当相纸用?

实际打印效果截图:

这个拍立得很特别,小票纸都能当相纸用?

请自动忽略白色线条吧,这种打印机芯只能这样了,跟厂家交流过,电机的驱动能力只有这样,在启动的一瞬间,加热会有一段时间延迟,导致未上色,所以出现白条。

材料准备

树莓派一台,B/B+/2/3版本随意

USB转ttl串口模块,PL2303/CP2102/FT232/CH340皆可

锂电池组,电压要求高于7V,两节串联

电源适配器,5V/2A

58mm热敏打印机芯和控制板一套

路由器,网线,杜邦线若干

设计思路

简单的说,就是在树莓派上运行着一个服务器,而手机上的app则是客户端。

app扫描到服务器的IP和端口后,就可以选择手机内的一张图片,发送给服务器,服务器接收完成后,对图片进行裁剪和旋转等适配纸张的操作,然后将转换后图片数据以热敏打印机的通信协议发送给打印机。最后就可以看到打印机吐出一张照片啦

制作方法

第一,当然是让打印机冻起来,啊不,是动起来。按照打印机的文档里介绍的,写一段测试数据,看看打印机打出来的效果是不是如预期所想。

这个拍立得很特别,小票纸都能当相纸用?

接着就是让程序来干之前手动干的活咯,让python代码来输出这段测试数据,看看是不是跟手动输入的效果一样。

到这一步,就是这个功能的最重大的一步了。让python读取一张图片,将图片转换成适合纸张宽度的分辨率,然后按行将图片的位图数据发给打印机。当然每一行的数据要包括进打印协议里去,否则打印机会疯掉,吐出一大堆的乱码哦。如果这步成功,那么可以看到打印机打印了一张完整的图片。

这个拍立得很特别,小票纸都能当相纸用?

前面的工作完成了整个工程的40%,剩下的60%要分两个部分,服务器端占了30%。服务器依然还是用python来设计。选用轻量级的bottle框架,自带一个提议的服务器程序,设计3个接口,用于查询打印机状态,上传图片和执行打印操作。

这个拍立得很特别,小票纸都能当相纸用?

另外30%则是上面看到的手机app了,配合前一步设计的接口,app的打印操作流程也是按照查询打印机机状态——上传图片——执行打印机操作的思路来开发的。各种抓bug和反复测试。

这个拍立得很特别,小票纸都能当相纸用?

PS

后来测试过程中常常出现图片文件稍稍大一点就上传失败的情况,这个时候连ping都ping不通了。树莓派B版本的供电是个大问题啊,usb无线网卡负载一重就挂了。解决办法是换用有线网络,之后一次问题都没出现过了,上传图片几乎都是秒传(大局域网嘛)。

制作完成

整体图

这个拍立得很特别,小票纸都能当相纸用?

热敏打印机+控制板(硬照)

这个拍立得很特别,小票纸都能当相纸用?

树莓派一台(硬照)

这个拍立得很特别,小票纸都能当相纸用?

锂电池组

这个拍立得很特别,小票纸都能当相纸用?

成品图

Tesla

这个拍立得很特别,小票纸都能当相纸用?

羊驼

这个拍立得很特别,小票纸都能当相纸用?

Saber

这个拍立得很特别,小票纸都能当相纸用?

狗狗

这个拍立得很特别,小票纸都能当相纸用?

大航海

这个拍立得很特别,小票纸都能当相纸用?

VF-1 女武神

这个拍立得很特别,小票纸都能当相纸用?

后记

写这篇文章的时候,突然又想到,实则应该增加一个打印便签条的功能,毕竟,热敏打印机最初就是用来打印票据的。好吧,我又给自己挖了一个坑,那么再等后面填咯!

这个拍立得很特别,小票纸都能当相纸用?

果壳空间和果壳实验室联手组成果壳双创空间!在这里,创业团队可以享受果壳实验室提供的评测报告,获得来自创客的提议;创客们也可以在这里提供你的脑洞想法,我们共同实现!此外,还有更多有趣好玩的线上、线下活动等着你的参与,精彩内容,联手奉上。

© 版权声明

相关文章

暂无评论

none
暂无评论...