Inhoudsopgave:

PiTextReader - een gebruiksvriendelijke documentlezer voor slechtziendheid: 8 stappen (met afbeeldingen)
PiTextReader - een gebruiksvriendelijke documentlezer voor slechtziendheid: 8 stappen (met afbeeldingen)

Video: PiTextReader - een gebruiksvriendelijke documentlezer voor slechtziendheid: 8 stappen (met afbeeldingen)

Video: PiTextReader - een gebruiksvriendelijke documentlezer voor slechtziendheid: 8 stappen (met afbeeldingen)
Video: PiTextReader 2024, Juli-
Anonim
PiTextReader - een gebruiksvriendelijke documentlezer voor slechtziendheid
PiTextReader - een gebruiksvriendelijke documentlezer voor slechtziendheid

Overzicht

Update: Korte videodemo:

Met PiTextReader kan iemand met een verminderd gezichtsvermogen tekst "lezen" uit enveloppen, brieven en andere items. Het maakt snapshots van een afbeelding van het item, converteert naar platte tekst met behulp van OCR (Optical Character Recognition) en spreekt de tekst vervolgens uit met behulp van tekst-naar-spraak.

De Reader is ontworpen om zo absoluut gebruiksvriendelijk mogelijk te zijn. Geen internet nodig, geen grafische interface, slechts één knop. Plaats het te lezen item gewoon op de standaard en druk op een knop. Na enkele ogenblikken wordt de tekst voorgelezen.

Ik heb dit ontworpen voor een bejaarde ouder met gezichtsproblemen zoals maculaire degeneratie, maar het kan breder worden gebruikt voor iedereen die gedrukte tekst wil laten vertalen in audiospraak.

Er zijn veel lezers beschikbaar, de meeste kosten echter duizenden dollars of zijn voor iemand die technisch onderlegd is en internetconnectiviteit en het gebruik van een smartphone nodig heeft. Deze lezer is ontworpen om volledig op zichzelf te staan zonder internet en zonder andere interface dan een grote drukknop.

Pluspunten

  • Eén knop om te bedienen
  • Geen internetverbinding vereist
  • Geen grafische gebruikersinterface om te navigeren
  • Totale kosten minder dan $ 100
  • Altijd klaar om te gaan

nadelen

  • OCR kan beperkt zijn vanwege lettertypen, kleuren, tekstgrootte, enz.
  • Spraak klinkt als Stephen Hawking
  • Werkt het beste voor kleine delen zwarte tekst op wit papier.

Stap 1: Hardware

Hardware
Hardware
  • Raspberry Pi 3 (heeft de pk's nodig!)
  • 8 GB + micro SD-kaart
  • 5v 2A DC-voeding voor Raspberry
  • Raspberry Pi-camera (normaal of NoIR)https://www.adafruit.com/product/3099
  • 24-inch Raspberry Pi-camerakabelhttps://www.adafruit.com/product/1731
  • Camerabevestiging of -kofferhttps://www.adafruit.com/product/3253 ofhttps://www.adafruit.com/product/1434
  • Lensaanpassingstool (om de camera scherp te stellen)https://www.adafruit.com/product/3518
  • Monoluidspreker met USB-voeding (bij voorkeur klein formaat!)
  • Grote drukknop – kortstondig met LEDhttps://www.adafruit.com/product/1440
  • 330 ohm weerstand voor bovenstaande knop LED
  • Houten kist 8”x8”x2” van Michaels of andere grote kunstwinkels.
  • Sloophout voor het bouwen van camerastandaard:
  • 8"Lx1"Bx1/2"T platte strook
  • 5”Lx1”Bx1/4”T platte strook
  • 6”Lx1/2”x1/2” vierkante deuvel voor een plaatsingsgids
  • Schroeven, lijm, draad, soldeer etc.

Stap 2: Hardwareconstructie

Hardware constructie
Hardware constructie
Hardware constructie
Hardware constructie
Hardware constructie
Hardware constructie

De doos van 8 "x8" gebruiken:

1. Boor een gat in de achterkant voor het netsnoer.

2. Boor een gat in de rechtervoorhoek voor de tijdelijke knop3. Boor gat(en) voor de luidspreker. (zie audio stap 12 hieronder)

4. Ik heb een stuk aluminium strip van 2”x1/4”x13” gebruikt voor de camerabevestiging, maar houten strips werken ook.

A. Monteer de 8” platte houten strip op de achterkant van het deksel van de doos. (zorg ervoor dat het aan het deksel is bevestigd en niet aan de onderkant van de doos, anders kun je het niet openen!)

B. Monteer de 5 "platte houten strook bovenop de 8" verticaal met schroeven en lijm. LET OP: de hoogte van de camera bepaalt de grootte van het document en de benodigde focus. Misschien wilt u hoger gaan voor documenten met een groter gebied.

5. Snijd een spleet van 1”x1/16” in de bovenkant van de doos bij de 8” verticaal zodat de camerakabel erdoor kan.

OPMERKING: Voor de elektronica raad ik aan om de componenten nog NIET permanent te monteren, zodat u gemakkelijk aanpassingen kunt maken.

6. Sluit de 24” camerakabel aan op de camera. MAAK NOG GEEN VERBINDING MET RASPBERRY.

Stap 3: Hardwarevervolg…

Hardware-vervolg…
Hardware-vervolg…
Hardware-vervolg…
Hardware-vervolg…
Hardware-vervolg…
Hardware-vervolg…
Hardware-vervolg…
Hardware-vervolg…

7. Monteer de camera naar beneden gericht vanaf het uiteinde van de 5” houten strip. Ik raad aan te wachten voordat u de camera in de tas plaatst, zodat u de lens gemakkelijker kunt scherpstellen als deze eenmaal draait!

Gebruik voor de eerste scherpstelling het gereedschap Aanpassing en draai de lens 1/4 tegen de klok in! draai.

8. Leid de camerakabel door de sleuf en bevestig deze aan de Pi. (Zorg ervoor dat Pi UIT staat!)

9. Installeer de tijdelijke knop en sluit de draden aan tussen deze en Pi GPIO-pinnen 24 en GND. En sluit de LED van de knop via een weerstand van 220 ohm aan op Pi GPIO-pinnen 18 en GND.

10. Steek de voeding in de doos en steek de stekker in de Pi. U moet trekontlasting zoals smeltlijm of iets dergelijks gebruiken om het gat in de doos te dichten, zodat de kabel er niet uit kan worden getrokken.

Stap 4: Audio-hardware installeren…

Audiohardware installeren…
Audiohardware installeren…
Audiohardware installeren…
Audiohardware installeren…
Audiohardware installeren…
Audiohardware installeren…
Audiohardware installeren…
Audiohardware installeren…

11. Voor de audio gebruikte ik een monoluidspreker die USB-voeding en mini-jack-audio gebruikte. Ik heb de elektronica en de luidspreker uit de originele plastic behuizing verwijderd en de audiostekker in de Pi-audioaansluiting en de USB-kabel op Pi USB gestoken. Ik heb ook de originele kleine luidspreker vervangen door een grotere 3-inch voor een veel betere geluidskwaliteit.

Omdat ik de speaker onder het deksel van de doos monteerde, boorde ik meerdere kleine gaatjes in de vorm van een speakergrill.

12. Controleer ten slotte de verbindingen, met name de camerakabel en GPIO-verbindingen.

SCHAKEL DE PI NOG NIET IN. Ga eerst verder met software-instellingen…

Er is geen aan / uit-schakelaar, omdat wordt aangenomen dat de Pi de hele tijd moet draaien, zodat hij klaar is om onmiddellijk iets te lezen. Hij verbruikt maar een paar watt en kan zonder problemen 24/7 draaien.

Het is mogelijk dat de SD-kaart beschadigd raakt als de stekker uit het stopcontact wordt gehaald of als de stroom uitvalt, maar dit komt zelden voor. Ik heb nog nooit een niet-opstartbare SD-kaart gehad. Maar sluit de stekker niet aan op een stekkerdoos die regelmatig wordt in-/uitgeschakeld.

Stap 5: Installatie en configuratie van het besturingssysteem

Formatteer een microSD-kaart van 8 GB of groter met Raspbian Jessie (of Stretch) Lite (geen GUI voor dit project).

www.raspberrypi.org/downloads/raspbian/

U moet op afstand toegang krijgen tot de Raspberry via SSH. Op Windows kunt u het PUTTY SSH-terminalprogramma gebruiken. Op Mac opent u gewoon een opdrachtterminalvenster. Als alternatief kunt u tijdelijk een toetsenbord en HDMI-monitor aansluiten om het te laten bouwen, maar SSH maakt het later gemakkelijker om aan te werken.

Wist je dat? Als je Raspbian Jessie op een SD-kaart installeert met een Windows-pc, kun je twee bestanden op de kaart maken om wifi- en SSH-toegang te configureren voordat je hem opstart op een Raspberry?

Neem hiervoor aan dat uw SD-kaart momenteel als K: op uw pc is gemonteerd:

1) Installeer de nieuwste Raspbian Jessie-afbeelding op de SD. Voor dit project zou Jessie Lite moeten werken.

2) Maak met Kladblok een bestand met de naam "ssh" en gebruik Opslaan als "Alle bestanden" naar K:\ssh Het bestand kan alles bevatten. Het is de bestandsnaam die belangrijk is. Mag NIET "ssh.txt" zijn!!!

3) Maak met Kladblok een bestand met de naam "wpa_supplicant.conf" met het volgende:

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

netwerk={

ssid="mijnSSID" psk="mijnwachtwoord" key_mgmt=WPA-PSK }

Gebruik Opslaan als "Alle bestanden" naar K:\wpa_supplicant.confNogmaals, laat Kladblok het niet wijzigen in "wpa_supplicant.conf.txt"!!

Wanneer je de Raspberry de eerste keer opstart, zal Jessie hiernaar zoeken en verbinding maken met je wifi. U zult echter op uw router moeten zoeken naar het IP-adres, aangezien het automatisch wordt toegewezen met behulp van DHCP.

Nu klaar om op je Pi te installeren:

1. Plaats de microSD-kaart in de Pi en sluit nu de stroom aan.

2. Om op afstand in te loggen op uw Raspberry Pi, moet u het IP-adres vinden. Je kan het proberen:

$ ssh [email protected]

Of voer vanuit Putty hostnaam in: [email protected]

Anders moet u kijken of uw router de IP-adressen van uw lokale apparaten weergeeft.

Eenmaal ingelogd als pi-gebruiker:

3. Werk uw Raspbian-besturingssysteem bij:

$ sudo apt-update

$ sudo apt-upgrade

4. Configureer de Raspberry en schakel de camera in:

$ sudo raspi-config

A. Gebruikerswachtwoord wijzigen

B. Interface-opties -> Camera -> Inschakelen

C. Finish

NS. Opnieuw opstarten

Stap 6: Installatie van toepassingssoftware

Log nu weer in op uw Pi en u bent klaar om de PiTextReader-toepassing te installeren.

1. Installeer de eerste vereiste software: $ sudo apt install git –y

2. Download de software:

$ cd /home/pi

$ git-kloon

$ cd PiTextReader

$ sh install.sh

U kunt install.sh veilig meerdere keren opnieuw uitvoeren, indien nodig.

3. Plaats een eenvoudig document om te lezen en voer het testprogramma uit dat het volume instelt, wat tekst-naar-spraak-audio afspeelt en een foto maakt.

$ sh test.sh

Als je foutmeldingen krijgt, kijk dan hieronder bij Problemen oplossen. Bewerk indien nodig het test.sh-programma om het volume aan te passen.

4. Het testprogramma slaat een foto op in “test.jpg”. U moet deze afbeelding naar een pc kopiëren zodat u de focus en het gezichtsveld kunt zien. Een snelle en vuile manier om dit te doen, is door een kleine webserver op je Pi te starten en een browser te gebruiken:

$ python -m SimpleHTTPServer 8080 &

Blader vervolgens naar

Klik op de test.jpg

Gebruik het hulpmiddel Lensaanpassing om de camera scherp te stellen.

Voer het programma test.sh opnieuw uit zo vaak als nodig is.

OPMERKING: als je de instellingen van de raspistill-camera moet aanpassen, moet je ook het programma pitextreader.py met de nieuwe instellingen bewerken.

CAMERA = "raspistill -cfx 128:128 --awb auto -rot 90 -t 500 -o /tmp/image.jpg"

5. $ sudo opnieuw opstarten

De Pi zou automatisch moeten starten en draaien, klaar voor gebruik.

Stap 7: Bediening

Wanneer u de Pi opstart, hoort u een "OK Ready" en ziet u de knop-LED oplichten.

Telkens wanneer de LED brandt, is het apparaat klaar voor gebruik.

Leg wat gedrukte tekst onder de camera, liefst een paar regels zwarte tekst op wit papier.

Merk op dat de camera niet veel licht nodig heeft, met name de NoIR. Sfeerverlichting in de kamer was prima voor mij. Te veel licht veroorzaakt ongelijkmatige verlichting en vervormt de OCR.

Druk op de knop.

De LED moet oplichten en er moet een klikgeluid van de camera en de spraak "OK werkt" klinken.

Na een paar seconden moet de tekst worden gelezen. Als de tekst vervormd is, het lettertype te donker of te licht is, zijwaarts of ondersteboven, dan is het resultaat smakeloze spraak!

Het kan 5-30 seconden duren om te converteren en te beginnen met lezen, dus wees geduldig. Hoe meer tekst, hoe langer het duurt.

Als u wilt stoppen met lezen, kunt u op de knop drukken terwijl de audio nog speelt (de LED is uit).

Zodra de toespraak is voltooid, gaat de LED na een paar seconden weer aan en hoort u opnieuw "OK Klaar". Het is klaar om nog een scan te maken.

Merk op dat de afstand die de camera is ingesteld voor de Raspi-camera en voor slechts een deel van een 8x10-document. Ik ontdekte dat het het beste is om delen van een document tegelijk te lezen, omdat het moeilijk kan zijn om naar volledige pagina's te luisteren. Veel van de dingen die moeten worden gelezen, zijn kleinere tekst, dus als de camera te ver weg is, kan deze niet worden opgelost.

Raadpleeg het onderstaande om problemen op te lossen, met name het gedeelte SCANNEN EN OCR

Als alles goed is, monteer dan permanent alle componenten om de constructie te voltooien.

Stap 8: Problemen oplossen

1. CAMERA

Controleer of de camera is ingeschakeld via

$ sudo raspi-config

Interface-opties -> Camera

Plaats de lintkabel opnieuw, omdat deze delicaat is en precies moet worden uitgelijnd. Google indien nodig op "raspberry pi camera troubleshooting" om soortgelijke problemen te zoeken. Google ook de foutmelding die u krijgt bij het uitvoeren van het test.sh-programma.

2. AUDIO

Heb je volume omhoog?

$ sudo mixer -q sset PCM, 0 100%

Audiotest uitvoeren

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

Nog geen geluid? Forceer audio uit de aansluiting:

$ sudo raspi-config Geavanceerde opties -> Audio -> Forceer hoofdtelefoonaansluiting

3. SPRAAK

Als bovenstaande audio goed klinkt, probeer dan:

$ flite -t TEST

Google-foutmeldingen, indien aanwezig.

Voer de install.sh. opnieuw uit

Ja, de toespraak klinkt een beetje als Stephen Hawking.

4. SCANNEN EN OCR

Dit is het grootste gebied van afstemming dat nodig is. Om de OCR goed te laten werken, moet het camerabeeld van goede kwaliteit zijn; het document moet goed verlicht zijn, maar niet per se fel.

De tekst moet vlak en duidelijk zijn. Niet alle lettertypen zijn leesbaar.

Bekijk de twee bestanden om de kwaliteit te controleren:

/tmp/text.txt en /tmp/image.jpg

U kunt de kleine webserver starten en een browser gebruiken:

$ cd /tmp $ python -m SimpleHTTPServer 8080 &

De tekst in de afbeelding moet duidelijk en leesbaar zijn. Het beeld moet met de goede kant naar boven, goed contrast, scherp zijn. Mogelijk moet u het document omdraaien als het ondersteboven ligt. (Herinner de gebruiker eraan dat als hij een gobbly-gook hoort, probeer het document dan om te draaien.) Als de afbeelding een slecht contrast heeft, moet u de verlichting verbeteren, te veel of te weinig kan problemen veroorzaken. Ongelijkmatige verlichting zal er ook voor zorgen dat delen van de tekst uitvallen. U kunt meer hulp vinden door te googelen op "tesseract-ocr help"

5. HDMI-MONITOR/TOETSENBORD

Ja, u kunt een toetsenbord en monitor aansluiten op de Pi, in het bijzonder. als u het IP-adres niet kunt vinden of geen toegang kunt krijgen via SSH. Er is geen GUI-interface en hierdoor kan het geluid worden uitgeschakeld, tenzij uw monitor een luidspreker heeft.

6. INTERNET/WIFI

Als de WIFI niet werkt, kunt u tijdelijk een Ethernet-kabel aansluiten en die gebruiken.

Dit project heeft geen internet of wifi nodig nadat je de installatie en configuratie hebt voltooid.

Aanbevolen: