Orodha ya maudhui:

Msomaji wa Barcode ya Raspberry Pi Kuzungumza: Hatua 12
Msomaji wa Barcode ya Raspberry Pi Kuzungumza: Hatua 12

Video: Msomaji wa Barcode ya Raspberry Pi Kuzungumza: Hatua 12

Video: Msomaji wa Barcode ya Raspberry Pi Kuzungumza: Hatua 12
Video: 🟡 POCO X5 PRO - САМЫЙ ДЕТАЛЬНЫЙ ОБЗОР и ТЕСТЫ 2024, Novemba
Anonim
Msomaji wa Barcode ya Kuzungumza Raspberry Pi
Msomaji wa Barcode ya Kuzungumza Raspberry Pi

Mtini. 1 Barcode Scanner kutoka DX.com

Maelezo ya jumla

Sasisho: Demo fupi ya video inapatikana

Mama yangu hawezi kusoma lebo kwenye vitu vya mboga tena, kwa hivyo nilienda kutafuta suluhisho. Baada ya kuona wasomaji wa nambari ya bar kwa vipofu wanaendesha mamia ya dola, nilitaka kuona ni nini kifanyike kwa kutumia Raspberry Pi na msomaji wa Barcode ya USB.

Uigaji mwingine muhimu ni kwamba hii inapaswa kufanya kazi BILA muunganisho wa mtandao (kama vile kwenye duka au nyumba ya rafiki). Kwa hivyo hifadhidata na maandishi-kwa-hotuba ilibidi vijitegemea.

Nilijaribu toleo la kamera kulingana na msomaji wa nambari ya upau, lakini taa na nafasi ya kamera zilisababisha maswala ya kuaminika kwa mtu asiyeweza kuona wazi. Hizi pia zinahitaji kuona ili kuanzisha na kutumia programu. Kwa hivyo nikabadilisha msomaji wa nambari ya bar ya USB Laser, haswa kwani sasa zinapatikana chini ya $ 30 na Raspbian Jessie huwaunga mkono nje ya sanduku.

Nilijaribu pia Amazon Dash Wand mpya lakini haizungumzii kipengee kilichochanganuliwa na inahitaji unganisho la Mtandao kufanya kazi.

Wazo lilikuwa kuchanganua kipengee na kuwa na swala la Raspberry hifadhidata ya ndani ya nambari za UPC kisha uzungumze maelezo ya bidhaa kwa kutumia maandishi-kwa-hotuba.

Ili kufanya kitengo kuwa kidogo iwezekanavyo, nilitaka kutumia Raspberry Pi Zero. Nilitaka pia kuzima kitengo mbali na nguvu ya betri pia.

Ili kukidhi mahitaji haya baadhi ya biashara zilihitajika. Kwa kuwa Zero haina jack ya sauti ya nje nilitumia tena muundo wa sauti kutoka kwa mradi wangu wa "Earthquake Pi" kwani ilikuwa gharama ya chini (karibu $ 6) na ndogo sana. Vinginevyo, kubadilisha "One Transistor Audio kwa Pi Zero" kunawezekana.

Kwa skana ya Nambari ya Baa ya Laser, nimepata moja kutoka kwa DX.com. Imezimwa kwenye Raspberry USB na hugharimu karibu $ 25. (tazama Sehemu hapa chini)

Hatua ya 1: SASISHA

Pamoja na kuwasili kwa Raspberry Pi Zero W, nitaibadilisha. Kila kitu hapa ni sawa, isipokuwa kwamba unahitaji kuanzisha unganisho la WiFi kwa Pi. Hii inamaanisha kuwa hutahitaji kitovu cha USB kwa Zero kwa usanidi na matumizi.

Unaweza kuanzisha WiFi kwa kutumia:

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

Ulijua?

Ikiwa utaweka Raspbian Jessie kwenye kadi ya SD ukitumia Windows PC, unaweza kuunda faili mbili kwenye kadi kusanidi ufikiaji wa WiFi na SSH kabla ya kuiwasha kwenye Raspberry?

Kwa hili, fikiria kadi yako ya SD imewekwa kama K: kwenye PC yako:

1) Sakinisha picha ya hivi karibuni ya Raspbian Jessie kwenye SD. Kwa mradi huu, Jessie Lite anapaswa kufanya kazi.

www.raspberrypi.org/downloads/raspbian/

2) Ukiwa na kijarida, tengeneza faili inayoitwa "ssh" na utumie Hifadhi Kama "Faili Zote" kwa K: / ssh

Faili inaweza kuwa na chochote. Ni jina la faili ambalo ni muhimu. Haipaswi kuwa "ssh.txt" !!!

3) Ukiwa na daftari, tengeneza faili inayoitwa "wpa_supplicant.conf" na ifuatayo:

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

mtandao = {

ssid = "mySSID" psk = "neno kuu" key_mgmt = WPA-PSK}

Tumia Hifadhi Kama "Faili Zote" kwa K: / wpa_supplicant.conf Tena, usiruhusu Notepad ibadilishe kuwa "wpa_supplicant.conf.txt" !!

Unapowasha Raspberry mara ya kwanza, Jessie atatafuta hizi na kuungana na Wifi yako. Itabidi uangalie Router yako kwa anwani ya IP, ingawa, kwa kuwa imepewa kiotomatiki.

Hatua ya 2: Orodha ya Sehemu

  • Raspberry Pi Zero (au Raspberry Pi yoyote, ikiwa saizi sio suala)
  • Skana skanni ya msimbo wa USB Laser

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

  • Kwa Raspi Zero, ongeza Amplifier ya Adafruit I2S 3W Class D
  • Spika ndogo. (Kwa Pi 2, 3, tumia amp & spika ya nje.)
  • USB Micro kwa adapta ya OTG ya USBhttps://www.adafruit.com/products/2910
  • Kifurushi cha betri ya 5V 1Amp ya USB vile ashttps://www.adafruit.com/products/1959
  • USB kwa kebo ndogo ya USB kwa kifurushi cha betri.
  • USB & Ethernet hub (angalau kwa kazi ya usanidi wa awali, haihitajiki kwa Zero W au Raspi 2, 3)
  • Programu kutoka GITHUB:

Hatua ya 3: Msomaji wa Nambari ya Bar ya Laser ya USB

Msomaji wa Nambari ya Bar ya Laser ya USB
Msomaji wa Nambari ya Bar ya Laser ya USB

Wasomaji wa nambari ya bar ya Laser wanasamehe zaidi kwa uwezo wao wa kuchanganua lebo ya UPC kuliko kamera. Pia hufanya kazi vizuri hata kwenye lebo zenye taa dhaifu au zilizowekwa vibaya.

Utahitaji USB kwa adapta ndogo ya USB ili kuziba kwenye Zero.

Kushika mkono na kichocheo cha skana hufanya iwe rahisi kutumia.

Pia hutoa maoni wakati inafanikiwa kutazama lebo.

ToDo ya baadaye:

Katika muundo wa mwisho, ningekata kebo ili kuifupisha na kuuzia moja kwa moja kwenye pini za USB kwenye Zero kupunguza saizi na uwezekano wa kutofaulu kwa kiunganishi. Zero na betri zingeambatanishwa moja kwa moja chini ya kishikizo cha skana katika kasha iliyochapishwa ya 3D.

Hatua ya 4: Hifadhidata ya UPC

Hii ndio sehemu iliyofunikwa vibaya zaidi ya mradi, kwani kuna mamilioni ya nambari za UPC na hifadhidata chache za chanzo wazi zinazoweza kupakuliwa. Kwa bahati mbaya, hifadhidata nyingi za UPC ni za bei ghali na zinahitaji muunganisho wa mtandao.

Niliweza kuweka hifadhidata ya chanzo-wazi pamoja (vyanzo katika Kiambatisho hapa chini), lakini hata na karibu vitu 700,000 ndani yake, idadi kubwa haipo.

Ili kufikia mwisho huu, nimefanya mambo mawili; moja ni kuzingatia vitu vya mboga haswa na nyingine ni kuongeza seva ya wavuti kwenye Raspberry kuruhusu kuongeza nambari mpya za UPC kwa mikono, ingawa, hii inahitaji unganisho la mtandao wa karibu.

ToDo ya baadaye:

Ningefanya Zero W kuwa "hotspot" ili uweze kuungana nayo mahali popote kuongeza nambari mpya za UPC.

Hatua ya 5: Nakala-kwa-Hotuba

Nilitumia programu ya maandishi kwenda kwa hotuba inayoitwa "Flite", kwani ilikuwa na maelewano bora kati ya ubora wa sauti na kasi ya uongofu kwenye Zero. Wengine walisikika vizuri kidogo, lakini walikuwa wepesi sana kubadilisha.

Unaweza pia kuangalia mafunzo ya Adafruit:

Kumbuka kuwa itachukua "mafunzo ya sikio" kidogo kuzoea ushawishi wa hotuba, lakini sio mbaya sana.

Kuchanganua tena bidhaa hiyo hiyo kutarudia sauti.

ToDo ya baadaye

Labda ongeza kipaza sauti ili iwe rahisi kwa wazee kusikia sauti katika sehemu zenye kelele.

Hatua ya 6: Nguvu ya Betri

Mfumo unaweza kuendeshwa kutoka kwa betri ya USB 5V, kama vile kutumika kuchaji simu za rununu.

Kukamata ni kwamba unapochomoa betri au betri ikifa, Pi itaanguka na nafasi ya kwamba itaharibu gari la SD.

Ili kutatua hili, kifungo kinachoendesha amri ya kuzima inahitajika. Labda nitatumia moja kama hii:

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

(Ndio… mwingine "ToDo ya baadaye!")

Hatua ya 7: Sehemu ya I - Kuongeza Sauti kwa Pi Zero

Sehemu ya I - Kuongeza Sauti kwa Pi Zero
Sehemu ya I - Kuongeza Sauti kwa Pi Zero
Sehemu ya I - Kuongeza Sauti kwa Pi Zero
Sehemu ya I - Kuongeza Sauti kwa Pi Zero
Sehemu ya I - Kuongeza Sauti kwa Pi Zero
Sehemu ya I - Kuongeza Sauti kwa Pi Zero

(Ruka sehemu hii ikiwa haitumii Sifuri!)

Kwenye Pi Zero, utahitaji kuongeza sauti ya nje, kwani haijengwa ndani. Nilitumia gharama ya chini "Adafruit I2S 3W kuzuka kwa Amplifier MAX98357A"

Hii inahitaji usanidi kwa kutumia mafunzo bora ya Adafruit katika:

Kama inavyoonyeshwa katika sehemu ya wiring ya mafunzo, unganisha:

• Amp Vin kwa Raspi Zero Pi 5V • Amp GND hadi Raspi Zero Pi GND • Amp DIN hadi Raspi Zero Pi # 21 • Amp BCLK hadi Raspi Zero Pi # 18 • Amp LRCLK hadi Raspi Zero Pi # 19

Unganisha spika ndogo kwa vichwa vya sauti kwenye ubao.

Usanidi wa Programu ya Sauti ya Pi Zero pia imeonyeshwa kwenye mafunzo ya usanidi wa programu ya Adafruit, fanya amri ya CURL hapa chini:

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

Baada ya kuanza upya, jaribu sauti ukitumia jaribio la spika:

$ spika-mtihani -c2 - mtihani = wav -w / usr / shiriki / sauti / alsa/Front_Center.wav

Ikiwa una shida, rudi nyuma kupitia mafunzo ya Adafruit kuanzia nyuma kwenye muhtasari. Unaweza kuhitaji kupitia hatua za "Usanidi wa kina" katika mafunzo ili kudhibitisha faili zote zimesasishwa.

Hatua Muhimu Zinazohitajika kwa Zero & Max98357 Audio: Kwa chaguo-msingi, sauti ya ALSA inafanya kazi tu katika Stereo wakati Flite maandishi-kwa-hotuba ni mono. Pia, sauti ina "pops" ndani yake kila wakati inapoanza kucheza.

(Tazama:

Lazima ufanye yafuatayo:

1) Tumia laini kwenye / boot/config.txt

$ sudo nano / boot/config.txt

dtoverlay = i2s-mmap

2) Badilisha / nk / ultrasound.conf

$ sudo nano /etc/asound.conf

pcm.hifiberry {aina hw kadi 0} pcm.! chaguomsingi {type plug slave.pcm "dmixer"} pcm.dmixer {type dmix ipc_key 1024 slave {pcm "hifiberry" channels 2}} ctl.dmixer {type hw card 0}

3) Anzisha tena Pi yako.

Jaribu Spika-jaribio tena. Inapaswa kusikika vizuri sasa. Ukishakamilisha mafunzo ya usanidi pamoja na vipimo vya sauti, basi sauti inapaswa kuwa tayari.

Kumbuka kuwa unaweza kutaka kuongeza kipaza sauti kwa sauti, ikiwa utachukua hii kwenye duka la vyakula au mazingira yenye kelele.

Hatua ya 8: Sehemu ya II - Usakinishaji wa Programu

Hii inadhani tayari umeweka Raspbian Jessie na anaweza kufikia laini ya amri ya Linux. Huna haja ya toleo la GUI la Raspbian, lakini ni sawa kutumia.

HUNA haja ya skana ya USB iliyowekwa ndani kwa sasa, ikiwa unahitaji bandari ya USB ya Ethernet au kibodi / panya.

Hakikisha OS yako imesasishwa:

$ sudo apt-pata sasisho $ sudo apt-pata sasisho

Kutoka kwa mstari wa amri, nenda kwenye saraka ya nyumbani ya pi na upakue ghala la GITHUB:

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

Hii itachukua muda, haswa ikiwa hii ni mara ya kwanza na seva ya wavuti na PHP zinahitaji kusanikishwa au kusasishwa. Ikiwa ni lazima, unaweza kuendesha hii zaidi ya mara moja. Miongoni mwa mambo mengine, hii inasakinisha faili za barcode na hifadhidata ya UPC kwa: / var / www / html / upc

Ifuatayo, hariri / etc / rc.local na ambatisha laini ifuatayo kabla ya "kutoka 0"

$ sudo nano /etc/rc.local

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

Mara baada ya usakinishaji kukamilika, funga Pi yako na unganisha kisomaji cha Msimbo wa Kia USB na uanze upya.

$ sudo kuzima sasa

Ipe nguvu na unapaswa kusikia hotuba fupi ya kuanza.

Ikiwa ni hivyo, jaribu skanua msimbo wa baa kutoka kwa bidhaa ya mboga. Ikiwa yote yameenda vizuri, unapaswa kusikia ikisema kitu hicho (au sema "Haikupatikana"). Vinginevyo, angalia mwongozo wa utatuzi ijayo.

Hatua ya 9: Utatuzi wa matatizo

Utatuzi wa shida
Utatuzi wa shida

Ikiwa hausiki sauti yoyote, utahitaji kujaribu amri zifuatazo:

1) Thibitisha sauti ya maandishi-kwa-hotuba inafanya kazi:

$ sudo flite - sauti awb -t "kupima"

Ukipata hitilafu, hakikisha flite imewekwa:

$ sudo apt kufunga flite

Ukipata hitilafu ifuatayo, hakikisha umesasisha / boot /config.txt na /etc/asound.conf iliyoonyeshwa katika sehemu ya Usanidi wa Sauti hapo juu kwenye Raspi Zero's: audio_open_alsa: imeshindwa kuweka idadi ya vituo kuwa 1. Hoja batili.

Ikiwa hautapata kosa na hakuna sauti, hakikisha sauti yako ya Raspberry inafanya kazi.

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

1) Unaweza kuhitaji kulazimisha sauti kutoka kwa sauti ya sauti: (tazama mtini 1 hapo juu)

$ sudo raspi-config -> Chaguzi 7 za hali ya juu -> Sauti ya A4

2) Mara tu unapokuwa na sauti na maandishi-kwa-hotuba imethibitishwa vizuri, angalia msomaji wa barcode:

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

Unapaswa kuona nambari ya msimbo wa nambari iliyoonyeshwa wakati unachanganua msimbo wa msimbo. (Mpango wa jaribio haujumuishi pato la sauti au unganisho la hifadhidata.)

3) Ikiwa hii yote ni nzuri, basi angalia faili ya "nohup.out" kwa ujumbe wa makosa:

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

Maswala yanayowezekana yanakosa vifurushi au ruhusa mbaya (au BUG kwenye nambari!). Hakikisha OS yako imesasishwa na urejeshe tena install.sh tena.

Tunatumahi, unafanya kazi kwa sasa!

Hatua ya 10: Sehemu ya III - Seva ya Wavuti

Sehemu ya III - Seva ya Wavuti
Sehemu ya III - Seva ya Wavuti

Kwa kuwa kuna mamilioni ya nambari za UPC na hifadhidata nyingi zinazopatikana hadharani (yaani bure) ni seti ndogo tu ya nambari, mradi huu ulizingatia nambari za UPC za ununuzi. Inajumuisha vitu laki kadhaa, lakini nyingi, nyingi hazitapatikana.

Ikiwa unahitaji kuongeza au kusasisha Hifadhidata ya UPC, kuna programu mbili zinazopatikana; mstari wa amri moja na kivinjari kimoja. (badilisha nambari na nambari yako ya bidhaa ya UPC)

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

$ sudo./addDB.sh 01234567890 "Bidhaa yangu mpya"

Hii itaongeza rekodi kwenye hifadhidata. Vinginevyo, inashauriwa kutumia kazi ya kivinjari cha DB.

Kwa GUI ya Seva ya Wavuti, unahitaji anwani ya IP ya rasipberry yako.

Kupata anwani ya IP, unaweza kutumia:

$ hostname -I 192.168.1.108

Kutoka kwa kivinjari cha PC, nenda kwa: https://192.168.1.108/upc/ Unapaswa kuona skrini inayofanana na ile iliyo kwenye Mtini. 2 hapo juu.

Ikiwa ndivyo, unaweza kuongeza / kusasisha na kufuta rekodi. Nenda kwenye Ukurasa wa Mwisho ukitumia kitufe cha ('> |') "rekodi ya mwisho" ili uone rekodi zako mpya zaidi kwani zinaambatanishwa hadi mwisho wa hifadhidata.

FANYA USALAMA kuwa huduma hii ya wavuti haijalindwa, (hakuna uthibitishaji, hakuna SSL), kwa hivyo sio bora kuifunua kwa Wavuti ya umma. (Lakini kwa kuwa haijawekwa kama Kituo cha Ufikiaji cha WiFi, ni salama kubeba hadi dukani.)

Ingawa, kwa kuwa hakuna data ya faragha juu yake, mbaya zaidi ambayo inaweza kutokea ni mtu anayesumbua data ya UPC.

Unaweza pia kupunguza ufikiaji wa anwani maalum za IP ili hakuna wengine wanaoweza kuingia. Badilisha tu IP (s) hapa kwa zile unazotaka kuruhusu. Wengine wote watazuiwa kufikia:

$ sudo vi /etc/lighttpd/lighttpd.conf

$ HTTP ["remoteip"] = ~ "127.0.0.1 | 192.168.1.108" {url.access-deni = ("")} $ sudo /etc/init.d/lighttpd kuanzisha upya

Pia, BADILISHA nenosiri la PI chaguomsingi! Kila mtu anajua chaguo-msingi ni pi / raspberry

$ kupita

Hatua ya 11: Kusuluhisha utaftaji wa Seva ya Wavuti

Kutatua matatizo ya Seva ya Wavuti
Kutatua matatizo ya Seva ya Wavuti
Kusuluhisha matatizo ya Seva ya Wavuti
Kusuluhisha matatizo ya Seva ya Wavuti

Kutumia kivinjari chako nenda kwenye anwani yako ya IP ya Raspberry, kama hii:

192.168.1.108/

Unapaswa kuona skrini chaguomsingi kutoka /var/www/html/index.html (Mtini. 1 hapo juu)

Pia hakikisha kuwa seva ya wavuti inaendesha:

$ ps -ef | grep taa

Ili kudhibitisha PHP ni nzuri, tengeneza faili ya jaribio la php:

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

Kisha nenda kwa https:// 192.168.1.108/phpinfo.php

Unapaswa kuona skrini kama Mtini. 2 hapo juu

Ikiwa unapata makosa au skrini tupu, angalia makosa katika

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

Tena, kurudisha usanidi.sh inaweza kurekebisha utegemezi uliopotea.

Hatua ya 12: Kiambatisho

SHUKRANI KUBWA huenda kwa yafuatayo kwa kupeana hifadhidata kubwa ya UPC.

Fungua Maduka UPC DB

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

Fungua Takwimu DB

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

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

Shukrani kwa EasyUI kwa wavuti rahisi ya CRUD GUI

www.jeasyui.com/index.php

Ilipendekeza: