Isi kandungan:
- Langkah 1: KEMASKINI
- Langkah 2: Senarai Bahagian
- Langkah 3: Pembaca Kod Bar Laser USB
- Langkah 4: Pangkalan Data UPC
- Langkah 5: Teks-ke-Ucapan
- Langkah 6: Kuasa Bateri
- Langkah 7: Bahagian I - Menambah Audio ke Pi Zero
- Langkah 8: Bahagian II - Pemasangan Perisian
- Langkah 9: Penyelesaian masalah
- Langkah 10: Bahagian III - Pelayan Web
- Langkah 11: Menyelesaikan masalah Pelayan Web
- Langkah 12: Lampiran
Video: Pembaca Kod Bar Raspberry Pi Bercakap: 12 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Gamb.1 Pengimbas Kod Bar dari DX.com
Gambaran keseluruhan
Kemas kini: Demo video pendek tersedia
Ibu saya tidak dapat membaca label pada barang runcit lagi, jadi saya terus mencari penyelesaian. Setelah melihat bahawa pembaca kod bar untuk orang buta mempunyai ratusan dolar, saya ingin melihat apa yang boleh dilakukan dengan menggunakan Raspberry Pi dan pembaca Barcode USB.
Peniruan utama lain adalah bahawa ini mesti berfungsi TANPA sambungan Internet (seperti di kedai atau rumah rakan). Oleh itu, pangkalan data dan teks-ke-ucapan harus lengkap.
Saya mencuba versi pembaca kod bar versi kamera, tetapi pencahayaan dan kedudukan kamera menyebabkan masalah kebolehpercayaan bagi seseorang yang tidak dapat melihat dengan jelas. Ini juga memerlukan penglihatan untuk mengatur dan menggunakan aplikasi. Oleh itu, saya beralih ke pembaca kod bar USB Laser, terutamanya kerana ia kini tersedia dengan harga di bawah $ 30 dan Raspbian Jessie menyokongnya langsung dari luar kotak.
Saya juga mencuba Amazon Dash Wand yang baru tetapi ia tidak menggunakan item yang diimbas dan memerlukan sambungan Internet untuk berfungsi.
Ideanya adalah untuk memindai item dan meminta Raspberry membuat pangkalan data dalaman kod UPC dan kemudian menyampaikan keterangan produk menggunakan teks-ke-ucapan.
Untuk menjadikan unit sekecil mungkin, saya ingin menggunakan Raspberry Pi Zero. Saya juga mahu mematikan kuasa bateri unit.
Untuk memenuhi syarat ini, perlu dilakukan pertukaran. Oleh kerana Zero tidak mempunyai bicu audio luaran, saya menggunakan semula reka bentuk audio dari projek "Earthquake Pi" saya kerana harganya rendah (sekitar $ 6) dan sangat kecil. Sebagai alternatif, penggantian "One Transistor Audio untuk Pi Zero" mungkin.
Untuk pengimbas Kod Bar Laser, saya menjumpainya dari DX.com. Ia dimatikan dari Raspberry USB dan berharga sekitar $ 25. (Lihat Bahagian di bawah)
Langkah 1: KEMASKINI
Dengan kedatangan Raspberry Pi Zero W, saya akan beralih kepadanya. Semua di sini sama, kecuali anda perlu mengatur sambungan WiFi ke Pi. Ini bermaksud bahawa anda tidak memerlukan hab USB untuk Zero untuk persediaan dan penggunaan.
Anda boleh menyediakan WiFi menggunakan:
thepihut.com/blogs/raspberry-pi-tutorials/…
Adakah kamu tahu?
Sekiranya anda memasang Raspbian Jessie pada kad SD menggunakan PC Windows, anda boleh membuat dua fail pada kad tersebut untuk mengkonfigurasi akses WiFi dan SSH sebelum anda memakainya pada Raspberry?
Untuk ini, anggap kad SD anda dipasang sebagai K: pada PC anda:
1) Pasang gambar Raspbian Jessie terkini ke SD. Untuk projek ini, Jessie Lite harus berfungsi.
www.raspberrypi.org/downloads/raspbian/
2) Dengan notepad, buat file yang disebut hanya "ssh" dan gunakan Save As "All files" ke K: / ssh
Fail boleh mengandungi apa sahaja. Nama fail itulah yang penting. TIDAK BOLEH "ssh.txt" !!!
3) Dengan notepad, buat file bernama "wpa_supplicant.conf" dengan berikut:
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdevupdate_config = 1
rangkaian = {
ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
Gunakan Simpan Sebagai "Semua fail" ke K: / wpa_supplicant.conf Sekali lagi, jangan biarkan Notepad mengubahnya menjadi "wpa_supplicant.conf.txt" !!
Apabila anda menggunakan Raspberry kali pertama, Jessie akan mencarinya dan menyambung ke Wifi anda. Anda harus melihat Router anda untuk alamat IP, kerana ia ditetapkan secara automatik.
Langkah 2: Senarai Bahagian
- Raspberry Pi Zero (atau Raspberry Pi apa pun, jika ukurannya tidak menjadi masalah)
-
Pengimbas kod bar Laser USB
www.dx.com/p/ls-4209-laser-bar-code-scanner…
- Untuk Raspi Zero, tambahkan Penguat Adafruit I2S 3W Kelas Dhttps://www.adafruit.com/products/3006
- Pembesar suara kecil. (Untuk Pi 2, 3, gunakan amp & speaker luaran.)
- USB Micro to USB OTG adapterhttps://www.adafruit.com/products/2910
- Pek bateri USB 5V 1Amp seperti
- Kabel USB ke mikro USB untuk pek bateri.
- Hab USB & Ethernet (sekurang-kurangnya untuk kerja persediaan awal, tidak diperlukan untuk Zero W atau Raspi 2, 3)
- Perisian dari GITHUB:
Langkah 3: Pembaca Kod Bar Laser USB
Pembaca kod bar laser lebih mudah memaafkan kemampuan mereka untuk mengimbas label UPC daripada kamera. Mereka juga berfungsi dengan baik walaupun pada label yang kurang terang atau tidak dipasang dengan baik.
Anda memerlukan penyesuai mikro USB ke USB untuk memasangkannya ke Zero.
Genggaman tangan dan pencetus pengimbas menjadikannya senang digunakan.
Ia juga memberi maklum balas apabila berjaya mengimbas label.
Masa Depan:
Pada reka bentuk akhir, saya akan memotong kabel untuk memendekkannya dan memateri terus ke pin USB pada Zero untuk mengurangkan saiz dan kemungkinan kegagalan penyambung. Zero dan bateri akan dipasang terus ke bahagian bawah pemegang pengimbas dalam casing 3D.
Langkah 4: Pangkalan Data UPC
Ini adalah bahagian projek yang paling kurang dilindungi, kerana terdapat jutaan kod UPC dan sangat sedikit pangkalan data sumber terbuka yang tersedia untuk dimuat turun. Malangnya, kebanyakan pangkalan data UPC agak mahal dan memerlukan sambungan internet.
Saya dapat mengumpulkan beberapa pangkalan data sumber terbuka (sumber dalam Lampiran di bawah), tetapi walaupun terdapat hampir 700, 000 item di dalamnya, sebilangan besar hilang.
Untuk tujuan ini, saya telah melakukan dua perkara; satu adalah untuk memfokuskan pada item runcit secara khusus dan yang lain adalah untuk menambahkan pelayan web ke Raspberry untuk membolehkan menambahkan kod UPC baru secara manual, namun, ini memerlukan sekurang-kurangnya sambungan rangkaian tempatan.
Harapan Masa Depan:
Saya akan menjadikan Zero W sebagai "hotspot" sehingga anda dapat menyambung ke mana sahaja untuk menambahkan kod UPC baru.
Langkah 5: Teks-ke-Ucapan
Saya menggunakan program teks ke pertuturan yang disebut "Flite", kerana ia mempunyai kompromi terbaik antara kualiti suara dan kelajuan penukaran pada Zero. Yang lain terdengar sedikit lebih baik, tetapi terlalu lambat untuk menukar.
Anda juga boleh melihat tutorial Adafruit:
Perhatikan bahawa memerlukan sedikit "latihan telinga" untuk membiasakan diri dengan kecenderungan pertuturan, tetapi tidak terlalu buruk.
Mengimbas item yang sama sekali lagi akan mengulang audio.
Masa Depan Masa Depan
Mungkin tambahkan bicu fon kepala supaya lebih mudah bagi orang tua untuk mendengar suara di tempat yang bising.
Langkah 6: Kuasa Bateri
Sistem ini dapat dijalankan dari bateri USB 5V, seperti digunakan untuk mengisi ulang telefon bimbit.
Tangkapannya ialah apabila anda mencabut bateri atau bateri mati, Pi akan rosak dengan kemungkinan ia akan merosakkan pemacu SD.
Untuk menyelesaikannya, butang yang menjalankan perintah mematikan diperlukan. Saya mungkin akan menggunakan yang seperti ini:
www.element14.com/community/docs/DOC-78055…
(Ya … "Future ToDo!" Yang lain)
Langkah 7: Bahagian I - Menambah Audio ke Pi Zero
(Langkau bahagian ini jika tidak menggunakan Nol!)
Pada Pi Zero, anda perlu menambahkan audio luaran, kerana ia tidak built-in. Saya menggunakan kos rendah "Adafruit I2S 3W Amplifier breakout MAX98357A"
Ini memerlukan persediaan menggunakan tutorial Adafruit yang sangat baik di:
Seperti yang ditunjukkan dalam bahagian pendawaian tutorial, sambungkan:
• Amp Vin ke Raspi Zero Pi 5V • Amp GND ke Raspi Zero Pi GND • Amp DIN ke Raspi Zero Pi # 21 • Amp BCLK ke Raspi Zero Pi # 18 • Amp LRCLK ke Raspi Zero Pi # 19
Sambungkan pembesar suara kecil ke petunjuk audio di papan.
Pi Zero Adafruit Audio Software Setup Juga ditunjukkan dalam tutorial penyediaan perisian Adafruit, jalankan perintah CURL di bawah:
$ curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash
Selepas but semula, uji audio menggunakan ujian pembesar suara:
$ speaker-test -c2 --test = wav -w /usr/share/sounds/alsa/Front_Center.wav
Sekiranya anda menghadapi masalah, kembali melalui tutorial Adafruit bermula dari gambaran keseluruhan. Anda mungkin perlu melalui langkah "Pemasangan terperinci" dalam tutorial untuk mengesahkan semua fail yang dikemas kini.
Langkah-Langkah Yang Diperlukan Penting untuk Audio Zero & Max98357: Secara lalai, audio ALSA hanya berfungsi di Stereo sementara teks-ke-ucapan Flite bersifat mono. Juga, audio mempunyai "muncul" di dalamnya setiap kali ia dimainkan.
(Lihat:
Anda mesti melakukan perkara berikut:
1) Tambahkan garis ke /boot/config.txt
$ sudo nano /boot/config.txt
dtoverlay = i2s-mmap
2) Ganti /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 slave {pcm "hifiberry" saluran 2}} ctl.dmixer {type hw card 0}
3) Nyalakan semula Pi anda.
Cuba ujian Speaker lagi. Ia akan terdengar lebih baik sekarang. Sebaik sahaja anda menyelesaikan tutorial persediaan termasuk ujian audio, maka suara harus siap.
Perhatikan bahawa anda mungkin ingin menambahkan bicu fon telinga untuk audio, jika anda membawanya ke kedai runcit atau persekitaran yang bising.
Langkah 8: Bahagian II - Pemasangan Perisian
Ini menganggap anda sudah memasang Raspbian Jessie dan boleh mengakses baris perintah Linux. Anda tidak memerlukan Raspbian versi GUI, tetapi boleh digunakan.
Anda TIDAK memerlukan pengimbas USB yang terpasang pada masa ini, sekiranya anda memerlukan port USB untuk Ethernet atau papan kekunci / tetikus.
Pastikan OS anda terkini:
$ sudo apt-get update $ sudo apt-get upgrade
Dari baris arahan, pergi ke direktori utama pi dan muat turun repositori GITHUB:
$ cd / home / pi $ sudo apt install git $ git clone https://github.com/rgrokett/TalkingBarcodeReader….> https://github.com/rgrokett/TalkingBarcodeReader….> $ cd TalkingBarcodeReader $./install. sh
Ini akan memakan masa, terutamanya jika ini adalah kali pertama dan pelayan web dan PHP perlu dipasang atau dikemas kini. Sekiranya perlu, anda boleh menjalankannya lebih dari sekali. Antara lain, ini memasang fail kod bar dan pangkalan data UPC ke: / var / www / html / upc
Seterusnya, edit /etc/rc.local dan tambahkan baris berikut sebelum "keluar 0"
$ sudo nano /etc/rc.local
fi sudo /var/www/html/upc/bin/run.sh keluar 0
Setelah pemasangan selesai, matikan Pi anda dan pasangkan pembaca Barcode USB dan mulakan semula.
$ sudo tutup sekarang
Kuasa kembali dan anda akan mendengar ucapan permulaan yang pendek.
Sekiranya demikian, cuba imbas kod bar dari barang runcit. Sekiranya semuanya berjalan lancar, anda mesti mendengarnya menyebut perkara tersebut (atau bercakap "Tidak Ditemui"). Jika tidak, periksa panduan penyelesaian masalah seterusnya.
Langkah 9: Penyelesaian masalah
Sekiranya anda tidak mendengar bunyi, anda perlu mencuba arahan berikut:
1) Pastikan audio teks-ke-ucapan berfungsi:
$ sudo flite -voice awb -t "testing"
Sekiranya anda mendapat ralat, pastikan flite dipasang:
$ sudo apt pasang flite
Sekiranya anda mendapat ralat berikut, pastikan anda mengemas kini /boot/config.txt dan /etc/asound.conf yang ditunjukkan di bahagian Persediaan Audio di atas pada Raspi Zero's: audio_open_alsa: gagal menetapkan bilangan saluran menjadi 1. Argumen tidak sah.
Sekiranya anda tidak mendapat ralat dan bunyi, pastikan audio Raspberry anda berfungsi.
sudo aplay /usr/share/sounds/alsa/Front_Center.wav
1) Anda mungkin perlu mengeluarkan audio dari bicu audio: (lihat rajah 1 di atas)
$ sudo raspi-config -> 7 Pilihan Lanjutan -> Audio A4
2) Setelah audio dan teks ke pertuturan disahkan baik, periksa pembaca kod bar:
cd / var / www / html / upc / binsudo python./test.py
Anda mesti melihat nombor kod bar yang ditunjukkan semasa anda mengimbas kod bar. (Program ujian TIDAK termasuk output audio atau sambungan pangkalan data.)
3) Jika semua ini baik, periksa fail "nohup.out" untuk mesej ralat:
cd / var / www / html / upc / binsudo cat nohup.out
Kemungkinan masalah adalah pakej yang hilang atau kebenaran yang tidak baik (atau BUG dalam kod!). Pastikan OS anda terkini dan jalankan semula install.sh sekali lagi.
Mudah-mudahan, anda bekerja sekarang!
Langkah 10: Bahagian III - Pelayan Web
Oleh kerana terdapat JUTAAN kod UPC dan pangkalan data yang tersedia secara umum (iaitu percuma) hanya sebahagian kecil kod, projek ini tertumpu pada kod UPC untuk bahan makanan. Ini merangkumi beberapa ratus ribu barang, tetapi banyak, banyak yang tidak akan dijumpai.
Sekiranya anda perlu menambah atau mengemas kini Pangkalan Data UPC, terdapat dua program yang tersedia; satu baris perintah dan penyemak imbas web. (ganti digit dengan nombor item UPC anda)
$ cd / var / www / html / upc / bin
$ sudo./addDB.sh 01234567890 "Item baru saya"
Ini akan menambah rekod ke pangkalan data. Jika tidak, disarankan untuk menggunakan fungsi DB penyemak imbas web.
Untuk GUI Pelayan Web, anda memerlukan alamat IP raspberry anda.
Untuk mencari alamat IP, anda boleh menggunakan:
$ hostname -I 192.168.1.108
Dari penyemak imbas PC, pergi ke: https://192.168.1.108/upc/Anda akan melihat skrin yang serupa dengan yang terdapat di Rajah 2 di atas.
Sekiranya demikian, anda boleh menambah / mengemas kini dan menghapus rekod. Navigasikan ke Halaman Terakhir menggunakan butang ('> |') "rekod terakhir" untuk melihat rekod terbaru anda seperti yang ditambahkan ke akhir pangkalan data.
SELAMAT DATANG bahawa perkhidmatan web ini tidak terjamin, (tidak ada pengesahan, tidak ada SSL), jadi sebaiknya jangan memaparkannya ke Internet awam. (Tetapi kerana tidak disiapkan sebagai WiFi Access Point, selamat dibawa ke kedai.)
Meskipun, karena tidak ada data pribadi di atasnya, yang lebih buruk yang dapat terjadi adalah seseorang yang mengurus data UPC.
Anda juga boleh mengehadkan akses ke alamat IP tertentu sehingga tidak ada orang lain yang dapat masuk. Cukup ganti IP di sini dengan yang anda izinkan. Semua yang lain akan disekat daripada mengakses:
$ sudo vi /etc/lighttpd/lighttpd.conf
$ HTTP ["remoteip"] = ~ "127.0.0.1 | 192.168.1.108" {url.access-deny = ("")} $ sudo /etc/init.d/lighttpd mulakan semula
Juga, TUKAR kata laluan PI lalai! Semua orang tahu defaultnya adalah pi / raspberry
$ passwd
Langkah 11: Menyelesaikan masalah Pelayan Web
Dengan menggunakan penyemak imbas anda, pergi ke alamat IP Raspberry anda, seperti ini:
192.168.1.108/
Anda harus melihat skrin lalai dari /var/www/html/index.html (Rajah 1 di atas)
Pastikan juga pelayan web berjalan:
$ ps -ef | grep lighttpd
Untuk mengesahkan PHP baik, buat fail ujian php:
$ sudo nano /var/www/html/phpinfo.php
Kemudian pergi ke
Anda akan melihat skrin seperti Gambar 2 di atas
Sekiranya anda mendapat kesilapan atau skrin kosong, periksa kesalahan di
$ sudo cat /var/log/lighttpd/error.log
Sekali lagi, menjalankan semula install.sh dapat memperbaiki kebergantungan yang hilang.
Langkah 12: Lampiran
TERIMA KASIH besar untuk yang berikut untuk menyediakan pangkalan data UPC yang besar.
Buka UPC DB Grocery
www.grocery.com/open-grocery-database-proje…
Buka Data DB
www.grocery.com/open-grocery-database-proje…
www.upc-search.org/perl/upc-search.pl?q=84…
Terima kasih kepada EasyUI untuk CRUD GUI web yang ringkas
www.jeasyui.com/index.php
Disyorkan:
POS SISTEM UNTUK KEDAI, PERMINTAAN DAN PUSAT PERKHIDMATAN DARI EXCEL Dengan Menggunakan Kod Bar: 7 Langkah
SISTEM POS UNTUK KEDAI, PERMINTAAN DAN PUSAT PERKHIDMATAN DARI EXCEL Dengan Menggunakan Kod Bar: Saya memperkenalkan dengan blog ini kepada anda cara membuat sistem POS (tempat penjualan) yang mudah untuk kedai runcit dan pusat servis. Dengan kaedah ini anda dapat menguruskan kemudahan berikut tanpa perisian khas atau peralatan mahal. v Isu
Pengimbas Kod Bar USB (Raspberry Pi): 4 Langkah
Pengimbas Kod Bar USB (Raspberry Pi): Tutorial asas bagaimana menyediakan pengimbas kod bar USB dengan Raspberry Pi
Bercakap Dengan Alexa dan Pembantu Google Bersama dalam Raspberry Pi: 4 Langkah
Bercakap Dengan Alexa dan Google Assistant Bersama dalam Raspberry Pi: Jalankan Amazon Alexa dan Google Assistant pada masa yang sama dalam Raspberry Pi. Panggil salah satu daripada nama mereka, mereka menyalakan LED mereka sendiri dan bunyi dering untuk tindak balas. Kemudian anda meminta beberapa permintaan dan mereka masing-masing menjawabnya. Anda boleh mengetahui ciri mereka
Lensa Makro Iphone Murah untuk Pengimbasan Kod Bar: 6 Langkah (dengan Gambar)
Lensa Makro Iphone Murah untuk Pengimbasan Kod Bar: Masalah yang mencolok dengan kamera iPhone adalah ketidakmampuannya untuk fokus lebih dekat dari jarak ~ 1 kaki. Beberapa penyelesaian selepas pasaran membantu menyelesaikan masalah ini seperti iClarifi by Griffin Technology. Kes ini untuk iPhone 3G membolehkan anda meluncur sedikit
Pembaca RFID AVR / Arduino Dengan Kod UART dalam Langkah C: 4
Pembaca RFID AVR / Arduino Dengan Kod UART dalam C: RFID adalah kegilaan, terdapat di mana-mana - dari sistem inventori hingga sistem ID lencana. Sekiranya anda pernah ke gedung membeli-belah dan menelusuri barang-barang yang kelihatan seperti pengesan logam di pintu masuk / keluar, maka anda telah melihat RFID. Terdapat beberapa