gray6666 发表于 2020-6-6 17:43:41

《练摊神器》之DF拍立得相机


   5月31日,中央电视台《新闻30分》、《新闻直播间》聚焦“地摊儿”;6月1日至2日,国务院总理李克强亲临山东烟台、青岛考察。在烟台市,李克强总理在某摊位前称赞地摊经济、小店经济是就业岗位的重要来源,是人间的烟火,和“高大上”一样,是中国的生机。

    6月的桑拿天“”地摊“”成为朋友圈最火的消夏话题;心动不如行动,快带上你的“练摊神器”,和造作一夏大军们一起,去创造属于自己的精彩瞬间吧!
https://v.youku.com/v_show/id_XNDcwMDI2MTcyMA==.html

一、项目简介
练摊神器~DF拍立得相机:集按钮控制、拍摄、冲洗于一体,拍摄后直接打印照片。开机指示灯,按键控制,摄像头取景,Python代码,热敏打印机出片,留住精彩瞬间。
项目具体功能:
      1.树莓派开机自动运行DFcamera2.0.py程序
      2.程序运行后蓝色指示灯亮,开始工作。
      3.按钮1(5号端口),按下采集照片,并打印出来。
      4.按钮2(6号端口),关闭蓝色灯,退出程序。

材料清单
1.Raspberry Pi 4 Model B *1 (电源需自备) https://www.dfrobot.com.cn/goods-2617.html
2.树莓派4B/3B+ IO扩展板 *1https://www.dfrobot.com.cn/goods-2041.html

3.数字食人鱼蓝色LED发光模块(可用其他颜色代替) *1https://www.dfrobot.com.cn/goods-80.html
4.碰撞传感器(手感超赞) *2   https://www.dfrobot.com.cn/goods-639.html

5.树莓派摄像头模块 500万像素 *1https://www.dfrobot.com.cn/goods-1023.html

6.嵌入式热敏打印机(套件自带电源和数据线) *1 https://www.dfrobot.com.cn/goods-1795.html

7.红色纸盒(买DF产品、免费赠送)

硬件全家福
https://mc.dfrobot.com.cn/data/attachment/album/202006/06/171954jrhz5oribdhvvh5k.png


二、硬件调试

1.安装摄像头
https://mc.dfrobot.com.cn/data/attachment/album/202006/06/172002u67hedkd2cw2x0kx.jpg


2.安装扩展板从此处需注意,扩展板底部针脚不要把摄像头的数据线压断。https://mc.dfrobot.com.cn/data/attachment/album/202006/06/172011le0irk826i3j9d63.jpg3.安装碰撞传感器,端口为5、6号口;此处可参考颜色,DF的产品就是这么简单高效。https://mc.dfrobot.com.cn/data/attachment/album/202006/06/172010rx1g1a4ygwg8mpz1.jpg
4.连接LED模块 端口为12号口https://mc.dfrobot.com.cn/data/attachment/album/202006/06/172010wmhhov5evx08xrr7.jpg5.USB端口安装热敏打印机打印进的更详细安装教程可参考我的其他帖子https://mc.dfrobot.com.cn/data/attachment/album/202006/06/172022ckpwkhbicfiu5zcu.jpg6.整体效果(电源线还没连接),确认没问题;分别连接打印接和树莓派的电源,开机调试代码https://mc.dfrobot.com.cn/data/attachment/album/202006/06/172023caw2jaccin2xnp8j.jpg
三、软件测试VNC连接树莓派,调试程序;
该操作隐藏的一个坑:
注意调试的普通PC尽量不要安装打印机,否则调试时,会把PC端的打印机自动默认打印机;推荐使用安装驱动方式调用热敏打印机!打印机驱动安装教程,请参考下面帖子https://mc.dfrobot.com.cn/thread-305550-1-1.html系统:树莓派2020-02-13-raspbian-buster-full软件:Python 2.7.6和3.43代码:简单、易懂# -*- coding: utf-8 -*-
from RPi import GPIO
import time
import os
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(5, GPIO.IN)
GPIO.setup(6, GPIO.IN)
GPIO.setup(12,GPIO.OUT)
GPIO.output(12,GPIO.HIGH)
try:
    while True:
      if (GPIO.input(5)==GPIO.LOW):
            print('拍照開始!')
            os.system("raspistill -n -t 200 -w 512 -h 384 -o - | lp")
            time.sleep(0.3)
      if (GPIO.input(6)==GPIO.LOW):
            print('拍照結束,再見!')
            time.sleep(0.3)
            GPIO.output(12,GPIO.LOW)
            break
      else :
            print('請按快門拍照!')
            time.sleep(0.3)
except Exception :
    print('erorr')
GPIO.output(12,GPIO.HIGH)
GPIO.cleanup()
上传代码测试
https://v.youku.com/v_show/id_XNDY5OTczMDk0OA==.html


树莓派设置自动启动
终端输入命令 sudo su
sudo nano /etc/rc.local打开文件后在exit 0的前一行添加以下指令sudo python /home/pi/DFcamera2.0.py &
关机,重启,测试程序
https://mc.dfrobot.com.cn/data/attachment/album/202006/06/171952n7ff7wroo99987wt.pnghttps://mc.dfrobot.com.cn/data/attachment/album/202006/06/171952dqer33bzrtnezu6e.pnghttps://mc.dfrobot.com.cn/data/attachment/album/202006/06/171952vdk551eukmxvmhs1.pnghttps://v.youku.com/v_show/id_XNDY5OTcyNTAzMg==.html四、组装DF的小红盒切刻出外壳https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104649qqeys4bbe04j5e9y.jpg
https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104656a1lt6b61zig1t5ti.jpghttps://mc.dfrobot.com.cn/data/attachment/album/202006/05/104657ukjgj3k4j9ltck48.jpghttps://mc.dfrobot.com.cn/data/attachment/album/202006/05/104659hfo0s8jnoo9xnuo0.jpg放入树莓派,侧面掏出按钮1和按钮2https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104740mf6l73x13x61lfly.jpg固定蓝色LED灯https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104745ijy1ggx585v9j1aj.jpg固定摄像头https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104747p7nrfp5iripxbpbr.jpg固定打印机https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104750i9h93uo9qyoo949k.jpg关闭盒盖,固定侧面控制按钮https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104757senln0hgpm1m11gw.jpg组装完成https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104801mbke2ekouooui2g7.jpg五、整体测试https://mc.dfrobot.com.cn/data/attachment/album/202006/05/104808a2q6wp249ctpcct2.jpghttps://mc.dfrobot.com.cn/data/attachment/album/202006/05/104815wtohp1cicpcteecg.jpg
https://v.youku.com/v_show/id_XNDY5OTcyOTA2OA==.htmlhttps://v.youku.com/v_show/id_XNDY5OTcyNjc2OA==.htmlhttps://v.youku.com/v_show/id_XNDY5OTcyNzk2NA==.html
六、小结
本作品基本实现了按钮控制,相机拍摄、打印的功能;如果后期资金充足,可扩展部分如下:1.树莓派配个屏幕,增加取景框功能2.增加语音模块,提供语音提示3.升级彩色打印机,升级为自拍影棚4.升级代码,然相机可以拍摄出更多模式的照片5.无限可能期待您的加入。。。。。。。。
https://mc.dfrobot.com.cn/data/attachment/album/202006/06/171953rmhhdyih7zstsr3y.png

hnyzcj 发表于 2020-6-6 17:48:34

不错

gray6666 发表于 2020-6-6 18:20:37

hnyzcj 发表于 2020-6-6 17:48
不错

感谢留言

pATAq 发表于 2020-6-6 18:41:02

感谢分享!有个问题,关于打印质量的
1 我测试数个模式之后,发现用pythonescpos 打印出来的要比用 zj58驱动打印出来的图像质量要好,不知道你这里如何
2 调整摄像头 特效为黑白模式打印出来的效果会不会有区别?

rzyzzxw 发表于 2020-6-6 19:00:12

真好{:7_216:}

gray6666 发表于 2020-6-7 09:44:39

pATAq 发表于 2020-6-6 18:41
感谢分享!有个问题,关于打印质量的
1 我测试数个模式之后,发现用pythonescpos 打印出来的要比用 zj58驱 ...

Python,espson 不知何故我这里运行报错。

下周我测试,黑白模式。

pATAq 发表于 2020-6-7 13:16:22

gray6666 发表于 2020-6-7 09:44
Python,espson 不知何故我这里运行报错。

下周我测试,黑白模式。


我这里的测试效果,不知道你的照片打印出来是不是有图4那种颗粒感。
参考 Python-escpos 库 的说明文档,采用USB模式。此时显示为 PL2303,否则打印时会有 255px 限制,且有可能会出乱码

Forgotten 发表于 2020-6-7 14:35:23

顶上搞个取景框,显示拍照区域就更好了

gray6666 发表于 2020-6-7 15:13:02

Forgotten 发表于 2020-6-7 14:35
顶上搞个取景框,显示拍照区域就更好了

攒钱买个屏幕{:6_202:}

gray6666 发表于 2020-6-7 15:17:45

pATAq 发表于 2020-6-7 13:16
我这里的测试效果,不知道你的照片打印出来是不是有图4那种颗粒感。
参考 Python-escpos 库 的说明文档 ...

感谢指导{:6_204:}

gray6666 发表于 2020-6-11 10:14:17

pATAq 发表于 2020-6-7 13:16
我这里的测试效果,不知道你的照片打印出来是不是有图4那种颗粒感。
参考 Python-escpos 库 的说明文档 ...

我这里的照片打印也是第四种的颗粒感觉

但是 Python-escpos 库我这里运行会报错 class Serial(Escpos):
File "/home/pi/.local/lib/python3.7/site-packages/escpos/printer.py", line 107, in Serial
    parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE,
AttributeError: module 'serial' has no attribute 'PARITY_NONE'

pATAq 发表于 2020-6-12 00:04:24

gray6666 发表于 2020-6-11 10:14
我这里的照片打印也是第四种的颗粒感觉

但是 Python-escpos 库我这里运行会报错 class Serial(Escpos):


晚些时候我分享一些这个库的使用心得

Mr Guo 发表于 2020-8-21 23:21:50

pATAq 发表于 2020-6-12 00:04
晚些时候我分享一些这个库的使用心得

这个库咋用,求大佬指教,同样没跨过去

pATAq 发表于 2020-8-22 10:48:19

Mr Guo 发表于 2020-8-21 23:21
这个库咋用,求大佬指教,同样没跨过去

你卡哪了?打印机初始化、图像打印乱码、图像不超过255px?

pATAq 发表于 2020-8-22 22:51:36

前天的直播内容:

@MR Guo


1. Printing implementation 选择
bitImageColumn 否则打印图片会乱码
2. 打印二维码 size 根据情况设置,
过大会乱码,过小会扫码失败

还有你是什么型号的热敏打印机,不同的打印机支持的功能不同,另外使用USB接口和UART接口使用上也有些不同
页: [1]
查看完整版本: 《练摊神器》之DF拍立得相机