Obsah:
- Krok 1: AKTUALIZACE
- Krok 2: Seznam dílů
- Krok 3: USB laserová čtečka čárových kódů
- Krok 4: Databáze UPC
- Krok 5: Převod textu na řeč
- Krok 6: Napájení z baterie
- Krok 7: Část I - Přidání zvuku do Pi Zero
- Krok 8: Část II - Instalace softwaru
- Krok 9: Odstraňování problémů
- Krok 10: Část III - Web Server
- Krok 11: Řešení potíží s webovým serverem
- Krok 12: Dodatek
Video: Čtečka čárových kódů Raspberry Pi Talking: 12 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Obr.1 Skener čárových kódů z DX.com
Přehled
Aktualizace: K dispozici je krátké video demo
Moje máma už neumí číst etikety na potravinách, a tak jsem šel hledat řešení. Poté, co jsem viděl, že čtečky čárových kódů pro nevidomé běhají mnoho stovek dolarů, chtěl jsem zjistit, co lze udělat pomocí Raspberry Pi a čtečky čárových kódů USB.
Další klíčovou napodobeninou bylo, že by to mělo fungovat BEZ internetového připojení (například v obchodě nebo u přítele). Databáze a převod textu na řeč tedy musely být samostatné.
Zkoušel jsem kamerovou verzi čtečky čárových kódů, ale osvětlení a poloha kamery způsobily problémy se spolehlivostí pro někoho, kdo neviděl jasně. To také vyžadovalo zrak k nastavení a používání aplikace. Přešel jsem na čtečku čárových kódů USB Laser, zejména proto, že jsou nyní k dispozici za méně než 30 dolarů a Raspbian Jessie je podporuje hned po vybalení.
Také jsem vyzkoušel novou Amazon Dash Wand, ale nemluví o naskenované položce a ke svému fungování vyžaduje připojení k internetu.
Cílem bylo naskenovat položku a nechat Raspberry dotazovat se na interní databázi kódů UPC a poté vyslovit popis produktu pomocí převodu textu na řeč.
Aby byla jednotka co nejmenší, chtěl jsem použít Raspberry Pi Zero. Také jsem chtěl spustit jednotku z baterie.
Ke splnění těchto požadavků byly nutné určité kompromisy. Protože Zero nemá externí zvukový konektor, znovu jsem použil zvukový design z mého projektu „Earthquake Pi“, protože byl levný (asi 6 $) a velmi malý. Alternativně je možná náhrada „Jeden tranzistorový zvuk za Pi Zero“.
Pro skener laserových čárových kódů jsem našel jeden z DX.com. Je napájen z Raspberry USB a stojí asi 25 dolarů. (viz Díly níže)
Krok 1: AKTUALIZACE
S příchodem Raspberry Pi Zero W se na něj chystám přepnout. Všechno je zde stejné, kromě toho, že musíte nastavit připojení WiFi k Pi. To znamená, že pro nastavení a použití nebudete potřebovat USB hub pro Zero.
WiFi můžete nastavit pomocí:
thepihut.com/blogs/raspberry-pi-tutorials/…
Věděl jsi?
Pokud nainstalujete Raspbian Jessie na kartu SD pomocí počítače se systémem Windows, můžete na kartě vytvořit dva soubory pro konfiguraci přístupu WiFi a SSH před spuštěním na Raspberry?
Předpokládejme proto, že je vaše karta SD aktuálně připojena jako K: na vašem PC:
1) Nainstalujte nejnovější obrázek Raspbian Jessie na SD. Pro tento projekt by měla fungovat Jessie Lite.
www.raspberrypi.org/downloads/raspbian/
2) Pomocí poznámkového bloku vytvořte soubor s názvem „ssh“a pomocí příkazu Uložit jako „Všechny soubory“do K: / ssh
Soubor může obsahovat cokoli. Důležitý je název souboru. Nesmí být „ssh.txt“!!!
3) Pomocí poznámkového bloku vytvořte soubor s názvem „wpa_supplicant.conf“s následujícím:
ctrl_interface = DIR =/var/run/wpa_supplicant SKUPINA = netdevupdate_config = 1
síť = {
ssid = "mySSID" psk = "mypassword" key_mgmt = WPA-PSK}
Použijte Uložit jako „Všechny soubory“do K: / wpa_supplicant.conf Znovu nedovolte programu Poznámkový blok změnit jej na „wpa_supplicant.conf.txt“!!
Když spouštíte Raspberry poprvé, Jessie je vyhledá a připojí se k vašemu Wifi. IP adresu však budete muset vyhledat na svém routeru, protože je přiřazena automaticky.
Krok 2: Seznam dílů
- Raspberry Pi Zero (nebo jakýkoli Raspberry Pi, pokud velikost není problém)
-
USB laserový snímač čárových kódů
www.dx.com/p/ls-4209-laser-bar-code-scanner…
- Pro Raspi Zero přidejte zesilovač Adafruit I2S 3W třídy D
- Malý reproduktor. (Pro Pi 2, 3 použijte externí zesilovač a reproduktor.)
- Adaptér USB OTG z mikro na USB
- 5V 1Amp USB baterie, například Ashttps://www.adafruit.com/products/1959
- Kabel USB na micro USB pro baterii.
- Rozbočovač USB a Ethernet (alespoň pro počáteční nastavení, není nutný pro Zero W nebo Raspi 2, 3)
- Software od GITHUB:
Krok 3: USB laserová čtečka čárových kódů
Laserové čtečky čárových kódů jsou ve schopnosti skenovat štítek UPC shovívavější než fotoaparáty. Fungují také dobře i ve špatně osvětlených nebo špatně umístěných štítcích.
K zapojení do nuly budete potřebovat mikro adaptér USB na USB.
Rukojeť a spoušť skeneru usnadňují použití.
Poskytuje také zpětnou vazbu, když úspěšně naskenuje štítek.
Budoucí úkol:
V konečném návrhu bych kabel zkrátil a zkrátil a připájel přímo k pinům USB na Zero, aby se zmenšila velikost a pravděpodobnost selhání konektoru. Nula a baterie by byly připevněny přímo ke spodní části rukojeti skeneru v 3D tištěném pouzdře.
Krok 4: Databáze UPC
Toto je nejhůře pokrytá část projektu, protože existují doslova miliony UPC kódů a velmi málo open-source databází, které jsou k dispozici ke stažení. Většina databází UPC je bohužel poměrně drahá a vyžaduje připojení k internetu.
Byl jsem schopen dát dohromady několik open-source databází (zdroje v příloze níže), ale i když v něm je téměř 700 000 položek, velké množství chybí.
Za tímto účelem jsem udělal dvě věci; jedním je zaměřit se konkrétně na potraviny a druhým je přidat k Raspberry webový server, aby bylo možné ručně přidávat nové kódy UPC, což však vyžaduje alespoň připojení k místní síti.
Budoucí úkol:
Udělal bych ze Zero W „hotspot“, abyste se k němu mohli připojit kdekoli a přidávat nové kódy UPC.
Krok 5: Převod textu na řeč
Použil jsem program převodu textu na řeč s názvem „Flite“, protože měl nejlepší kompromis mezi kvalitou hlasu a rychlostí převodu na nule. Ostatní zněli o něco lépe, ale byli příliš pomalí na to, aby se mohli obrátit.
Můžete se také podívat na výukový program Adafruit:
Všimněte si, že to bude trvat trochu „tréninku uší“, než si zvyknete na skloňování řeči, ale není to tak špatné.
Opětovné naskenování stejné položky zopakuje zvuk.
Budoucí ToDo
Možná přidejte konektor pro sluchátka, aby senioři snáze slyšeli hlas na hlučných místech.
Krok 6: Napájení z baterie
Systém lze spustit z 5V baterie USB, která se používá například k nabíjení mobilních telefonů.
Háček je v tom, že když odpojíte baterii nebo baterie vybije, Pi se zhroutí s šancí, že poškodí jednotku SD.
K vyřešení tohoto problému je zapotřebí tlačítko, které spouští příkaz k vypnutí. Pravděpodobně použiji tento:
www.element14.com/community/docs/DOC-78055…
(Ano … další „Budoucí úkol!“)
Krok 7: Část I - Přidání zvuku do Pi Zero
(Tuto část přeskočte, pokud nepoužíváte nulu!)
Na Pi Zero budete muset přidat externí zvuk, protože není vestavěný. Použil jsem levný „Adafruit I2S 3W zesilovač Breakout MAX98357A“
To vyžaduje nastavení pomocí skvělého tutoriálu Adafruit na:
Jak ukazuje část zapojení v tomto tutoriálu, připojte:
• 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
Připojte malý reproduktor ke zvukovým kabelům na desce.
Pi Zero Adafruit Audio Software Setup Také je ukázáno v tutoriálu k instalaci softwaru Adafruit, proveďte příkaz CURL níže:
$ curl -sS https://raw.githubusercontent.com/adafruit/Raspbe…> | bash
Po restartu vyzkoušejte zvuk pomocí testu reproduktorů:
$ reproduktor -test -c2 --test = wav -w /usr/share/sounds/alsa/Front_Center.wav
Pokud máte problémy, vraťte se zpět pomocí tutoriálu Adafruit a začněte znovu od přehledu. Pravděpodobně budete muset projít kroky „Podrobná instalace“v tutoriálu a ověřit všechny aktualizované soubory.
Důležité požadované kroky pro zvuk Zero & Max98357: Ve výchozím nastavení funguje zvuk ALSA pouze ve stereu, zatímco převod textu na řeč Flite je mono. Zvuk má také „prasknutí“při každém spuštění přehrávání.
(Viz:
Musíte provést následující:
1) Připojte řádek k souboru /boot/config.txt
$ sudo nano /boot/config.txt
dtoverlay = i2s-mmap
2) Nahraďte /etc/asound.conf
$ sudo nano /etc/asound.conf
pcm.hifiberry {zadejte hw kartu 0} pcm.! výchozí {typ plug slave.pcm "dmixer"} pcm.dmixer {zadejte dmix ipc_key 1024 slave {pcm "hifiberry" kanály 2}} ctl.dmixer {zadejte hw kartu 0}
3) Restartujte Pi.
Zkuste znovu test reproduktorů. Nyní by to mělo znít lépe. Jakmile dokončíte tutoriál nastavení včetně testů zvuku, zvuk by měl být připraven.
Pokud si to vezmete do obchodu s potravinami nebo do hlučného prostředí, možná budete chtít přidat konektor pro sluchátka.
Krok 8: Část II - Instalace softwaru
To předpokládá, že již máte nainstalovanou Raspbian Jessie a můžete přistupovat k příkazovému řádku Linuxu. Nepotřebujete verzi Raspbian s GUI, ale můžete ji použít.
USB skener v tuto chvíli NEPOTŘEBUJETE, pokud potřebujete USB port pro ethernet nebo klávesnici/myš.
Zkontrolujte, zda je váš operační systém aktuální:
$ sudo apt-get update $ sudo apt-get upgrade
Z příkazového řádku přejděte do domovského adresáře pi a stáhněte si úložiště GITHUB:
$ cd/home/pi $ sudo apt install git $ git clone https://github.com/rgrokett/TalkingBarcodeReader….> https://github.com/rgrokett/TalkingBarcodeReader….> $ cd TalkingBarcodeReader $./install. sh
To bude nějakou dobu trvat, zvláště pokud je to poprvé a webový server a PHP je třeba nainstalovat nebo aktualizovat. Pokud je to nutné, můžete to spustit více než jednou. Kromě jiného se tím nainstalují soubory čárových kódů a databáze UPC na:/var/www/html/upc
Dále upravte /etc/rc.local a připojte následující řádek před „exit 0“
$ sudo nano /etc/rc.local
fi sudo /var/www/html/upc/bin/run.sh exit 0
Po dokončení instalace vypněte Pi, připojte čtečku čárových kódů USB a restartujte.
$ sudo nyní vypnuto
Zapněte jej a měli byste slyšet krátký úvodní projev.
Pokud ano, zkuste naskenovat čárový kód z potraviny. Pokud vše proběhlo dobře, měli byste to slyšet vyslovit danou položku (nebo říci „Nenalezeno“). V opačném případě se podívejte na průvodce řešením potíží dále.
Krok 9: Odstraňování problémů
Pokud neslyšíte žádné zvuky, budete muset vyzkoušet následující příkazy:
1) Ověřte, zda funguje zvuk převodu textu na řeč:
$ sudo flite -voice awb -t "testování"
Pokud se zobrazí chyba, ujistěte se, že byl nainstalován flite:
$ sudo apt install flite
Pokud se zobrazí následující chyba, ujistěte se, že jste aktualizovali soubory /boot/config.txt a /etc/asound.conf zobrazené v části Nastavení zvuku výše na Raspi Zero’s: audio_open_alsa: nepodařilo se nastavit počet kanálů na 1. Neplatný argument.
Pokud se vám nezobrazí žádná chyba ani zvuk, ujistěte se, že váš zvuk Raspberry funguje.
sudo aplay /usr/share/sounds/alsa/Front_Center.wav
1) Možná budete muset vypnout zvuk ze zvukového konektoru: (viz obr.1 výše)
$ sudo raspi -config -> 7 Pokročilé možnosti -> Zvuk A4
2) Až budete mít zvuk a převod textu na řeč dobré, zkontrolujte čtečku čárových kódů:
cd/var/www/html/upc/binsudo python./test.py
Při skenování čárového kódu byste měli vidět číselné číslo čárového kódu. (Testovací program NEOBSAHUJE zvukový výstup ani připojení k databázi.)
3) Pokud je vše v pořádku, zkontrolujte v souboru „nohup.out“chybové zprávy:
cd/var/www/html/upc/binsudo kočka nohup.out
Pravděpodobnými problémy jsou chybějící balíčky nebo špatná oprávnění (nebo CHYBY v kódu!). Ujistěte se, že je váš operační systém aktuální, a znovu spusťte soubor install.sh.
Naštěstí už pracujete!
Krok 10: Část III - Web Server
Protože existují MILIONY UPC kódů a většina veřejně (tj. Bezplatných) dostupných databází je jen malou podmnožinou kódů, zaměřil se tento projekt na UPC kódy pro potraviny. Obsahuje několik set tisíc položek, ale mnoho a mnoho se nenajde.
Pokud potřebujete přidat nebo aktualizovat databázi UPC, jsou k dispozici dva programy; jeden z příkazového řádku a jeden z webového prohlížeče. (nahraďte číslice číslem vaší položky UPC)
$ cd/var/www/html/upc/bin
$ sudo./addDB.sh 01234567890 „Moje nová položka“
Tím se přidá záznam do databáze. V opačném případě doporučujeme použít funkci DB webového prohlížeče.
Pro GUI webového serveru potřebujete IP adresu vaší maliny.
Chcete -li zjistit IP adresu, můžete použít:
$ hostname -I 192.168.1.108
V prohlížeči na PC přejděte na: https://192.168.1.108/upc/ Měli byste vidět obrazovku podobnou té na obr. 2 výše.
Pokud ano, můžete přidávat/aktualizovat a mazat záznamy. Přejděte na poslední stránku pomocí tlačítka (‘> |‘) „poslední záznam“, abyste viděli své nejnovější záznamy tak, jak jsou připojeny na konec databáze.
ZABEZPEČENÍ UPOZORNĚNÍ, že tato webová služba není zabezpečená (žádné ověřování, žádné SSL), proto je nejlepší ji nevystavovat veřejnému internetu. (Protože ale není nastaven jako přístupový bod WiFi, je bezpečné jej nosit do obchodu.)
Ačkoli, protože na něm nejsou žádná soukromá data, horší věc, která se může stát, je, že někdo manipuluje s daty UPC.
Můžete také omezit přístup na konkrétní IP adresy, aby se dovnitř nedostaly žádné další. Stačí zde nahradit IP adresy, které chcete povolit. Všem ostatním bude zablokován přístup:
$ 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
ZMĚNIT také výchozí heslo PI! Každý ví, že výchozí je pi/malina
$ passwd
Krok 11: Řešení potíží s webovým serverem
Pomocí prohlížeče přejděte na adresu IP svého Raspberry, například takto:
192.168.1.108/
Měli byste vidět výchozí obrazovku z /var/www/html/index.html (obr.1 výše)
Také se ujistěte, že je webový server spuštěn:
$ ps -ef | grep lighttpd
Chcete -li ověřit, že je PHP dobré, vytvořte testovací soubor php:
$ sudo nano /var/www/html/phpinfo.php
Poté přejděte na
Měli byste vidět obrazovku jako na obr. 2 výše
Pokud se vám zobrazují chyby nebo prázdné obrazovky, vyhledejte chyby v
$ sudo cat /var/log/lighttpd/error.log
Opětovné spuštění souboru install.sh může opravit chybějící závislosti.
Krok 12: Dodatek
Za zpřístupnění velké databáze UPC patří VELKÉ DÍKY.
Otevřete Grocery UPC DB
www.grocery.com/open-grocery-database-proje…
Otevřete Data Data
www.grocery.com/open-grocery-database-proje…
www.upc-search.org/perl/upc-search.pl?q=84…
Díky EasyUI za jednoduché webové CRUD GUI
www.jeasyui.com/index.php
Doporučuje:
Čtečka RFID na bázi ESP32 s dotykovým displejem: 7 kroků
Čtečka RFID založená na ESP32 s dotykovým displejem: Na tomto instruktážním návodu ukážu, jak vytvořit jednoduchou čtečku RFID s výstupem TFT pro montáž na zeď pomocí modulu ESP32 DEV KIT C, PCB čtečky na bázi RC-522 a sady AZ-Touch ESP. Tuto čtečku můžete použít pro přístup ke dveřím nebo poplach narušitele
Superstock (sklad řízený čtečkou čárových kódů): 5 kroků
Superstock (Stock Controlled by Barcode Scanner): V této příručce vám řeknu, jak postavit Superstock, můj školní projekt pro 1MCT na Howest. Tento koncept vytváří uživatelsky přívětivou databázi, ke které máte přístup prostřednictvím webových stránek, abyste měli přehled o tom, co máte na skladě (v mém případě oblečení pro můj
Bezdrátová čtečka karet SD [ESP8266]: 10 kroků (s obrázky)
Bezdrátová čtečka karet SD [ESP8266]: USB mělo být univerzální a hlavním cílem bylo vytvořit hot-swap, super snadné rozhraní s jinými zařízeními, ale v průběhu let se tato myšlenka rozpadla. Existuje tolik různých variant těchto USB portů, což je tak frustrující v
USB čtečka čárových kódů (Raspberry Pi): 4 kroky
USB čtečka čárových kódů (Raspberry Pi): Základní návod, jak nastavit skener čárových kódů USB pomocí Raspberry Pi
Levné makro objektivy pro skenování čárových kódů pro iPhone: 6 kroků (s obrázky)
Levný makro objektiv Iphone pro skenování čárových kódů: Do očí bijícím problémem fotoaparátu iPhonu je jeho neschopnost zaostřit blíže než ~ 1 stopu. Některá řešení na trhu s náhradními díly pomáhají tento problém vyřešit, například iClarifi od Griffin Technology. Toto pouzdro pro iPhone 3G vám umožní posunout trochu