步骤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
深入企业走访交流,营造良好的环境
海能达:MSI提请ITC调查公司涉嫌专利侵权事项初步裁决
去年液晶显示器面板,友达抢第2
线路板PCB:特斯拉Cybertruck的核心技术
看完一加6的评测后你还会选择坚果R1和小米MIX2s吗?
如何制作带语音功能的条形码阅读器
100V LT3756控制器可从几乎任何输入驱动高功率LED灯串
Cree上季财报亮眼 盘后飙涨8%
云计算中的核心技术都有哪些
动力电池市场竞争态势升级
三星Galaxy S8+和LG V30对比评测5500的价格谁划算
一个善的智慧城市是什么样的
电力配电监控系统
诺基亚研究得出结论:5G网络比4G网络节能90%
富士康上市成为最大A股公司的希望有多大
高云半导体与黄埔区投资协议:打破国内高端半导体核心元器件进口依赖
华为Mate40 Pro参数配置一览
如何使用Blynk创建自己的物联网闹钟
在企业“混战”之时 彩电业也迎来多元技术发展的态势
热继电器的整定电流测试