Sisukord:

Vaarika Pi rääkiv vöötkoodi lugeja: 12 sammu
Vaarika Pi rääkiv vöötkoodi lugeja: 12 sammu

Video: Vaarika Pi rääkiv vöötkoodi lugeja: 12 sammu

Video: Vaarika Pi rääkiv vöötkoodi lugeja: 12 sammu
Video: Часть 2 — Аудиокнига «Анна из Эйвонлеи», Люси Мод Монтгомери (глы 12–20) 2024, November
Anonim
Vaarika Pi rääkiv vöötkoodi lugeja
Vaarika Pi rääkiv vöötkoodi lugeja

Joonis 1 DX.com vöötkoodiskanner

Ülevaade

Värskendus: lühike video demo on saadaval

Mu ema ei saa enam toidupoodidel silte lugeda, nii et ma otsisin lahendusi. Nähes, et pimedate vöötkoodilugejad maksavad sadu dollareid, tahtsin näha, mida saaks teha Raspberry Pi ja USB -vöötkoodilugeja abil.

Teine oluline jäljend oli see, et see peaks toimima ILMA Interneti -ühenduseta (näiteks poes või sõbra kodus). Seega pidi andmebaas ja tekst kõneks muutma iseseisev.

Proovisin vöötkoodilugeja kaamerapõhist versiooni, kuid valgustus ja kaamera asukoht tekitasid usaldusväärsuse probleeme neile, kes ei näe selgelt. Need nõudsid ka rakenduse seadistamiseks ja kasutamiseks nägemist. Niisiis läksin üle USB Laseri vöötkoodilugejale, eriti kuna need on nüüd saadaval alla 30 dollari eest ja Raspbian Jessie toetab neid kohe karbist välja.

Proovisin ka uut Amazon Dash Wandi, kuid see ei räägi skannitud üksusest ja selle toimimiseks on vaja Interneti -ühendust.

Idee oli skannida üksus ja lasta Raspberry päringul sisestada UPC-koodide andmebaas ning seejärel rääkida tekstist kõneks toote kirjeldus.

Seadme võimalikult väikeseks muutmiseks tahtsin kasutada Raspberry Pi Zero. Samuti tahtsin seadme aku tühjaks laadida.

Nende nõuete täitmiseks oli vaja mõningaid kompromisse. Kuna Zerol pole välist helipistikut, kasutasin uuesti oma projekti „Earthquake Pi” helikujundust, kuna see oli odav (umbes 6 dollarit) ja väga väike. Teise võimalusena võib „One Transistor Audio” asendada Pi Zeroga.

Laser -vöötkoodi skanneri jaoks leidsin selle saidilt DX.com. See on välja lülitatud Raspberry USB -lt ja maksab umbes 25 dollarit. (vt osi allpool)

1. samm: UUENDA

Raspberry Pi Zero W saabudes lähen sellele üle. Siin on kõik sama, välja arvatud see, et peate Pi -ga WiFi -ühenduse seadistama. See tähendab, et te ei vaja seadistamiseks ja kasutamiseks Zero jaoks USB -jaoturit.

WiFi seadistamiseks saate kasutada järgmist.

thepihut.com/blogs/raspberry-pi-tutorials/…

Kas sa teadsid?

Kui installite Raspbian Jessie SD -kaardile Windowsi personaalarvuti abil, saate enne Raspberryle käivitamist luua kaardile kaks faili, et konfigureerida WiFi ja SSH -juurdepääs?

Oletame, et teie SD -kaart on praegu arvutisse paigaldatud K:

1) Installige SD -le uusim Raspbian Jessie pilt. Selle projekti jaoks peaks Jessie Lite töötama.

www.raspberrypi.org/downloads/raspbian/

2) Märkmiku abil looge fail nimega “ssh” ja kasutage nuppu Salvesta nimega “Kõik failid” asukohta K: / ssh

Fail võib sisaldada kõike. Tähtis on failinimi. Ei tohi olla “ssh.txt” !!!

3) Märkmiku abil looge fail nimega “wpa_supplicant.conf” järgmiselt:

ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdevupdate_config = 1

võrk = {

ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}

Kasutage käsku Salvesta kui „Kõik failid” aadressile K: / wpa_supplicant.conf Jällegi, ärge laske Notepadil seda muuta „wpa_supplicant.conf.txt” !!

Vaarika esmakordsel käivitamisel otsib Jessie need üles ja loob ühenduse teie WiFi -ga. IP -aadressi peate siiski otsima oma ruuterist, kuna see on automaatselt määratud.

Samm: osade loend

  • Raspberry Pi Zero (või mis tahes Raspberry Pi, kui suurus pole probleem)
  • USB -vöötkoodi skanner

    www.dx.com/p/ls-4209-laser-bar-code-scanner…

  • Raspi Zero jaoks lisage Adafruit I2S 3W D klassi võimendihttps://www.adafruit.com/products/3006
  • Väike kõlar. (Pi 2, 3 puhul kasutage välist võimendit ja kõlarit.)
  • USB Micro to USB OTG adapterhttps://www.adafruit.com/products/2910
  • 5V 1Amp USB aku, näiteks
  • USB -mikro -USB -kaabel aku jaoks.
  • USB- ja Ethernet -jaotur (vähemalt esialgseks seadistamiseks, pole Zero W või Raspi 2, 3 jaoks vajalik)
  • GITHUBi tarkvara:

Samm 3: USB -laser -vöötkoodi lugeja

USB -vöötkoodi lugeja
USB -vöötkoodi lugeja

Laser -vöötkoodilugejad on UPC -etiketi skaneerimisel andestavamad kui kaamerad. Need töötavad hästi ka halvasti valgustatud või halvasti paigutatud siltidel.

Selle Zero ühendamiseks vajate USB -USB mikroadapterit.

Skanneri käepide ja päästik muudavad selle kasutamise lihtsaks.

See annab tagasisidet ka siis, kui skaneerib edukalt.

Tulevased ülesanded:

Lõppkokkuvõttes lõikaksin kaabli selle lühendamiseks alla ja jootan otse Zero USB -nööpnõelte külge, et vähendada pistiku rikke suurust ja tõenäosust. Null ja aku kinnitatakse 3D -prinditud ümbrises otse skanneri käepideme põhja.

4. samm: UPC andmebaas

See on projekti kõige halvasti kaetud osa, kuna allalaadimiseks on sõna otseses mõttes miljoneid UPC-koode ja väga vähe avatud lähtekoodiga andmebaase. Kahjuks on enamik UPC andmebaase üsna hinnalised ja vajavad Interneti -ühendust.

Ma suutsin paar avatud lähtekoodiga andmebaasi kokku panna (allikad alltoodud lisas), kuid isegi ligi 700 000 üksuse puudumisel on suur hulk puudu.

Selleks olen teinud kahte asja; üks on keskenduda spetsiaalselt toidupoodidele ja teine on lisada Raspberryle veebiserver, mis võimaldab uute UPC -koodide käsitsi lisamist, kuid see nõuab vähemalt kohaliku võrguühendust.

Tulevased ülesanded:

Ma teeksin Zero W -st "leviala", et saaksite sellega ühenduse luua kõikjal, et lisada uusi UPC -koode.

Samm: tekst kõneks muutmiseks

Ma kasutasin teksti kõneks programmi nimega “Flite”, kuna sellel oli Zero -s parim kompromiss hääle kvaliteedi ja teisendamise kiiruse vahel. Teised kõlasid veidi paremini, kuid olid konverteerimiseks liiga aeglased.

Samuti saate vaadata Adafruit'i õpetust:

Pange tähele, et kõnekäändega harjumiseks kulub natuke kõrvaõpetust, kuid see pole liiga halb.

Sama üksuse uuesti skannimisel korratakse heli.

Tulevane ülesanne

Võib -olla lisada kõrvaklappide pesa, et eakatel oleks mürarikastes kohtades lihtsam häält kuulda.

6. samm: akutoide

Süsteemi saab käitada 5 V USB -patareist, näiteks mobiiltelefonide laadimiseks.

Konks on selles, et kui aku lahti ühendada või aku tühjaks saab, kukub Pi kokku ja võib SD -draivi rikkuda.

Selle lahendamiseks on vaja nuppu, mis käivitab väljalülitamise käsu. Tõenäoliselt kasutan sellist:

www.element14.com/community/docs/DOC-78055…

(Jah … järjekordne "Tulevane ülesanne!")

Samm 7: I osa - heli lisamine Pi Zero -le

I osa - heli lisamine Pi Zero -le
I osa - heli lisamine Pi Zero -le
I osa - heli lisamine Pi Zero -le
I osa - heli lisamine Pi Zero -le
I osa - heli lisamine Pi Zero -le
I osa - heli lisamine Pi Zero -le

(Kui see null puudub, jätke see osa vahele!)

