Мазмұны:

Штрих -кодты оқитын Raspberry Pi оқырманы: 12 қадам
Штрих -кодты оқитын Raspberry Pi оқырманы: 12 қадам

Бейне: Штрих -кодты оқитын Raspberry Pi оқырманы: 12 қадам

Бейне: Штрих -кодты оқитын Raspberry Pi оқырманы: 12 қадам
Бейне: 🔴 PERFUMES QUE NO QUIERO COMPRAR - Me Ahorro 250 euros... - SUB 2024, Қараша
Anonim
Штрих -кодты оқитын Raspberry Pi оқырманы
Штрих -кодты оқитын Raspberry Pi оқырманы

Сурет 1 DX.com штрих -код сканері

Шолу

Жаңарту: қысқа бейне демо қол жетімді

Менің анам азық -түлік тауарларының жапсырмаларын оқи алмайды, сондықтан мен шешімдерді іздедім. Соқырларға арналған штрих -кодты оқитындар жүздеген долларға жүгіретінін көргеннен кейін, мен Raspberry Pi мен штрих -кодты USB оқу құралының көмегімен не істеуге болатынын білгім келді.

Тағы бір маңызды имитация - бұл Интернетке қосылусыз жұмыс істеуі керек еді (мысалы, дүкенде немесе досының үйінде). Сондықтан мәліметтер қоры мен мәтінді сөйлеу дербес болуы керек еді.

Мен штрих -кодты оқу құралының камераға негізделген нұсқасын қолданып көрдім, бірақ жарықтандыру мен камераның орналасуы анық көре алмайтындардың сенімділігіне байланысты мәселелер туғызды. Бұл сонымен қатар қолданбаны орнату және пайдалану үшін көру қажет болды. Мен USB -лазерлік штрих -кодты оқуға ауыстым, әсіресе олар қазір 30 доллардан төмен болғандықтан және Raspbian Jessie оларды қораптан шығармай қолдайды.

Мен жаңа Amazon Dash таяқшасын да сынап көрдім, бірақ ол сканерленген элементпен сөйлеспейді және жұмыс істеу үшін интернет байланысы қажет.

Идея-бұл элементті сканерлеу және Raspberry сұранысын UPC кодтарының ішкі дерекқоры, содан кейін мәтінді сөйлеу арқылы өнімнің сипаттамасын айту.

Құрылғыны мүмкіндігінше кішірейту үшін мен Raspberry Pi Zero қолданғым келді. Мен сондай -ақ құрылғыны батарея қуатынан ажыратқым келді.

Бұл талаптарды орындау үшін кейбір айырбас қажет болды. Zero -да сыртқы аудио ұясы болмағандықтан, мен «Earthquake Pi» жобасының аудио дизайнын қайта қолдандым, себебі ол төмен (шамамен 6 доллар) және өте аз болды. Сонымен қатар, «Pi Zero үшін бір транзисторлы аудионы» ауыстыруға болады.

Штрих -кодтың лазерлік сканері үшін мен оны DX.com сайтынан таптым. Ол Raspberry USB -ден ажыратылады және шамамен 25 доллар тұрады. (төмендегі бөліктерді қараңыз)

1 -қадам: ЖАҢАРТУ

Raspberry Pi Zero W келуімен мен оған ауысамын. Мұнда бәрі бірдей, тек Pi -ге WiFi қосылымын орнату қажет. Бұл сізге орнату және пайдалану үшін Zero үшін USB хабының қажет болмайтынын білдіреді.

Wi -Fi -ны келесі жолмен орнатуға болады:

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

Сіз білдіңіз бе?

Егер сіз Windows компьютерін қолдана отырып, Raspbian Jessie -ді SD картасына орнатсаңыз, сіз оны таңқурайға жүктемес бұрын WiFi мен SSH қатынасын конфигурациялау үшін картада екі файл жасай аласыз ба?

Бұл үшін сіздің SD картаңыз қазіргі уақытта компьютерде K: түрінде орнатылған деп есептеңіз:

1) SD -ге соңғы Raspbian Jessie бейнесін орнатыңыз. Бұл жоба үшін Джесси Лайт жұмыс істеуі керек.

www.raspberrypi.org/downloads/raspbian/

2) Блокнотпен тек «ssh» деп аталатын файл жасаңыз және «Барлық файлдар» ретінде сақтауды K: / ssh -ге қолданыңыз.

Файлда кез келген нәрсе болуы мүмкін. Бұл маңызды файл атауы. «Ssh.txt» болмауы керек !!!

3) Блокнотпен бірге wpa_supplicant.conf деп аталатын файл жасаңыз:

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

желі = {

ssid = «mySSID» psk = «mypassword» key_mgmt = WPA-PSK}

«Барлық файлдар» ретінде сақтауды K: / wpa_supplicant.conf күйіне қолданыңыз, Блокноттың оны «wpa_supplicant.conf.txt» етіп өзгертуіне жол бермеңіз !!

Таңқурайды бірінші рет жүктегенде, Джесси оларды іздейді және Wi -Fi желісіне қосылады. Сіз маршрутизатордан IP мекенжайын іздеуіңіз керек, бірақ ол автоматты түрде тағайындалған.

2 -қадам: бөлшектер тізімі

  • Raspberry Pi Zero (немесе кез келген Raspberry Pi, егер өлшемі мәселе болмаса)
  • Штрих -кодты сканерлейтін USB USB сканері

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

  • Raspi Zero үшін Adafruit I2S 3W D D күшейткішін қосыңыз.
  • Кішкене динамик. (Pi 2, 3 үшін сыртқы күшейткіш пен динамикті қолданыңыз.)
  • USB Micro - USB OTG адаптері
  • 5V 1Amp USB батареялар жинағы, мысалы:
  • Батарея жинағына арналған USB - микро USB кабелі.
  • USB және Ethernet хабы (кем дегенде Zero W немесе Raspi 2, 3 үшін қажет емес бастапқы орнату жұмыстары үшін)
  • GITHUB бағдарламалық жасақтамасы:

3 -қадам: USB -лазерлік штрих -кодты оқу құралы

USB -лазерлік штрих -кодты оқу құралы
USB -лазерлік штрих -кодты оқу құралы

Штрих -кодты лазермен оқитындар UPC жапсырмасын сканерлеу қабілетіне камераларға қарағанда кешірімді. Олар сондай -ақ нашар жарықтандырылған немесе нашар орналастырылған жапсырмаларда да жақсы жұмыс істейді.

Нөлге қосу үшін сізге USB - USB микро адаптері қажет.

Қол сканері мен триггері оны пайдалануды жеңілдетеді.

Ол жапсырманы сәтті сканерлеген кезде де кері байланыс береді.

Болашақ тапсырмалар:

Соңғы конструкцияда мен кабельді қысқарту үшін қысқарттым және коннектордың істен шығу ықтималдығы мен ықтималдығын азайту үшін нөлдегі USB түйреуіштеріне дәнекерледім. Нөл мен батарея 3D басып шығарылған корпуста сканер тұтқасының төменгі жағына тікелей бекітіледі.

4 -қадам: UPC дерекқоры

Бұл жобаның ең нашар қамтылған бөлігі, өйткені миллиондаған UPC кодтары бар және жүктеу үшін ашық бастапқы дерекқорлар өте аз. Өкінішке орай, UPC дерекқорларының көпшілігі өте қымбат және Интернетке қосылуды қажет етеді.

Мен ашық бастапқы коды бар бірнеше дерекқорды біріктіре алдым (төмендегі Қосымшадағы дереккөздер), бірақ оның ішінде 700 000-ға жуық элементтер болса да, олардың көпшілігі жоқ.

Осы мақсатта мен екі нәрсені жасадым; бірі - азық -түлік тауарларына ерекше назар аудару, екіншісі - жаңа UPC кодтарын қолмен қосуға мүмкіндік беру үшін таңқурайға веб -серверді қосу, дегенмен бұл үшін кем дегенде жергілікті желі байланысы қажет.

Болашақ тапсырмалар:

Мен жаңа UPC кодтарын қосу үшін оған кез келген жерге қосылу үшін Zero W -ді «ыстық нүктеге» айналдырар едім.

5-қадам: Мәтіннен сөйлеуге

Мен «Flite» деп аталатын мәтінді сөйлеу бағдарламасын қолдандым, себебі ол дауыс сапасы мен нөлге айналдыру жылдамдығы арасында ең жақсы ымыраға келді. Басқалары біршама жақсы естілді, бірақ конверсиялауға тым баяу болды.

Сіз сондай-ақ Adafruit оқулығын тексере аласыз:

Есіңізде болсын, сөйлеу тіліне үйрену үшін «құлақ жаттығуы» қажет, бірақ бұл жаман емес.

Сол элементті қайтадан сканерлегенде дыбыс қайталанады.

Болашақ ToDo

Қарт адамдарға дауысты шулы жерлерде естуді жеңілдету үшін құлаққап ұяшығын қосыңыз.

6 -қадам: Батарея қуаты

Жүйені ұялы телефондарды зарядтауға арналған 5В USB батареясынан іске қосуға болады.

Батареяны ажыратқан кезде немесе батарея өлгенде, Pi апатқа ұшырайды, ол SD дискісін бұзады.

Бұл мәселені шешу үшін өшіру командасын іске қосатын батырма қажет. Мен, бәлкім, біреуін қолданамын:

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

(Иә… тағы бір «Болашақ тапсырмасы!»)

