Pro zabavu jsem si postavil z Arduina jednoduchou RFID ctecku (MIFARE 13,56MHz). Po prilozeni cipu firmware v Arduinu precte ID karty (blok 0) a posle ho pres seriovy port do PC. Protoze sledovat vypis v PuTTY byla nuda, dodelal jsem strojove cteni.
A to byla dobra vyzva! Po chvili hledani jsem se rozhodl zneuzit Google prekladac.
RFID ctecku jste mohli videt na Open hardware hackathonu, DevFestu 2014, DevFestu 2015 a pak take pri otevreni GeekLabu v Jicine.
Zdrojaky RFID ctecky jsou na GitHubu a ukazkove video na YouTube.
Protoze cteni je snadne a dalo by se vyuzit i na jine veci, vytvoril jsem si cteci skript. Ten je take na GitHubu. A takhle vypada:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
#! /usr/bin/python # https://github.com/tuxmartin/google-translator-text-to-speech # !!! Pouze pro vyukove ucely! Na 99,9% porusuje licenci Googlu !!! """ Pouziti: $ echo "test 123" | python googleTextToSpeech.py cs $ echo "test 123" | python googleTextToSpeech.py en Pokud neni zadany jazyk, pouzije se cestina. Je nutne mit nainstalovany "wget" a "madplay" prehravac! http://packages.ubuntu.com/search?keywords=madplay """ import sys from subprocess import call import urllib try: jazyk = sys.argv[1] #print "Jazyk pro cteni = ", jazyk except IndexError: jazyk = "cs" print "Nebyl zadan jazyk pro cteni! Pouzivam vychozi = ", jazyk text = "" for line in sys.stdin: # print line text += line cti = urllib.quote_plus(text) userAgent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:30.0) Gecko/20100101 Firefox/30.0"; prikaz = "wget -q -U \"" + userAgent + "\" -O - \"http://translate.google.com/translate_tts?ie=UTF-8&tl="+ jazyk +"&q=" + cti + "&total=1&idx=0&client=t\" | madplay -q -" #print prikaz call(["/bin/sh", "-c", prikaz]) |
Pouzivejte prosim zdrojak z GitHubu, ten budu casem vylepsovat a opravovat 🙂
Jak to funguje?
Google na webu v prekladaci nabizi moznost nechat si precist zadany text. Jako vystup vytvori MP3 soubor a posle ho prohlizeci. A to je cele. Vyse uvedeny skript dela nekolik veci:
- precte text ze standardniho vstupu
- prevede ho na URL format (url encode)
- sestavi kompletni URL vcetne textu pro preklad
- prida identifikaci Firefoxu (Google odmita pracovat s „wget“ user-agentem)
- wgetem stahne URL
- google vrati mp3 a tu pres rouru posle madplay prehravaci
- ten ji prehraje a cely program konci
Skript se neda pouzivat moc casto. Google totiz po chvili zacne vracet chybovy kod (asi 503). Po zobrazeni v prohlizeci se je videt hlaska o podezrele aktivite v siti.
Skript je pouze pro vyukove ucely, nikoliv k beznemu pouzivani!