Pi Zero puhul peate lisama välise heli, kuna see pole sisseehitatud. Kasutasin odavat “Adafruit I2S 3W võimendi läbimurret MAX98357A”

See nõuab seadistamist, kasutades Adafruit'i suurepärast õpetust aadressil:

Ühendage, nagu on näidatud õpetuse juhtmestiku osas:

• 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

Ühendage väike kõlar tahvli helijuhtmetega.

Pi Zero Adafruit helitarkvara seadistamine Samuti näidatakse Adafruit tarkvara häälestusõpetuses, täitke allolev käsk CURL:

$ curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | lööma

Pärast taaskäivitamist kontrollige heli kõlaritesti abil:

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

Kui teil on probleeme, minge tagasi Adafruit'i õpetuse kaudu, alustades ülevaatest. Kõigi värskendatud failide kontrollimiseks peate võib -olla läbima õpetuse jaotise „Üksikasjalik installimine”.

Olulised vajalikud sammud Zero & Max98357 heli jaoks: Vaikimisi töötab ALSA heli ainult stereosüsteemis, samal ajal kui Flite tekst kõneks on mono. Lisaks on helil "hüppab" sisse iga kord, kui see mängima hakkab.

(Vaata:

Peate tegema järgmist.

1) Lisage rida failile /boot/config.txt

$ sudo nano /boot/config.txt

dtoverlay = i2s-mmap

2) Asendage /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 ori {pcm "hifiberry" kanalid 2}} ctl.dmixer {type hw card 0}

3) Taaskäivitage oma Pi.

Proovige kõlaritesti uuesti. See peaks nüüd paremini kõlama. Kui olete häälestusõpetuse, sealhulgas helitestid, lõpetanud, peaks heli olema valmis.

Pange tähele, et kui soovite selle toidupoodi või mürarikkasse keskkonda viia, võite heli jaoks lisada kõrvaklappide pesa.

8. samm: II osa - tarkvara installimine

See eeldab, et teil on Raspbian Jessie juba installitud ja pääsete juurde Linuxi käsureale. Te ei vaja Raspbiani GUI -versiooni, kuid seda saab kasutada.

Te ei vaja hetkel USB -skannerit, kui vajate USB -porti Etherneti või klaviatuuri/hiire jaoks.

Veenduge, et teie OS oleks ajakohane:

$ sudo apt-get update $ sudo apt-get upgrade

Minge käsurealt pi kodukataloogi ja laadige alla GITHUBi hoidla:

$ cd/home/pi $ sudo apt install git $ git kloon https://github.com/rgrokett/TalkingBarcodeReader….> https://github.com/rgrokett/TalkingBarcodeReader….> $ cd TalkingBarcodeReader $./install. sh

See võtab natuke aega, eriti kui see on esimene kord ja veebiserver ja PHP tuleb installida või värskendada. Vajadusel saate seda käivitada mitu korda. Muu hulgas installib see vöötkoodifailid ja UPC andmebaasi aadressile:/var/www/html/upc

Seejärel redigeerige /etc/rc.local ja lisage järgmine rida enne väljumist 0

$ sudo nano /etc/rc.local

fi sudo /var/www/html/upc/bin/run.sh exit 0

Kui installimine on lõpule viidud, lülitage Pi välja ja ühendage USB -vöötkoodilugeja ning taaskäivitage.

$ sudo sulgub kohe

Lülitage see sisse ja peaksite kuulda lühikest käivituskõnet.

Kui jah, proovige toidupoest vöötkoodi skannida. Kui kõik läks hästi, peaksite kuulma, kuidas see üksus räägib (või lausuge „Ei leitud”). Vastasel korral vaadake järgmiselt tõrkeotsingu juhendit.

9. samm: tõrkeotsing

Tõrkeotsing
Tõrkeotsing

Kui te ei kuule helisid, peate proovima järgmisi käske:

1) Veenduge, et tekst kõneks heli töötab:

$ sudo flite -voice awb -t "testimine"

Kui kuvatakse tõrge, veenduge, et flite oleks installitud:

$ sudo apt install flite

Kui kuvatakse järgmine tõrge, värskendage kindlasti /boot/config.txt ja /etc/asound.conf, mis on näidatud Raspi Zero ülaltoodud jaotises Heli häälestus: audio_open_alsa: ebaõnnestus kanalite arvu määramine väärtusele 1. Vale argument.

Kui te ei saa viga ega heli, veenduge, et teie Raspberry heli töötab.

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

1) Võimalik, et peate heli helipistikust välja sundima: (vt joonist 1 ülal)

$ sudo raspi -config -> 7 Täpsemad valikud -> A4 heli

2) Kui olete heli ja tekst kõneks kinnitanud, kontrollige vöötkoodilugejat:

cd/var/www/html/upc/binsudo python./test.py

Vöötkoodi skannimisel peaksite nägema numbrilist vöötkoodi numbrit. (Testprogramm EI sisalda heliväljundit ega andmebaasiühendusi.)

3) Kui see kõik on hea, kontrollige veateateid failist „nohup.out”:

cd/var/www/html/upc/binsudo cat nohup.out

Tõenäoliselt on probleemideks puuduvad paketid või halvad õigused (või vead koodis!). Veenduge, et teie OS oleks ajakohane ja käivitage install.sh uuesti.

Loodetavasti töötate praeguseks!

10. samm: III osa - veebiserver

III osa - veebiserver
III osa - veebiserver

Kuna UPC -koode on miljoneid ja enamik avalikult (st tasuta) saadaolevaid andmebaase on vaid väike koodide alamhulk, keskendus see projekt toidukaupade UPC -koodidele. See sisaldab mitusada tuhat eset, kuid palju -palju jääb leidmata.

Kui teil on vaja UPC andmebaasi lisada või värskendada, on saadaval kaks programmi; käsurea ja üks veebibrauser. (asendage numbrid oma UPC kauba numbriga)

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

$ sudo./addDB.sh 01234567890 “Minu uus üksus”

See lisab andmebaasi kirje. Vastasel juhul on soovitatav kasutada veebibrauseri DB -funktsiooni.

Veebiserveri GUI jaoks vajate oma vaarika IP -aadressi.

IP -aadressi leidmiseks võite kasutada järgmist.

$ hostinimi -I 192.168.1.108

Minge arvuti brauseris aadressile: https://192.168.1.108/upc/Ne peaksite nägema ülaltoodud joonisel 2 kuvatut.

Kui jah, saate kirjeid lisada/värskendada ja kustutada. Navigeerige viimasele lehele, kasutades nuppu („> |”) „Viimane kirje”, et näha oma uusimaid kirjeid, nagu need on andmebaasi lõppu lisatud.

TURVAMÄRKUS, et see veebiteenus ei ole turvatud (puudub autentimine, SSL puudub), seega on parem mitte avalikustada seda avalikule Internetile. (Aga kuna see pole WiFi pääsupunktiks seadistatud, on see poodi kaasaskandmine ohutu.)

Kuigi selle kohta pole privaatseid andmeid, võib halvim juhtuda see, et keegi manipuleerib UPC andmetega.

Samuti saate piirata juurdepääsu teatud IP -aadressidele, et teised ei pääseks sisse. Asendage siin lihtsalt need IP -d, mida soovite lubada. Kõigil teistel on juurdepääs blokeeritud:

$ 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

MUUTA ka PI vaikeparooli! Kõik teavad, et vaikimisi on pi/vaarikas

$ passwd

Samm: veebiserveri tõrkeotsing

Veebiserveri tõrkeotsing
Veebiserveri tõrkeotsing
Veebiserveri tõrkeotsing
Veebiserveri tõrkeotsing

Minge oma brauseri abil oma Vaarika IP -aadressile järgmiselt.

192.168.1.108/

Peaksite nägema vaikeekraani /var/www/html/index.html (joonis 1 ülal)

Samuti veenduge, et veebiserver töötab:

$ ps -ef | grep lighttpd

PHP hea olemasolu kontrollimiseks looge php testfail:

$ sudo nano /var/www/html/phpinfo.php

Seejärel minge aadressile

Te peaksite nägema sellist ekraani nagu joonis 2 ülal

Kui kuvatakse vead või tühjad ekraanid, kontrollige vigade olemasolu

$ sudo kass /var/log/lighttpd/error.log

Jällegi võib install.sh uuesti käivitamine parandada puuduvaid sõltuvusi.

12. samm: lisa

SUUR TÄNU järgneb järgmisele suure UPC andmebaasi kättesaadavaks tegemise eest.

Avage toidukaupade UPC DB

www.grocery.com/open-grocery-database-proje…

Avage Data DB

www.grocery.com/open-grocery-database-proje…

www.upc-search.org/perl/upc-search.pl?q=84…

Tänu EasyUI -le lihtsa veebipõhise CRUD GUI eest

www.jeasyui.com/index.php

Soovitan: