Përmbajtje:
- Hapi 1: PPRDITSIM
- Hapi 2: Lista e Pjesëve
- Hapi 3: Lexuesi i kodeve me lazer USB
- Hapi 4: Baza e të dhënave UPC
- Hapi 5: Tekst në fjalim
- Hapi 6: Fuqia e baterisë
- Hapi 7: Pjesa I - Shtimi i audios në Pi Zero
- Hapi 8: Pjesa II - Instalimi i Softuerit
- Hapi 9: Zgjidhja e problemeve
- Hapi 10: Pjesa III - Web Server
- Hapi 11: Zgjidhja e problemeve në Web Server
- Hapi 12: Shtojca
Video: Raspberry Pi Duke folur për lexuesin e barkodit: 12 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:27
Fig.1 Skaneri i barkodit nga DX.com
Vështrim i përgjithshëm
Përditësim: Një video e shkurtër video është në dispozicion
Nëna ime nuk është në gjendje të lexojë etiketat në artikujt ushqimor, kështu që unë shkova duke kërkuar zgjidhje. Pasi pashë që lexuesit e kodit bar për të verbërit fitojnë shumë qindra dollarë, doja të shihja se çfarë mund të bëhej duke përdorur një Raspberry Pi dhe një lexues të barkodit USB.
Një imitim tjetër kryesor ishte se kjo duhet të funksionojë PA një lidhje interneti (si në një dyqan ose në shtëpinë e një shoku). Kështu që baza e të dhënave dhe teksti në të folur duhej të ishin të pavarura.
Provova një version të lexuesit të kodit të bazuar në kamerë, por ndriçimi dhe pozicioni i kamerës shkaktuan probleme të besueshmërisë për dikë që nuk mund të shihte qartë. Këto gjithashtu kërkonin shikim për të konfiguruar dhe përdorur aplikacionin. Kështu që unë kalova në një lexues të barkodit USB Laser, veçanërisht pasi ato tani janë në dispozicion për nën 30 dollarë dhe Raspbian Jessie i mbështet ato menjëherë jashtë kutisë.
Unë gjithashtu provova Amazon Dash Wand të ri, por nuk flet artikullin e skanuar dhe kërkon një lidhje interneti për të punuar.
Ideja ishte të skanoni një artikull dhe t'i bëni pyetjes Raspberry një bazë të dhënash të brendshme të kodeve UPC dhe më pas të flisni përshkrimin e produktit duke përdorur tekstin në të folur.
Për ta bërë njësinë sa më të vogël të jetë e mundur, doja të përdorja një Raspberry Pi Zero. Gjithashtu doja ta fikja njësinë edhe nga fuqia e baterisë.
Për të përmbushur këto kërkesa ishin të nevojshme shkëmbimet. Meqenëse Zero nuk ka një fole audio të jashtme, unë ripërdori modelin audio nga projekti im "Earthquake Pi" pasi ishte me kosto të ulët (rreth 6 dollarë) dhe shumë i vogël. Përndryshe, zëvendësimi i "One Transistor Audio për Pi Zero" mund të jetë i mundur.
Për skanerin Laser Bar Code, gjeta një nga DX.com. Ai mundësohet nga Rasbberry USB dhe kushton rreth 25 dollarë. (shiko pjesët më poshtë)
Hapi 1: PPRDITSIM
Me ardhjen e Raspberry Pi Zero W, unë do të kaloj në të. Gjithçka këtu është e njëjtë, përveç që ju duhet të vendosni lidhjen WiFi me Pi. Kjo do të thotë që nuk do të keni nevojë për një shpërndarës USB për Zero për konfigurim dhe përdorim.
Ju mund të konfiguroni WiFi duke përdorur:
thepihut.com/blogs/raspberry-pi-tutorials/…
E dinit?
Nëse instaloni Raspbian Jessie në një kartë SD duke përdorur një kompjuter Windows, mund të krijoni dy skedarë në kartë për të konfiguruar qasjen WiFi dhe SSH para se ta nisni në një mjedër?
Për këtë, supozoni se karta juaj SD aktualisht është montuar si K: në kompjuterin tuaj:
1) Instaloni imazhin më të fundit Raspbian Jessie në SD. Për këtë projekt, Jessie Lite duhet të punojë.
www.raspberrypi.org/downloads/raspbian/
2) Me fletore, krijoni një skedar të quajtur vetëm "ssh" dhe përdorni Ruaj si "Të gjitha skedarët" në K: / ssh
Skedari mund të përmbajë gjithçka. It’sshtë emri i skedarit që është i rëndësishëm. NUK duhet të jetë "ssh.txt" !!!
3) Me fletore, krijoni një skedar të quajtur "wpa_supplicant.conf" me sa vijon:
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1
rrjet = {
ssid = "mySSID" psk = "fjalëkalimi im" key_mgmt = WPA-PSK}
Përdorni Ruaj si "Të gjithë skedarët" në K: / wpa_supplicant.conf Përsëri, mos lejoni që Notepad ta ndryshojë atë në "wpa_supplicant.conf.txt" !!
Kur e ndizni Raspberry për herë të parë, Jessie do t'i kërkojë ato dhe do të lidhet me Wi -Fi tuaj. Sidoqoftë, do të duhet të shikoni në Ruterin tuaj për adresën IP, pasi që është caktuar automatikisht.
Hapi 2: Lista e Pjesëve
- Raspberry Pi Zero (ose ndonjë Raspberry Pi, nëse madhësia nuk është çështje)
-
Skaner USB i kodeve me lazer USB
www.dx.com/p/ls-4209-laser-bar-code-scanner…
- Për Raspi Zero, shtoni përforcues Adafruit I2S 3W Class D
- Folës i vogël. (Për Pi 2, 3, përdorni amp & altoparlant të jashtëm.)
- Përshtatës USB Micro në USB OTG
- Paketë baterie 5V 1Amp USB të tilla sihttps://www.adafruit.com/products/1959
- Kabllo USB në mikro USB për paketën e baterisë.
- USB & Ethernet shpërndarës (të paktën për punën e konfigurimit fillestar, nuk nevojitet për Zero W ose Raspi 2, 3)
- Softuer nga GITHUB:
Hapi 3: Lexuesi i kodeve me lazer USB
Lexuesit e kodeve me lazer janë më falës në aftësinë e tyre për të skanuar një etiketë UPC sesa kamerat. Ata gjithashtu punojnë mirë edhe në etiketat e ndriçuara dobët ose të vendosura dobët.
Ju do të keni nevojë për mikro përshtatës USB në USB për ta lidhur atë në Zero.
Mbërthimi i dorës dhe këmbëzat e skanerit e bëjnë të lehtë përdorimin.
Gjithashtu jep reagime kur skanon me sukses një etiketë.
Për të bërë të ardhmen:
Në modelin përfundimtar, unë do ta shkurtoja kabllon për ta shkurtuar dhe ngjitur drejtpërdrejt në kunjat USB në Zero për të zvogëluar madhësinë dhe gjasat e një dështimi të lidhësit. Zero dhe bateria do të lidheshin drejtpërdrejt në pjesën e poshtme të dorezës së skanerit në një kuti të printuar 3D.
Hapi 4: Baza e të dhënave UPC
Kjo është pjesa më e dobët e projektit, pasi ka fjalë për fjalë miliona kode UPC dhe shumë pak baza të dhënash me burim të hapur në dispozicion për shkarkim. Fatkeqësisht, shumica e bazave të të dhënave UPC janë mjaft të shtrenjta dhe kërkojnë lidhje interneti.
Unë kam qenë në gjendje të bashkoj disa baza të të dhënave me burim të hapur (burimet në Shtojcën më poshtë), por edhe me gati 700,000 artikuj në të, një numër i madh mungojnë.
Për këtë qëllim, unë kam bërë dy gjëra; njëra është që të përqëndrohet në artikujt ushqimore në mënyrë specifike dhe tjetra është të shtojë një server në internet në Mjedër për të lejuar shtimin e kodeve të reja UPC me dorë, megjithëse, kjo kërkon të paktën lidhjen e rrjetit lokal.
Për të bërë të ardhmen:
Unë do ta bëja Zero W një "pikë e nxehtë" në mënyrë që të lidheni me të kudo për të shtuar kode të reja UPC.
Hapi 5: Tekst në fjalim
Kam përdorur programin tekst për të folur të quajtur "Flite", pasi kishte kompromisin më të mirë midis cilësisë së zërit dhe shpejtësisë së konvertimit në Zero. Të tjerët tingëlluan pak më mirë, por ishin shumë të ngadalshëm për t'u konvertuar.
Ju gjithashtu mund të shikoni tutorialin e Adafruit:
Vini re se do të duhet pak "stërvitje veshi" për t'u mësuar me lakimin e të folurit, por nuk është shumë keq.
Skanimi i të njëjtit artikull përsëri do të përsërisë audion.
Bërja e së ardhmes
Ndoshta shtoni një prizë kufje në mënyrë që ta keni më të lehtë për të moshuarit të dëgjojnë zërin në vende të zhurmshme.
Hapi 6: Fuqia e baterisë
Sistemi mund të drejtohet nga një bateri USB 5V, siç përdoret për të rimbushur celularët.
Kapja është se kur shkëputni baterinë ose bateria vdes, Pi do të rrëzohet me një shans që të korruptojë disqet SD.
Për ta zgjidhur këtë, nevojitet një buton që ekzekuton një komandë mbylljeje. Unë ndoshta do të përdor një si kjo:
www.element14.com/community/docs/DOC-78055…
(Po … një tjetër "Të ardhme për të bërë!")
Hapi 7: Pjesa I - Shtimi i audios në Pi Zero
(Kaloni këtë pjesë nëse nuk përdorni Zero!)
Në Pi Zero, do t'ju duhet të shtoni audio të jashtme, pasi nuk është e integruar. Kam përdorur koston e ulët "Adafruit I2S 3W Amplifier Breakout MAX98357A"
Kjo kërkon konfigurim duke përdorur mësimin e shkëlqyer të Adafruit në:
Siç tregohet në pjesën e instalimeve elektrike të tutorialit, lidheni:
• Amp Vin tek Raspi Zero Pi 5V • Amp GND tek Raspi Zero Pi GND • Amp DIN tek Raspi Zero Pi #21 • Amp BCLK tek Raspi Zero Pi #18 • Amp LRCLK tek Raspi Zero Pi #19
Lidhni një altoparlant të vogël me prizat audio në tabelë.
Konfigurimi i Pi Zero Adafruit Audio Software Gjithashtu i treguar në udhëzuesin e konfigurimit të softuerit Adafruit, ekzekutoni komandën CURL më poshtë:
$ curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash
Pas rindezjes, testoni audion duke përdorur testin e altoparlantit:
$ speaker -test -c2 --test = wav -w /usr/share/sounds/alsa/Front_Center.wav
Nëse keni probleme, kthehuni përmes tutorialit Adafruit duke filluar përsëri në përmbledhjen. Ju mund të keni nevojë të kaloni nëpër hapat "Instalimi i detajuar" në tutorial për të verifikuar të gjithë skedarët e azhurnuar.
Hapat e Rëndësishëm të Kërkuar për Zero & Max98357 Audio: Si parazgjedhje, audio ALSA funksionon vetëm në Stereo ndërsa teksti në të folur i Flite është mono. Gjithashtu, audio ka "pops" në të sa herë që fillon të luajë.
(Shih:
Ju duhet të bëni sa më poshtë:
1) Shtoni një rresht në /boot/config.txt
$ sudo nano /boot/config.txt
dtoverlay = i2s-mmap
2) Zëvendësoni /etc/asound.conf
$ sudo nano /etc/asound.conf
pcm.hifiberry {kartë hw lloji 0} pcm.! default {type plug slave.pcm "dmixer"} pcm.dmixer {type dmix ipc_key 1024 slave {pcm "hifiberry" channel 2}} ctl.dmixer {type hw card 0}
3) Rinisni Pi -në tuaj.
Provoni përsëri testin e Kryetarit. Duhet të tingëllojë më mirë tani. Pasi të keni përfunduar tutorialin e konfigurimit duke përfshirë testet audio, atëherë zëri duhet të jetë gati.
Vini re se mund të dëshironi të shtoni një prizë kufje për audio, nëse e çoni këtë në një dyqan ushqimesh dyqan ose në një mjedis të zhurmshëm.
Hapi 8: Pjesa II - Instalimi i Softuerit
Kjo supozon që ju tashmë keni Raspbian Jessie të instaluar dhe mund të hyni në linjën e komandës Linux. Ju nuk keni nevojë për versionin GUI të Raspbian, por është në rregull për t'u përdorur.
NUK keni nevojë për skanerin USB të kyçur për momentin, në rast se keni nevojë për portën USB për Ethernet ose tastierë/miun.
Sigurohuni që sistemi juaj operativ është i përditësuar:
$ sudo apt-merrni përditësim $ sudo apt-merrni azhurnim
Nga rreshti i komandës, shkoni te direktoria pi e shtëpisë dhe shkarkoni depon GITHUB:
$ cd/home/pi $ sudo apt install git $ git klon https://github.com/rgrokett/TalkingBarcodeReader….> https://github.com/rgrokett/TalkingBarcodeReader….> $ cd TalkingBarcodeReader $./install. sh
Kjo do të marrë ca kohë, veçanërisht nëse kjo është hera e parë dhe serveri në internet dhe PHP duhet të instalohen ose përditësohen. Nëse është e nevojshme, mund ta ekzekutoni këtë më shumë se një herë. Midis gjërave të tjera, kjo instalon skedarët e barkodit dhe bazën e të dhënave UPC në:/var/www/html/upc
Tjetra, redaktoni /etc/rc.local dhe shtoni rreshtin vijues para "daljes 0"
$ sudo nano /etc/rc.local
fi sudo /var/www/html/upc/bin/run.sh dalja 0
Pasi të përfundojë instalimi, mbyllni Pi -in tuaj dhe futni lexuesin e barkodit USB dhe riniseni.
$ sudo mbyllje tani
Ndizeni atë dhe duhet të dëgjoni një fjalim të shkurtër të fillimit.
Nëse është kështu, provoni të skanoni një bar kod nga një artikull ushqimor. Nëse gjithçka shkoi mirë, duhet ta dëgjoni që të flasë për artikullin (ose të flisni "Nuk u gjet"). Përndryshe, kontrolloni udhëzuesin e zgjidhjes së problemeve në vijim.
Hapi 9: Zgjidhja e problemeve
Nëse nuk dëgjoni tinguj, do t'ju duhet të provoni komandat e mëposhtme:
1) Verifikoni që teksti në fjalim funksionon:
$ sudo flite -zëri awb -t "testim"
Nëse merrni një gabim, sigurohuni që flite është instaluar:
$ sudo apt instaloni flite
Nëse merrni gabimin e mëposhtëm, sigurohuni që keni përditësuar /boot/config.txt dhe /etc/asound.conf të treguar në pjesën Audio Setup më sipër në Raspi Zero's: audio_open_alsa: dështoi në caktimin e numrit të kanaleve në 1. Argument i pavlefshëm.
Nëse nuk merrni asnjë gabim dhe asnjë zë, sigurohuni që tingulli juaj i mjedrës po funksionon.
sudo aplay /usr/share/sounds/alsa/Front_Center.wav
1) Ju mund të keni nevojë të nxirrni audio nga priza audio: (shiko fig. 1 më sipër)
$ sudo raspi -config -> 7 Opsione të Avancuara -> A4 Audio
2) Pasi të keni verifikuar mirë audio dhe tekst-në-fjalim, kontrolloni lexuesin e barkodit:
cd/var/www/html/upc/binsudo python./test.py
Ju duhet të shihni një numër numerik të barkodit të shfaqur kur skanoni një barkod. (Programi i testimit NUK përfshin dalje audio ose lidhje të bazës së të dhënave.)
3) Nëse e gjithë kjo është e mirë, atëherë kontrolloni skedarin "nohup.out" për mesazhe gabimi:
cd/var/www/html/upc/binsudo cat nohup.out
Problemet e mundshme mungojnë paketat ose lejet e këqija (ose BUG në kod!). Sigurohuni që sistemi juaj operativ është i përditësuar dhe rifilloni përsëri install.sh.
Shpresoj, ju jeni duke punuar deri tani!
Hapi 10: Pjesa III - Web Server
Meqenëse ka MILIONA kode UPC dhe bazat e të dhënave më publike (pra falas) janë vetëm një nëngrup i vogël i kodeve, ky projekt u përqëndrua në kodet UPC për ushqimet. Ai përfshin disa qindra mijëra artikuj, por shumë, shumë nuk do të gjenden.
Nëse keni nevojë të shtoni ose përditësoni bazën e të dhënave UPC, ekzistojnë dy programe; një linjë komande dhe një shfletues uebi. (zëvendësoni shifrat me numrin tuaj të artikullit UPC)
$ cd/var/www/html/upc/bin
$ sudo./addDB.sh 01234567890 "Artikulli im i ri"
Kjo do të shtojë një rekord në bazën e të dhënave. Përndryshe, sugjerohet të përdorni funksionin DB të shfletuesit të uebit.
Për GUI të Web Serverit, keni nevojë për adresën IP të mjedrës tuaj.
Për të gjetur adresën IP, mund të përdorni:
$ hostname -I 192.168.1.108
Nga një shfletues kompjuteri, shkoni te: https://192.168.1.108/upc/ Ju duhet të shihni një ekran të ngjashëm me atë në Fig.2 më sipër.
Nëse është kështu, mund të shtoni/përditësoni dhe fshini regjistrimet. Shkoni te Faqja e Fundit duke përdorur butonin ('> |') "regjistrimi i fundit" për të parë regjistrimet tuaja më të reja pasi ato janë shtuar në fund të bazës së të dhënave.
SIGURIA SHOTNIM që ky shërbim në internet nuk është i siguruar, (pa vërtetim, pa SSL), kështu që më mirë të mos e ekspozoni atë në internetin publik. (Por meqenëse nuk është krijuar si një pikë hyrjeje WiFi, është e sigurt për tu transportuar në dyqan.)
Megjithëse, meqenëse nuk ka të dhëna private mbi të, më e keqja që mund të ndodhë është dikush që manipulon të dhënat e UPC.
Ju gjithashtu mund të kufizoni qasjen në adresa IP specifike në mënyrë që të mos hyjnë të tjerët. Thjesht zëvendësoni IP (të) këtu me ato që dëshironi të lejoni. Të gjithë të tjerët do të bllokohen nga qasja:
$ sudo vi /etc/lighttpd/lighttpd.conf
$ HTTP ["remoteip"] = ~ "127.0.0.1 | 192.168.1.108" {url.access-deny = ("")} $ sudo /etc/init.d/lighttpd rinis
Gjithashtu, NDRYSHO fjalëkalimin e paracaktuar të PI! Të gjithë e dinë që parazgjedhja është pi/mjedër
$ passwd
Hapi 11: Zgjidhja e problemeve në Web Server
Duke përdorur shfletuesin tuaj shkoni në adresën IP të Raspberry, si kjo:
192.168.1.108/
Ju duhet të shihni ekranin e paracaktuar nga /var/www/html/index.html (Fig.1 më lart)
Gjithashtu sigurohuni që serveri i uebit po funksionon:
$ ps -ef | grep lighttpd
Për të verifikuar që PHP është e mirë, krijoni një skedar testi php:
$ sudo nano /var/www/html/phpinfo.php
Pastaj shkoni te
Ju duhet të shihni një ekran si Fig.2 më lart
Nëse merrni gabime ose ekran të zbrazët, kontrolloni për gabime
$ sudo cat /var/log/lighttpd/error.log
Përsëri, rifunksionimi i install.sh mund të rregullojë varësitë që mungojnë.
Hapi 12: Shtojca
Një FALEMINDERI I MADH shkon në vijim për të vënë në dispozicion një bazë të dhënash të madhe UPC.
Hap UBC Ushqimore Ushqimore
www.grocery.com/open-grocery-database-proje…
Hapni DB Data
www.grocery.com/open-grocery-database-proje…
www.upc-search.org/perl/upc-search.pl?q=84…
Faleminderit EasyUI për uebin e thjeshtë CRUD GUI
www.jeasyui.com/index.php
Recommended:
Konvertuesi i tekstit në të folur Arduino duke përdorur LM386 - Duke folur për Projektin Arduino - Biblioteka Talkie Arduino: 5 hapa
Konvertuesi i tekstit në të folur Arduino duke përdorur LM386 | Duke folur për Projektin Arduino | Biblioteka Talkie Arduino: Përshëndetje djema, në shumë prej projekteve ne kërkojmë që arduino të flasë diçka si ora e folur ose të tregojë disa të dhëna në këtë udhëzues ne do ta shndërrojmë tekstin në të folur duke përdorur Arduino
Duke folur për Arduino - Luajtja e një MP3 me Arduino pa asnjë modul - Luajtja e skedarit Mp3 nga Arduino duke përdorur PCM: 6 hapa
Duke folur për Arduino | Luajtja e një MP3 me Arduino pa asnjë modul | Luajtja e skedarit Mp3 nga Arduino duke përdorur PCM: Në këtë udhëzues do të mësojmë se si të luajmë një skedar mp3 me arduino pa përdorur ndonjë modul audio, këtu do të përdorim bibliotekën PCM për Arduino e cila luan 16 bit PCM me frekuencë 8kHZ, kështu që le ta bëjmë këtë
Shirit me kokë për lexuesin e gjumit: 24 hapa (me fotografi)
Shirit për kokën e lexuesit të gjumit: A keni menduar ndonjëherë se si flini natën? Pajisjet si FitBit gjurmojnë gjumin duke analizuar lëvizjen tuaj gjatë gjithë natës, por ato nuk mund të shikojnë se çfarë po bën truri juaj. Pas një semestri të mësimit në lidhje me instrumentet mjekësore, klasa jonë po
Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: 8 hapa
Raspberry Pi Duke folur me ESP8266 Duke përdorur MQTT: Në këtë projekt, unë do të shpjegoj se çfarë është protokolli MQTT dhe si përdoret për të komunikuar midis pajisjeve. Pastaj, si një demonstrim praktik, unë do të demonstroj se si të vendosni një sistem klienti dhe ndërmjetësi, ku një modul ESP8266 si dhe RPi tal
Duke folur për kompjuter (Tinguj të personalizuar të Windows): 7 hapa
Duke folur për kompjuter (Tinguj të personalizuar të Windows): Në këtë udhëzues do t'ju mësoj nëse nuk e dini, si të bëni një kompjuter që do t'ju flasë në disa raste në varësi të asaj që bëni në kompjuterin tuaj gjatë gjithë ditës