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

    文章

    308

    浏览量

    29160
  • 树莓派
    +关注

    关注

    122

    文章

    2086

    浏览量

    110889
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索AT88RF1354:高性能13.56 MHz Type B RF阅读器的深度剖析

    探索AT88RF1354:高性能13.56 MHz Type B RF阅读器的深度剖析 在如今的电子设备领域,无线通信和射频(RF)技术变得越来越重要。特别是在非接触式智能卡、RFID标签等应用中
    的头像 发表于 01-30 16:35 859次阅读

    新大陆NLS EM1395条形码扫描模块:嵌入式识别场景的性能标杆

    在零售收银、物流分拣、自助设备等场景中,条形码扫描模块是保障效率的核心组件,而新大陆作为自动识别领域的领军品牌,其推出的新大陆NLSEM1395凭借硬核性能成为众多设备厂商的优选。这款集高集成度
    的头像 发表于 01-26 11:04 295次阅读
    新大陆NLS EM1395<b class='flag-5'>条形码</b>扫描模块:嵌入式识别场景的性能标杆

    手持智能扫码选型指南:功能参数 + 行业应用

    条形码手持终端(手持扫码 / 移动数据采集)定义、1D/2D 扫码功能、Android/Windows 系统适配、IP 防护 / 抗摔等参数,拆解开机扫码、数据同步等操作步骤,覆盖
    的头像 发表于 01-09 15:50 907次阅读
    手持智能扫码<b class='flag-5'>器</b>选型指南:<b class='flag-5'>功能</b>参数 + 行业应用

    RFID技术优点

    下也可以读取数据,因此RFID的应用范围远远超过条形码。 第二。可重复使用。由于RFID标签中为电子数据,可以被其它信息覆盖,因此可以回收并重复使用。如被动式RFID,不需要电池就可以使用,因此省下
    发表于 12-09 06:24

    条形码分拣离不开扫码!固定式扫描的实用价值

    的精准管控,它都发挥着不可替代的作用。本文将从核心价值、行业应用等方面,您全面认识固定式扫描的实用之处。一、固定式扫码的四大核心实用价值1、提速分拣效率条形码
    的头像 发表于 11-11 15:29 516次阅读
    扫<b class='flag-5'>条形码</b>分拣离不开扫码<b class='flag-5'>器</b>!固定式扫描<b class='flag-5'>器</b>的实用价值

    条码扫描手持机、数据采集助力大型仓储出入库扫条形码

    与PDA手持机的普及,正为大型仓储出入库扫条形码环节带来颠覆性改变,成为提升管理效率的核心工具。对大型仓储而言,出入库效率直接决定物流链路的顺畅度。过去工作人员需手动
    的头像 发表于 11-04 15:19 574次阅读
    条码扫描手持机、数据采集<b class='flag-5'>器</b>助力大型仓储出入库扫<b class='flag-5'>条形码</b>

    EM3396嵌入式条形码扫码安装到手持终端里面,读取一维二维码

    在现代数字化办公和生活中,手持终端的应用越来越广泛,而嵌入式条码扫描则为手持终端赋予了强大的条码读取能力。今天我们就来聊聊如何将EM3396嵌入式条形码扫码安装到手持终端里面,实现一维二维码
    的头像 发表于 09-22 16:09 866次阅读
    EM3396嵌入式<b class='flag-5'>条形码</b>扫码<b class='flag-5'>器</b>安装到手持终端里面,读取一维二维码

    条形码到智能跟踪:物联网和RFID如何共同发展

    在当今这个科技飞速发展的时代,资产跟踪这件事,从原来那种老掉牙的纯人工点数,到后来用条形码扫一扫,再到现在高大上的物联网、RFID这些新鲜东西,那变化可真是天翻地覆,这里面的门道和好处,估计好多人还没怎么弄明白,今天咱就来好好聊一下。
    的头像 发表于 09-10 09:33 594次阅读

    工业级手持身份证阅读器:身份核验、OCR识别与场景落地解析

    手持式居民身份证阅读器——一位企业采购人的笔记当企业要把“现场身份核验”从人工纸质流程升级为数字化、合规、可追溯的流程时,手持式居民身份证阅读器往往是首要投资项。作为企业采购人(或采购团队负责人
    的头像 发表于 09-04 14:41 966次阅读
    工业级手持身份证<b class='flag-5'>阅读器</b>:身份核验、OCR识别与场景落地解析

    面向条形码扫描机或打印机的开关解决方案

    条形码之间的细节千差万别,如今条形码打印与扫描在很多行业中不可或缺。根据负责维护UPC(商品统一代码)的国际物品编码组织GS1统计的数据,工人们每天要扫描50亿个产品条码。到2022年,单是扫描的市场每年就会增加6%。
    的头像 发表于 09-02 14:44 965次阅读

    手持式身份证识别阅读器:移动的身份识别智能终端

    鸟鸟N70S手持式居民身份证阅读器是一种专为移动办公与身份核验而设计的终端设备,集身份证识别、OCR、二维码扫描、人脸识别等功能于一体。广泛应用于公安执法、金融开户、医疗登记、展会安保等场景,支持全天候移动工作,真正实现身份验证的高效与安全。
    的头像 发表于 08-20 14:34 1898次阅读
    手持式身份证识别<b class='flag-5'>阅读器</b>:移动的身份识别智能终端

    绝了!耐达讯自动化EtherCAT转RS232盘活RFID阅读器

    家人们,作为工程师,咱们在项目里遇到通信协议“打架”的情况还少吗?今天就来聊聊耐达讯自动化EtherCAT转RS232网关连接RFID阅读器,堪称工业界的“破圈”妙方。 咱先了解下这仨主角
    发表于 07-23 15:34

    选购固定式读码要看哪些核心参数

    选购固定式读码时应关注哪些核心参数呢?东集小编将详细分析各项指标,帮助企业采购决策。 一、识别技术与解码能力固定式读码的核心功能就是识别和解码各种条形码和二维码。其识别技术主要分为
    发表于 06-26 16:43

    华秋PCB出货自定义标签功能上线

    您可以根据自己的需求对标签的展示内容进行个性化设计,支持二维码、条形码、表格、文本、图形、图片等形式自由组合。
    的头像 发表于 06-09 14:33 1190次阅读
    华秋PCB出货自定义标签<b class='flag-5'>功能</b>上线

    别让条码阅读器“干瞪眼”!Modbus转Profinet网关专治设备沟通障碍

    在工业自动化的“生产线江湖”里,条码阅读器堪称“信息侦察兵”,但要是它和系统“语言不通”,分分钟上演数据“嘴瓢”现场!最近就有小伙伴说Modbus协议的条码阅读器,和Profinet系统聊得
    发表于 05-23 14:02