7 -қадам: I бөлім - Pi Zero -ға аудио қосу

I бөлім - Pi Zero -ға аудио қосу
I бөлім - Pi Zero -ға аудио қосу
I бөлім - Pi Zero -ға аудио қосу
I бөлім - Pi Zero -ға аудио қосу
I бөлім - Pi Zero -ға аудио қосу
I бөлім - Pi Zero -ға аудио қосу

(Егер нөлді пайдаланбасаңыз, бұл бөлімді өткізіп жіберіңіз!)

Pi Zero-ға сыртқы дыбысты қосу қажет болады, себебі ол кіріктірілген емес. Мен «Adafruit I2S 3W күшейткішінің MAX98357A сынуы» төмен бағасын қолдандым.

Бұл үшін Adafruit-тің тамаша оқулығын қолдана отырып баптау қажет:

Оқу құралының сым бөлігінде көрсетілгендей, келесіге қосылыңыз:

• 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 Audio Software SetupAdafruit бағдарламалық қамтамасыз етуді орнату оқулығында көрсетілгендей, төмендегі 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 аудио үшін маңызды қажетті қадамдар: Әдепкі бойынша, ALSA дыбысы тек стерео режимінде жұмыс істейді, ал Flite мәтінді сөйлеу моно болады. Сондай -ақ, аудио ойнауды бастаған сайын «қалқып шығады».

(Қараңыз:

Сіз келесі әрекеттерді орындауыңыз керек:

1) /boot/config.txt файлына жол қосыңыз

$ sudo nano /boot/config.txt

dtoverlay = i2s-mmap

2) /etc/asound.conf ауыстырыңыз

$ sudo nano /etc/asound.conf

pcm.hifiberry {hw картасын теріңіз 0} pcm.! әдепкі {type plug slave.pcm «dmixer»} pcm.dmixer {type dmix ipc_key 1024 slave {pcm «hifiberry» арналары 2}} ctl.dmixer {hw картасы 0}

3) Pi -ді қайта жүктеңіз.

Динамик тестін қайталап көріңіз. Дыбыс тестілерін қосқанда, орнату оқулығын аяқтағаннан кейін дыбыс дайын болуы керек.

Егер сіз оны азық -түлік дүкеніне немесе шулы ортаға апарсаңыз, аудиоға құлаққап ұясын қосқыңыз келетінін ескеріңіз.

8 -қадам: ІІ бөлім - Бағдарламалық қамтамасыз етуді орнату

Бұл сізде Raspbian Jessie орнатылғанын және Linux пәрмен жолына кіре алатындығыңызды білдіреді. Сізге Raspbian GUI нұсқасы қажет емес, бірақ қолдануға болады.

Сізге Ethernet немесе пернетақта/тінтуірге арналған 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. ш

Бұл біраз уақытты алады, әсіресе егер бұл бірінші рет болса және веб -сервер мен PHP орнату немесе жаңарту қажет болса. Қажет болса, штрих -код файлдары мен UPC дерекқорын келесіге орнатуға болады:/var/www/html/upc

Содан кейін /etc/rc.local өңдеңіз және «0 шығу» алдында келесі жолды қосыңыз

$ sudo nano /etc/rc.local

fi sudo /var/www/html/upc/bin/run.sh шығу 0

Орнату аяқталғаннан кейін, Pi -ді өшіріп, USB штрих -код оқу құралын қосыңыз және қайта қосыңыз.

$ sudo қазір жабылады

Оны қайта қосыңыз және сіз қысқа кіріспе сөзін естуіңіз керек.

Олай болса, азық -түлік тауарынан штрих -кодты сканерлеп көріңіз. Егер бәрі ойдағыдай болса, сіз оның осы зат туралы айтқанын естуіңіз керек (немесе «Табылмады» деп айту керек). Әйтпесе, келесіде ақауларды жою нұсқаулығын қараңыз.

9 -қадам: ақауларды жою

Ақаулық себебін іздеу және түзету
Ақаулық себебін іздеу және түзету

Егер сіз дыбыстарды естімесеңіз, келесі пәрмендерді қолданып көріңіз:

1) Мәтіннен дыбысқа аудио жұмыс істейтінін тексеріңіз:

$ sudo flite -voice awb -t «тестілеу»

Егер қате пайда болса, flite орнатылғанын тексеріңіз:

$ sudo apt install flite

Егер сіз келесі қатені алсаңыз, жоғарыда Raspi Zero's Audio Setup бөлімінде көрсетілген /boot/config.txt және /etc/asound.conf файлдарын жаңартқаныңызға көз жеткізіңіз: audio_open_alsa: арналар санын 1. жарамсыз дәлел.

Егер сізде қате болмаса және дыбыс шықпаса, Raspberry аудио жұмыс істейтініне көз жеткізіңіз.

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

1) Дыбысты дыбыс ұясынан күштеп шығару қажет болуы мүмкін: (1 -суретті қараңыз)

$ sudo raspi -config -> 7 қосымша опция -> A4 аудио

2) Егер сізде аудио және мәтіннен сөзге тексерілген болса, штрих-код оқу құралын тексеріңіз:

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

Штрих -кодты сканерлеген кезде сіз штрих -кодтың сандық нөмірін көресіз. (Сынақ бағдарламасы аудио шығуды немесе деректер қорының қосылуын қамтымайды.)

3) Егер мұның бәрі жақсы болса, қате туралы хабарламалар үшін «nohup.out» файлын тексеріңіз:

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

Мүмкін, бумалар немесе нашар рұқсаттар (немесе кодтағы қателер!). ОЖ жаңартылғанына көз жеткізіңіз және install.sh файлын қайта іске қосыңыз.

Сіз қазір жұмыс жасайсыз деп үміттенемін!

10 -қадам: ІІІ бөлім - Веб -сервер

ІІІ бөлім - веб -сервер
ІІІ бөлім - веб -сервер

Миллиондаған UPC кодтары бар және көпшілікке қолжетімді (яғни ақысыз) дерекқорлар тек кодтардың шағын жиынтығы болғандықтан, бұл жоба азық -түлікке арналған UPC кодтарына бағытталған. Оған бірнеше жүз мың заттар кіреді, бірақ олардың көпшілігі табылмайды.

Егер сізге UPC мәліметтер базасын қосу немесе жаңарту қажет болса, екі бағдарлама бар; пәрмен жолы және веб-шолғыш. (сандарды UPC элемент нөмірімен ауыстырыңыз)

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

$ sudo./addDB.sh 01234567890 «Менің жаңа элементім»

Бұл дерекқорға жазбаны қосады. Әйтпесе, веб -шолғыштың ДБ функциясын қолдану ұсынылады.

GUI веб -сервері үшін сізге таңқурайдың IP мекенжайы қажет.

IP мекенжайын табу үшін келесі әрекеттерді қолдануға болады:

$ хост атауы -I 192.168.1.108

ДК браузерінен мына сайтқа өтіңіз: https://192.168.1.108/upc/ Сіз жоғарыдағы 2 -суреттегідей экранды көруіңіз керек.

Олай болса, жазбаларды қосуға/жаңартуға және жоюға болады. Деректер қорының соңына қосылған жаңа жазбаларыңызды көру үшін (‘> |’) “соңғы жазба” батырмасы арқылы Соңғы бетке өтіңіз.

ҚАУІПСІЗДІК ЕСКЕРТПЕ: бұл веб -қызмет қауіпсіз емес (аутентификация, SSL жоқ), сондықтан оны жалпыға ортақ Интернетке шығармаңыз. (Бірақ ол WiFi кіру нүктесі ретінде орнатылмағандықтан, оны дүкенге апару қауіпсіз.)

Бұл туралы жеке деректер болмағандықтан, біреу UPC деректерін бұзуы мүмкін.

Сіз сонымен қатар басқа 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 қайта іске қосу

Сонымен қатар, әдепкі PI құпия сөзін өзгертіңіз! Барлығы әдепкі pi/таңқурай екенін біледі

$ passwd

11 -қадам: веб -сервердегі ақауларды жою

Веб -сервердегі ақауларды жою
Веб -сервердегі ақауларды жою
Веб -сервердегі ақауларды жою
Веб -сервердегі ақауларды жою

Браузерді қолдану арқылы Raspberry IP мекенжайына өтіңіз, мысалы:

192.168.1.108/

Сіз әдепкі экранды /var/www/html/index.html сайтынан көруіңіз керек (жоғарыдағы 1 -сурет)

Сондай -ақ, веб -сервер жұмыс істейтініне көз жеткізіңіз:

$ ps -ef | grep lighttpd

PHP жақсы екенін тексеру үшін php тест файлын жасаңыз:

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

Содан кейін https://192.168.1.108/phpinfo.php сайтына өтіңіз

Сіз жоғарыдағы 2 -суреттегідей экранды көруіңіз керек

Егер сізде қателер немесе бос экрандар болса, қателерді тексеріңіз

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

Тағы да install.sh -ті қайта іске қосу жетіспейтін тәуелділікті түзетуі мүмкін.

12 -қадам: Қосымша

Үлкен РАХМЕТ үлкен UPC дерекқорын қол жетімді ету үшін келесіге барады.

Азық -түлік UPC DB ашыңыз

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

Data DB ашыңыз

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

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

EasyUI арқасында қарапайым CRUD GUI веб -торабы үшін

www.jeasyui.com/index.php

Ұсынылған: