Агуулгын хүснэгт:

Raspberry Pi Talking Barcode Reader: 12 алхам
Raspberry Pi Talking Barcode Reader: 12 алхам

Видео: Raspberry Pi Talking Barcode Reader: 12 алхам

Видео: Raspberry Pi Talking Barcode Reader: 12 алхам
Видео: Raspberry Pi: Read barcode via USB scanner then send it to database 2024, Арваннэгдүгээр
Anonim
Raspberry Pi ярьдаг бар код уншигч
Raspberry Pi ярьдаг бар код уншигч

Зураг.1 DX.com -ийн баркод сканнер

Тойм

Шинэчлэлт: Богино видео демо боломжтой байна

Ээж маань хүнсний бүтээгдэхүүний шошгыг унших боломжгүй болсон тул би шийдлийг хайж эхлэв. Хараагүй хүмүүст зориулсан бар код уншигчид олон зуун доллар гүйж байгааг харсны дараа би Raspberry Pi болон USB бар код уншигч ашиглан юу хийж болохыг харахыг хүссэн юм.

Өөр нэг дууриамал зүйл бол энэ нь интернет холболтгүйгээр (дэлгүүр эсвэл найзынхаа гэрт) ажиллах ёстой байв. Тиймээс мэдээллийн сан, текстээс яриа руу бие дааж ажиллах ёстой байв.

Би зураасан код уншигчийн камер дээр суурилсан хувилбарыг туршиж үзсэн боловч гэрэлтүүлэг, камерын байрлал нь тодорхой харж чадахгүй байгаа хүмүүст найдвартай байдлын асуудал үүсгэсэн. Аппликешныг тохируулах, ашиглахын тулд тэдэнд хараа хяналт шаардлагатай байв. Тиймээс би USB Лазер зураасан код уншигч руу шилжсэн, ялангуяа тэдгээрийг 30 доллараас бага үнээр авах боломжтой бөгөөд Raspbian Jessie хайрцгаас шууд дэмждэг.

Би бас шинэ Amazon Dash Wand -ийг туршиж үзсэн боловч энэ нь сканнердсан зүйлийг ярьдаггүй бөгөөд ажиллахын тулд интернет холболт шаарддаг.

Санаа нь нэг зүйлийг сканнердаж, 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 төв хэрэггүй болно гэсэн үг юм.

Та WiFi ашиглан дараах тохиргоог хийж болно.

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

Та мэдсэн үү?

Хэрэв та Windows PC ашиглан Raspbian Jessie -ийг SD карт дээр суулгасан бол Raspberry дээр ачаалахаасаа өмнө WiFi болон SSH хандалтыг тохируулахын тулд картанд хоёр файл үүсгэж болох уу?

Үүнийг хийхийн тулд таны SD картыг одоогоор компьютер дээрээ K: гэж суулгасан гэж үзье.

1) Raspbian Jessie -ийн хамгийн сүүлийн үеийн зургийг SD дээр суулгана уу. Энэ төслийн хувьд Jessie Lite ажиллах ёстой.

www.raspberrypi.org/downloads/raspbian/

2) Тэмдэглэлийн дэвтэр ашиглан зөвхөн "ssh" нэртэй файл үүсгээд K: / ssh руу "Бүх файлууд" болгон хадгалахыг ашиглана уу.

Файл нь юу ч агуулж болно. Энэ бол чухал ач холбогдолтой файлын нэр юм. "Ssh.txt" байх ёсгүй !!!

3) Notepad ашиглан дараахь зүйлийг агуулсан "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 руу дахин оруулаарай, Notepad үүнийг "wpa_supplicant.conf.txt" болгож өөрчлөхийг бүү зөвшөөр !!

Та бөөрөлзгөнө анх удаа ачаалах үед Жэсси эдгээрийг хайж, таны Wi -Fi -д холбогдох болно. Автоматаар оноосон тул та чиглүүлэгчээсээ IP хаягийг хайх хэрэгтэй болно.

Алхам 2: эд ангиудын жагсаалт

  • Raspberry Pi Zero (эсвэл ямар ч Raspberry Pi, хэрэв хэмжээ нь асуудал биш бол)
  • USB лазер бар код сканнер

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

  • Raspi Zero -ийн хувьд Adafruit I2S 3W Class D өсгөгчийг нэмнэ үү.
  • Жижиг чанга яригч. (Pi 2, 3 -ийн хувьд гадаад өсгөгч, чанга яригчийг ашиглана уу.)
  • USB Micro to USB OTG адаптерhttps://www.adafruit.com/products/2910
  • 5V 1Amp USB батерейны багц, жишээ нь:
  • Батерейны багцаас USB -ээс микро USB кабель.
  • USB ба Ethernet төв
  • GITHUB програм хангамж:

Алхам 3: USB лазер бар код уншигч

USB лазер бар код уншигч
USB лазер бар код уншигч

Лазер бар код уншигчид камераас илүү UPC шошгыг скан хийх чадвараа илүү уучилдаг. Тэд гэрэлтүүлэг багатай эсвэл муу байрлуулсан шошгон дээр ч сайн ажилладаг.

Тэг рүү залгахын тулд танд USB -ээс USB микро адаптер хэрэгтэй болно.

Сканнерын гар атгах ба гох нь ашиглахад хялбар болгодог.

Энэ нь шошгыг амжилттай сканнердах үед санал хүсэлт өгдөг.

Ирээдүйн хийх зүйл:

Эцсийн загвар дээр би богиносгохын тулд кабелийг огтолж, холбогч эвдрэх магадлалыг бууруулахын тулд тэг дээрх USB зүү рүү шууд гагнах болно. Тэг ба батерейг 3D хэвлэсэн хайрцагт сканнерын бариулын доод хэсэгт шууд хавсаргана.

Алхам 4: UPC мэдээллийн сан

Энэ бол төслийн хамгийн муу хамрагдсан хэсэг юм, учир нь сая сая UPC кодууд байдаг бөгөөд татаж авах боломжтой нээлттэй эхийн мэдээллийн сан маш цөөхөн байдаг. Харамсалтай нь ихэнх UPC мэдээллийн сан нь нэлээд үнэтэй бөгөөд интернет холболт шаарддаг.

Би хэд хэдэн нээлттэй эхийн өгөгдлийн санг нэгтгэж чадсан (доорх Хавсралт дахь эх сурвалжууд), гэхдээ ойролцоогоор 700,000 ширхэг зүйл байсан ч гэсэн маш олон тоо алга байна.

Үүний тулд би хоёр зүйлийг хийсэн. Нэг нь хүнсний зүйлд онцгой анхаарал хандуулах, нөгөө нь шинэ UPC кодыг гараар нэмэх боломжийг олгохын тулд Raspberry дээр вэб сервер нэмэх боловч энэ нь дор хаяж локал сүлжээний холболт шаарддаг.

Ирээдүйн хийх зүйл:

Би Zero W -ийг "халуун цэг" болгоно, ингэснээр та хаана ч хамаагүй холбогдож шинэ UPC код нэмж болно.

Алхам 5: Текстээс яриа руу

Би дуу хоолойны чанар болон хөрвүүлэх хурд хоёрын хооронд хамгийн сайн тохиролцсон тул "Flite" нэртэй текстийг ярианы програмд ашигласан. Бусад нь арай дээр сонсогдож байсан ч хөрвүүлэхэд хэтэрхий удаан байсан.

Та мөн Adafruit-ийн хичээлийг үзэх боломжтой:

Хэл ярианы хэв маягт дасахын тулд бага зэрэг "чихний сургалт" шаардагдах болно, гэхдээ тийм ч муу биш гэдгийг анхаарна уу.

Ижил зүйлийг дахин скан хийхэд аудиог давтах болно.

Ирээдүйн хийх ажил

Ахмад настнуудын дуу чимээ ихтэй газарт дуу хоолойг сонсоход хялбар болгохын тулд чихэвчний залгуур нэмж болно.

Алхам 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" -ийг ашигласан.

Энэ нь https://learn.adafruit.com/adafruit-max98357-i2s-… дээрх 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 Аудио Програм хангамжийн Тохиргоо 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 -ийн зааварчилгаа руу буцна уу. Шинэчлэгдсэн бүх файлыг баталгаажуулахын тулд зааварчилгааны "Нарийвчилсан суулгалт" алхамуудыг хийх шаардлагатай болж магадгүй юм.

Zero & Max98357 аудиод шаардлагатай чухал алхамууд: Анхдагч байдлаар, ALSA аудио нь зөвхөн стерео дээр ажилладаг бол Flite текстээс ярианд моно хэлбэрээр ажилладаг. Түүнчлэн, аудио тоглож эхлэх болгонд "поп" гарч ирдэг.

(Харна уу:

Та дараахь зүйлийг хийх ёстой.

1) /boot/config.txt руу мөр нэмнэ үү

$ sudo нано /boot/config.txt

dtoverlay = i2s-mmap

2) /etc/asound.conf -ийг солих

$ sudo нано /etc/asound.conf

pcm.hifiberry {hw карт бичнэ үү}} pcm.! анхдагч {type plug slave.pcm "dmixer"} pcm.dmixer {type dmix ipc_key 1024 slave {pcm "hifiberry" сувгууд 2}} ctl.dmixer {төрөл hw карт 0}

3) Pi -ээ дахин ачаална уу.

Илтгэгч-тестийг дахин туршиж үзээрэй. Энэ нь дууны тестийг багтаасан тохируулгын хичээлийг дуусгасны дараа дуу нь бэлэн байх ёстой.

Хэрэв та үүнийг хүнсний дэлгүүр эсвэл чимээ шуугиантай орчинд аваачих юм бол чихэвчний аудио залгуурыг нэмж болно.

Алхам 8: II хэсэг - Програм хангамж суурилуулах

Энэ нь танд Raspbian Jessie-г аль хэдийн суулгасан бөгөөд Линуксийн тушаалын мөрөнд хандах боломжтой гэж үзэж байна. Танд Raspbian -ийн GUI хувилбар хэрэггүй, гэхдээ ашиглахад тохиромжтой.

Хэрэв танд Ethernet эсвэл гар/хулганы USB порт хэрэгтэй бол танд USB скан хийгчийг залгах шаардлагагүй болно.

Таны OS шинэчлэгдсэн эсэхийг шалгаарай.

$ 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 нано /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 муур nohup.out

Багц эсвэл дутуу зөвшөөрөл (эсвэл кодын алдаанууд!) Дутагдалтай байж магадгүй юм. Таны OS шинэчлэгдсэн эсэхийг шалгаад install.sh -ийг дахин ажиллуулна уу.

Та одоо хүртэл ажиллаж байгаа гэж найдаж байна!

Алхам 10: III хэсэг - Вэб сервер

III хэсэг - Вэб сервер
III хэсэг - Вэб сервер

Сая сая UPC кодууд байдаг бөгөөд олон нийтэд нээлттэй байдаг (өөрөөр хэлбэл үнэ төлбөргүй байдаг) мэдээллийн сан нь зөвхөн кодын жижиг хэсэг байдаг тул энэхүү төсөл нь хүнсний бүтээгдэхүүний UPC код дээр суурилсан болно. Үүнд хэдэн зуун мянган зүйл багтсан боловч олон, олон нь олдохгүй.

Хэрэв та UPC мэдээллийн санг нэмэх эсвэл шинэчлэх шаардлагатай бол хоёр програм боломжтой; нэг тушаалын мөр, нэг вэб хөтөч. (тоонуудаа UPC зүйлийн дугаараар солино уу)

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

$ sudo./addDB.sh 01234567890 “Миний шинэ зүйл”

Энэ нь мэдээллийн санд бичлэг нэмэх болно. Үгүй бол вэб хөтчийн DB функцийг ашиглахыг зөвлөж байна.

Вэб сервер 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/raspberry гэдгийг хүн бүхэн мэддэг

$ passwd

Алхам 11: Вэб серверийн алдааг олж засварлах

Вэб серверийн алдааг олж засварлах
Вэб серверийн алдааг олж засварлах
Вэб серверийн алдааг олж засварлах
Вэб серверийн алдааг олж засварлах

Хөтөчөө ашиглан Raspberry -ийн IP хаяг руу орно уу.

192.168.1.108/

Та анхдагч дэлгэцийг /var/www/html/index.html дээрээс харах ёстой (дээрх зураг 1)

Мөн вэб сервер ажиллаж байгаа эсэхийг шалгаарай.

$ ps -ef | grep lighttpd

PHP сайн эсэхийг шалгахын тулд php тест файл үүсгэнэ үү.

$ sudo нано /var/www/html/phpinfo.php

Дараа нь https://192.168.1.108/phpinfo.php хаягаар орно уу

Та дээрх зураг 2 шиг дэлгэцийг харах ёстой

Хэрэв та алдаа эсвэл хоосон дэлгэцтэй бол алдааг шалгана уу

$ sudo муур /var/log/lighttpd/error.log

Дахин хэлэхэд install.sh -ийг дахин ажиллуулах нь дутуу хамаарлыг засах боломжтой.

Алхам 12: Хавсралт

Томоохон UPC мэдээллийн баазыг ашиглах боломжтой болгохын тулд BIG THANKS дараах зүйлийг хийх болно.

Хүнсний UPC DB -ийг нээнэ үү

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

Өгөгдлийн мэдээллийн баазыг нээнэ үү

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

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

Энгийн вэб CRUD GUI -д EasyUI -д баярлалаа

www.jeasyui.com/index.php

Зөвлөмж болгож буй: