0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作带语音功能的条形码阅读器

454398 来源:网络整理 作者:网络整理 2019-11-15 17:09 次阅读

步骤1:更新

随着Raspberry Pi Zero W的到来,我将切换到它。除了需要建立与Pi的WiFi连接之外,这里的所有内容都是相同的。这意味着您不需要USB集线器即可将Zero设置和使用。

您可以使用以下方式设置WiFi:

https://thepihut.com/blogs/raspberry-pi-tutorials/。..

- --------------------------------------------

您知道吗?

如果使用Windows PC在SD卡上安装Raspbian Jessie,则可以在引导前在卡上创建两个文件来配置WiFi和SSH访问

为此,假设您的SD卡当前已在PC上以 K:的方式安装:

1)安装最新的Raspbian Jessie映像到SD。对于该项目,Jessie Lite应该可以使用。

https://www.raspberrypi.org/downloads/raspbian/

2)使用记事本,创建一个名为“ ssh ”,然后使用“另存为”“所有文件”来 K: ssh

文件可以包含任何内容。重要的是文件名。不得为“ ssh.txt” !!!

3)使用记事本,使用以下命令创建一个名为“ wpa_supplicant.conf ”的文件:

ctrl_interface=DIR=/var/run/wpa_supplicant

GROUP=netdev

update_config=1

network={

ssid=“mySSID”

psk=“mypassword”

key_mgmt=WPA-PSK

}

使用另存为“所有文件”到 K: wpa_supplicant.conf

再次,不要让记事本将其更改为“ wpa_supplicant.conf.txt”!

第一次启动Raspberry时,Jessie会查找这些并连接到您的Wifi。但是,由于路由器是自动分配的,因此您将不得不在路由器上查找IP地址。

步骤2:零件列表

树莓派Pi零(如果大小不成问题,则可以选择任何Raspberry Pi)

USB激光条形码扫描仪

http://www.dx.com/p/ls-4209-激光条形码扫描仪。..

对于Raspi Zero,添加Adafruit I2S 3W D类放大器

https://www.adafruit.com/products/3006

小扬声器。 (对于Pi 2,3,请使用外部放大器和扬声器。)

https://www.adafruit.com/product/1890

USB Micro转USB OTG适配器

https ://www.adafruit.com/products/2910

5V 1Amp USB电池组,例如

https://www.adafruit.com/products/1959

用于电池组的USB转micro USB电缆。

USB和以太网集线器(至少用于初始设置工作,对于零W或Raspi 2,3不需要)

https://www.adafruit.com/products/2992

来自GITHUB的软件:

https://github.com/rgrokett/TalkingBarcodeReader

第3步:USB激光条形码阅读器

激光条形码阅读器在扫描UPC标签方面的能力要比照相机更宽容。即使在光线不足或放置不良的标签中,它们也可以正常工作。

您将需要USB到USB微型适配器,将其插入零位。

扫描仪的手柄和扳机使其易于使用。

在成功扫描标签时也会提供反馈。

将来的任务:

在最终设计中,我将电缆剪短以缩短电缆长度,然后直接焊接到零位的USB引脚上,以减小尺寸和连接器故障的可能性。零号和电池将直接安装在3D打印盒中的扫描仪手柄底部。

步骤4:UPC数据库

这是项目覆盖最差的部分,因为实际上有数百万的UPC代码和很少的开源数据库可供下载。不幸的是,大多数UPC数据库价格昂贵,并且需要Internet连接。

我能够将几个开放源数据库放在一起(以下附录中的源),但是即使其中有将近700,000个项目,仍然有大量缺失。

为此,我做了两件事;一种是专门针对杂货,另一种是在Raspberry中添加Web服务器以允许手动添加新的UPC代码,但这确实至少需要本地网络连接。

将来的任务:

我会将Zero W设为“热点”,以便您可以在任何地方连接它以添加新的UPC代码。

第5步:文本转语音

我使用了名为“ Flite”的文本转语音程序,因为它在语音质量之间具有最佳的折中转换速度归零。其他声音听起来稍好一些,但转换速度太慢。

您还可以查看Adafruit的教程

https://learn.adafruit.com/speech-synthesis-on-the。

。请注意,要适应语音的变化需要一定的“耳部训练”,但还算不错。

再次扫描同一项目将重复音频

将来要做的事情

也许添加耳机插孔,以便老年人在嘈杂的地方更容易听到声音。

步骤6:电池电量

系统可以使用5V USB电池运行,例如用于给手机充电。

问题在于,当您拔下电池或电池没电时,Pi将会崩溃,并有可能损坏SD驱动器

要解决此问题,需要一个运行关闭命令的按钮。我可能会这样使用:

https://www.element14.com/community/docs/DOC-78055 。..

(是的。另一种“未来ToDo!”)

第7步:第一部分-向Pi Zero添加音频

(如果不使用零,则跳过此部分!)

在Pi零上,您将需要添加外部音频,因为它不是内置的。我使用了低成本的“ Adafruit I2S 3W放大器突破MAX98357A”

这需要使用Adafruit的出色教程进行设置,网址为:

https://learn.adafruit.com/adafruit-max98357-i2s -。..

如本教程的接线部分所示,连接:

• Amp Vin to Raspi Zero Pi 5V

• Amp GND to Raspi Zero Pi GND

• Amp DIN to Raspi Zero Pi #21

• Amp BCLK to Raspi Zero Pi #18

• Amp LRCLK to Raspi Zero Pi #19

将小扬声器连接到板上的音频导线。

Pi Zero Adafruit音频软件设置

也如Adafruit软件设置教程中所示,执行以下CURL命令:

$ curl -sS https://raw.githubusercontent.com/adafruit/Raspbe.。.》 | bash

重启后,请使用扬声器测试来测试音频:

$ speaker-test -c2 --test=wav -w /usr/share/sounds/alsa/Front_Center.wav

如果遇到问题,请从概述开始的Adafruit教程进行回顾。您可能需要通过本教程中的“详细安装”步骤来验证所有已更新的文件。

零和Max98357音频的重要必需步骤:

默认情况下,而Flite文字转语音是单声道,则ALSA音频只能在立体声中使用。而且,音频在每次开始播放时都会有“啪”的一声。

(请参阅:https://learn.adafruit.com/adafruit-max98357-i2s -。..

您必须执行以下操作:

1 )在/boot/config.txt

$ sudo nano /boot/config.txt

dtoverlay=i2s-mmap

2上添加一行。2)替换/etc/asound.conf

$ sudo nano /etc/asound.conf

pcm.hifiberry {

type hw card 0

}

pcm.!default {

type plug

slave.pcm “dmixer”

}

pcm.dmixer {

type dmix

ipc_key 1024

slave {

pcm “hifiberry”

channels 2

}

}

ctl.dmixer {

type hw

card 0

}

3)重新启动您的Pi。

再次尝试扬声器测试。现在听起来应该会更好。

完成包括音频测试的设置教程后,声音就应该准备好了。

请注意,如果您将耳机插孔带到杂货店或嘈杂的环境中,则可能需要添加耳机插孔来进行音频处理。

步骤8:第二部分-软件安装

这假设您已经安装了Raspbian Jessie,并且可以访问Linux命令行。您不需要Raspbian的GUI版本,但可以使用。

如果您需要USB端口用于以太网或键盘/鼠标,则此时无需插入USB扫描仪。

确保您的操作系统是最新的:

$ sudo apt-get update

$ sudo apt-get upgrade

从命令行进入pi主目录并下载GITHUB存储库:

$ cd /home/pi

$ sudo apt install git

$ git clone https://github.com/rgrokett/TalkingBarcodeReader.。..》 https://github.com/rgrokett/TalkingBarcodeReader.。..》

$ cd TalkingBarcodeReader

$ 。/install.sh

这将花费一些时间,特别是如果这是第一次并且需要安装或更新Web服务器和PHP。如有必要,您可以多次运行它。

其中,这会将条形码文件和UPC数据库安装到:/var/www/html/upc

下一步,编辑/etc/rc .local,并在“退出0”之前添加下一行

$ sudo nano /etc/rc.local

fi

sudo /var/www/html/upc/bin/run.sh

exit 0

安装完成后,关闭您的Pi并插入USB条码读取器,然后重新启动。

$ sudo shutdown now

将其重新启动,您会听到简短的启动语音。

如果是,请尝试扫描杂货店的条形码。如果一切顺利,您应该会听到。说出该项目(或说出“未找到”)。否则,请参阅下一步的故障排除指南。

步骤9:故障排除

如果您听不到任何声音,则需要尝试以下命令:

1)验证文本语音转换是否正常:

$ sudo flite -voice awb -t “testing”

如果收到错误,请确保已安装flite:

$ sudo apt install flite

如果收到以下错误,请确保已更新/boot/config.txt和/etc/asound.conf在上方的“音频设置”部分中显示Raspi Zero的:

audio_open_alsa:未能将声道数设置为1。无效的参数

如果没有错误也没有声音,请确保您的Raspberry音频正常运行。

sudo aplay /usr/share/sounds/alsa/Front_Center.wav

1)您可能需要将音频从音频插孔中拔出:(请参见上面的图1)

$ sudo raspi-config -》 7 Advanced Options -》 A4 Audio

2)一旦您确认音频和文本到语音转换良好,请检查条形码读取器:

cd /var/www/html/upc/bin

sudo python 。/test.py

扫描条形码时,应该看到显示的数字条形码编号。 (测试程序不包括音频输出或数据库连接。)

3)如果所有这些都很好,请检查“ nohup.out”文件中是否有错误消息:

cd /var/www/html/upc/bin

sudo cat nohup.out

可能的问题是缺少程序包或权限错误(或代码中的错误!)。确保您的操作系统是最新的,然后再次运行install.sh。

希望您现在正在工作!

步骤10:第III部分– Web服务器

由于有成千上万的UPC代码,而且大多数公开(即免费)的可用数据库只是一小部分代码,因此该项目侧重于杂货的UPC代码。它包含数十万个项目,但找不到许多。

如果需要添加或更新UPC数据库,则有两个程序可用;如果要添加或更新UPC数据库,则可以使用两个程序。命令行和网络浏览器。 (将数字替换为您的UPC项目编号)

$ cd /var/www/html/upc/bin

$ sudo 。/addDB.sh 01234567890 “My new item”

这会将记录添加到数据库中。否则,建议使用Web浏览器数据库功能。

对于Web Server GUI,您需要树莓派的IP地址。

要查找IP地址,可以使用:

$ hostname -I

192.168.1.108

从PC浏览器中,转到:http://192.168.1.108/upc/

您应该会看到类似于上面图2中的屏幕。

如果是这样,则可以添加/更新和删除记录。

使用(‘》 |’)“最新记录”按钮导航到“最后一页”,以查看最新记录,因为它们是追加到数据库末尾的。

安全性

请注意,此Web服务不受保护(不进行身份验证,不使用SSL),因此最好不要将其公开给公共Internet。 (但由于未将其设置为WiFi接入点,因此可以安全地携带到商店。)

尽管如此,因为上面没有私人数据,所以如果有人篡改数据,可能会更糟。 UPC数据。

您还可以限制对特定IP地址的访问,以便其他人不能进入。只需用此处的IP替换您希望允许的IP地址即可。其他所有人都将无法访问:

$ sudo vi /etc/lighttpd/lighttpd.conf

$HTTP[“remoteip”] =~ “127.0.0.1|192.168.1.108” {

url.access-deny = ( “” )

}

$ sudo /etc/init.d/lighttpd restart

此外,更改默认的PI密码!

每个人都知道默认值为pi/raspberry

$ passwd

步骤11:对Web服务器进行故障排除

使用浏览器访问Raspberry的IP地址,如下所示:

http://192.168.1.108/

您应该从/var查看默认屏幕/www/html/index.html(上面的图1)

还请确保网络服务器正在运行:

$ ps -ef|grep lighttpd

要验证PHP是否良好,请创建一个php测试文件:

$ sudo nano /var/www/html/phpinfo.php
责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 阅读器
    +关注

    关注

    0

    文章

    298

    浏览量

    27892
  • 树莓派
    +关注

    关注

    116

    文章

    1686

    浏览量

    105439
收藏 人收藏

    评论

    相关推荐

    RFID手持终端与条形码终端的区别

    随着信息技术的飞速发展,自动识别技术在提高工作效率、降低成本、增强数据准确性等方面发挥着重要作用。RFID手持终端和条形码终端作为两种主流的自动识别设备,它们在功能、工作原理、应用场景等方面存在显著
    的头像 发表于 10-29 09:20 143次阅读

    亚马逊推出首款彩屏Kindle阅读器

    亚马逊(Amazon)于周三震撼发布了其首款配备彩色显示屏的Kindle电子阅读器,这一创新之举打破了自2007年Kindle问世以来一直沿用的黑白屏幕传统。
    的头像 发表于 10-17 15:56 298次阅读

    支持二维码条形码扫描的扫描枪多少钱?

    在数字化日益普及的今天,二维码/条形码扫描枪已成为各行业不可或缺的工具,特别是在零售、物流、仓储及支付领域。这类扫描枪不仅提升了工作效率,还极大地便利了消费者的支付体验。那么,支持二维码与条形码扫描
    的头像 发表于 09-26 14:21 189次阅读
    支持二维码<b class='flag-5'>条形码</b>扫描的扫描枪多少钱?

    集成TIRIS射频模块TMS3705A低频阅读器简介

    电子发烧友网站提供《集成TIRIS射频模块TMS3705A低频阅读器简介.pdf》资料免费下载
    发表于 09-21 11:00 0次下载
    集成TIRIS射频模块TMS3705A低频<b class='flag-5'>阅读器</b>简介

    具有平均输入电流限制的升压转换将简化条形码扫描仪的设计应用说明

    电子发烧友网站提供《具有平均输入电流限制的升压转换将简化条形码扫描仪的设计应用说明.pdf》资料免费下载
    发表于 09-09 14:33 0次下载
    具有平均输入电流限制的升压转换<b class='flag-5'>器</b>将简化<b class='flag-5'>条形码</b>扫描仪的设计应用说明

    二代身份证识别仪身份证阅读器读卡

    云解码 老年人刷身份证老年人公交专用读卡 公交扫码刷卡刷刷身份证 第三代身份证 联网身份证阅读器NFC读写 NFC嵌入式模组 DK身份证读卡模块多功能门禁读卡
    发表于 09-07 15:09

    AM62A SoC通过硬件加速视觉处理改进条形码读取

    电子发烧友网站提供《AM62A SoC通过硬件加速视觉处理改进条形码读取.pdf》资料免费下载
    发表于 09-04 09:52 0次下载
    AM62A SoC通过硬件加速视觉处理改进<b class='flag-5'>条形码</b>读取<b class='flag-5'>器</b>

    二代身份证识别仪-身份证阅读器-读卡CICR-3X

    阅读器
    jf_08279201
    发布于 :2024年09月02日 14:33:47

    桌面RFID阅读器:现代资产管理的革命性工具?

    蕴含巨大能量桌面RFID阅读器因其便携性和多功能性而受到广泛的市场欢迎。这些设备不仅能够快速准确地读取和写入RFID标签数据,还可以执行各种管理任务,如授权和格式
    的头像 发表于 06-04 15:53 393次阅读
    桌面RFID<b class='flag-5'>阅读器</b>:现代资产管理的革命性工具?

    手搓了一个ESP32墨水屏阅读器,蛮简单的

    工程名称:3.7寸墨水屏阅读器时钟温湿度TXT/Epub前言帅小伙手搓ESP32墨水屏阅读器!可轻松续航100天!01阅读器功能/亮点?1.具有阅读
    的头像 发表于 05-27 08:04 331次阅读
    手搓了一个ESP32墨水屏<b class='flag-5'>阅读器</b>,蛮简单的

    条形码/二维码读取有哪些品牌?

    条形码/二维码读取品牌在寻找适合您需求的条形码/二维码读取时,了解市场上的一些知名品牌可以帮助您做出更好的选择。以下是关于一些知名品牌及其相关信息的介绍。1.霍尼韦尔(Honeyw
    的头像 发表于 05-22 10:52 495次阅读
    <b class='flag-5'>条形码</b>/二维码读取<b class='flag-5'>器</b>有哪些品牌?

    STM32F407 Custom HID在win11上被识别成条形码读取,且轮询速度很慢怎么解决?

    如题,STM32F407 Custom HID在win11上被识别成条形码读取,且轮询速度很慢,大概1s中只有8次,在win10上是正常的,请问是win11的bug吗,怎么解决?
    发表于 05-20 08:16

    工厂流水线条形码读码 工业读码

    模块扫描
    深圳市远景达物联网技术有限公司
    发布于 :2024年05月09日 13:40:14

    条形码标签和条码打印机哪个好?

    对于您的问题,“条形码标签”和“条码打印机”哪个好,实际上取决于您的具体需求。1.条码打印机的优点条形码打印机是一种以热为基础的打印机,主要包括热敏打印和热转印两种方式。其优点如下:(1)可少量
    的头像 发表于 05-08 10:56 583次阅读
    <b class='flag-5'>条形码</b>标签和条码打印机哪个好?

    读码基础干货分享

    读码是一种用于读取条形码和二维码的设备,随着移动互联网的普及,读码在各个行业的应用越来越广泛。
    的头像 发表于 12-12 15:48 1689次阅读
    读码<b class='flag-5'>器</b>基础干货分享