Hoe maak je een afstandsbediening bewuste web-marionet door hacking Twitter, Google, Skype, Arduino en Processing! (5 / 16 stap)

Stap 4: Hoe Twitr_janus spreekt met behulp van tekst naar spraak (in verwerking)


Spreken van open data

Een essentieel punt dat ik probeerde om te testen met Twitr_janus was of ik een marionet krijgen kon te spreken van open data via het web. Het was aanvankelijk bedoeld zou dit alleen tweets van account op Twitter en dit was hoe Twitr_janus kreeg zijn naam.

Twitr_janus deed inderdaad sucessfully spreken tweets, ontdaan van de Twitter API met verwerking.

Waardoor Twitr_janus tweets spreken werd gedaan zonder gebruik te maken van API sleutels en door de API-tekenreeks te parseren, in plaats van te verwijzen naar velden correct. Dit was niet hoeft te registreren als ontwikkelaar van Twitter, enz. Deze ruwe methode had enkele beperkingen, bijvoorbeeld tweets met stuurcodes, verward de parseren scripts leidt tot berichten wordt afgekapt wanneer wordt gedecodeerd.

Het parseren model werkte veel beter met de spreadsheten van Google, waar de onbewerkte gegevens kunnen worden toegevoegd met extra stop gegevens om te helpen het parseren proces expressies gebruiken in de velden werkblad. De gegevens van de spreadsheet van Google was niet alleen eenvoudig te gebruiken voor spraak, was het mogelijk om gemakkelijk gebruiken voor controle van de oogbol. Omdat de methode van Google spreadsheet het gemakkelijker en veelzijdiger van deze twee benaderingen is, is dit wat wordt hieronder beschreven.

Hoe gegevens worden verzonden, gecodeerd en gedecodeerd, stap voor stap

Het helpt om door de gegevensstroom te denken...

Voordat u begint op dit vond ik het nuttig krabbelen beneden een stroomschema krijg een gevoel voor de bouwstenen nodig. De mond en TTS vertegenwoordigen de functie van tekst naar spraak converteren.

Dit is niet een technische tekening!

Deel 1 - invoeren van gegevens in de spreadsheet van Google

Er waren drie stukken van de gegevens die worden verzonden vanaf de spreadsheed, te worden gedecodeerd door de verwerking nodig. Dit waren de twee variabelen eyeballUpDown_stop (kolommen F) en eyeballLeftRight_stop (kolom G) die zijn gecodeerd positionering van gegevens. Later eens gedecodeerd zouden ze worden gebruikt om station servo's met een Arduino aangesloten op het hoofd van de marionet. Het derde stuk van de gegevens was text_stop, die is wat moest verder worden verwerkt bij de verwerking van de tekst-naar-spraak te maken.

In de definitieve versie werden slechts twee gegevenselementen gestuurd. De spraakgegevens en een gegevenswaarde van één oog. Hierdoor kan enige verwarring bij de interpretatie van de code! (eyeballUpDown werd gebruikt, hoewel niet hernoemd),

Een enkele oogbol positie variabele kan worden gebruikt in plaats van twee omdat de gegevens gewoon worden verzonden vertegenwoordigd een van 25 posities. Hoewel twee controlewaarden nodig zijn door de Arduino te plaatsen van de oogbollen (een voor de omhoog/omlaag-servo, een voor de servo links/rechts) werd de één variabele verzonden gebruikt voor toegang tot overeenkomstige waardenparen, opgeslagen in een matrix binnen de Arduino schets.

In de cellen ziet u dat de gegevens heeft zijn voorafgegaan door het teken ¬. Dit wordt toegevoegd aan welke gegevens geschiedt handmatig met behulp van een expressie van de cel concatonating. Het is als een stop-teken gebruikt de gegevens om tekenreeksen te scheiden later. Deze tekens zal verschijnen in de RSS-feed en de verwerking script gebruikt hen om te vertellen waar één gegevenseenheid stopt en de volgende begint. (stuurcode afbakening)

Aanvankelijk was de gegevens handmatig ingevoerd in velden in de spreadsheet, zoals hieronder. Dit is niet ideaal, als je weten de exacte positie waarden moet te verzenden, die is moeilijk te onthouden en makkelijk te verknoeien...

Om te voorkomen dat handmatig invoeren van gegevens in het werkblad, werd de ingebouwde Google-vorm gebruikt. Deze optie is beschikbaar voor alle Google spreadsheet werd gebruikt.


Die ziet er zo...

Echter nodig het standaardformulier dat Google nog steeds de oogbol numerieke waarden moeten worden ingevoerd, precies, positionering, dus het moest worden gewijzigd.

Een nuttiger om formulier te maken met eenvoudige bediening over vooraf ingestelde waarden voor de oogbol variabelen de basic werd HTML-code van het formulier overgedragen aan een webpagina (een html widget op een NetVibes pagina), waar het een beetje gepimpte kon worden.

Het formulier in Netvibes als leek aan de exploitant van de marionet

De vrije tekst-ingangen werden geruild voor radio knop ingangen met vooraf ingestelde waarden en bijbehorende standpunt van leesbare tekst.

Het belangrijkste ding was nog steeds de oorspronkelijke Google-veldnamen gebruiken zodat de gegevensopties zou alle worden afgevuurd in dezelfde cel in het werkblad wanneer het nieuwe formulier ingediend

U kunt dit zien in de HTML-weergave van het formulier hieronder. Alle opties volgen hetzelfde patroon als hieronder

  • xxx is de waarde van een besturingselement die stuurt gegevens die overeenkomt met de positie van de fysieke oogbol "positionxxx"
  • De waarde van xxx is eigenlijk een referentienummer aan de waarde binnen een specifiek element van een matrix (er zijn er 25 verschillende vooringestelde posities, vandaar een radio-knop nodig voor elk getalwaarde tussen 1 en 25, benut gel de matrix waarden tussen array [1] en array [25]
  • positionxxx is een duidelijke Nederlandse beschrijving te tonen van de exploitant, te laten kiezen een doelpositie van de oogbol
  • "entry.1.single" is de naam van het Google-veld dat moet worden gehouden hetzelfde, dus het de waarde xxx door de juiste cel in het werkblad gestoken zal. Dit is hetzelfde voor elk keuzerondje, omdat de verschillende waarden zijn effectief keuze van waarden om te zetten in een veld

Door de herziening van het formulier, is een meer visuele interface gemaakt, dus het was makkelijker om te zien waar de oogbollen zou verplaatsen, terwijl nog waardoor de toespraak tekst worden ingevoerd.

De andere lijn dat belangrijk die ook is overgenomen uit de originele Google formulier html is het deze wel:


Het is de vorm verzendactie, en hetzelfde moet worden bewaard.

Deze techniek voor het pimpen van een eenvoudige vorm van Google heeft een aantal voordelen:

  • Hiermee kunt u andere mogelijkheden zoals het toevoegen van continue schuifregelaars met behulp van de functie van HTML 5 < input type = "bereik" / >
  • u kunt een methode van injecterende gegevens in het werkblad zonder enige vorm van API-sleutel. Je hoeft alleen te weten hoe te tweaken van HTML-formulierbesturingselementen en waarden.
  • u kunt de gegevens in een veld invoeren, maar trek de gegevens uit een ander veld dat maakt gebruik van de invoergegevens, doch gewijzigd in zekere zin om uit te breiden zijn veelzijdigheid, zoals vereist

Het nadeel is

  • voor het indienen van het formulier, brengt Google u terug naar de oorspronkelijke vorm niet uw pimped vorm, dus u hoeft te doen een pagina refresh na elke inzending te herladen u vorm

Het formulier in Netvibes - HTML-broncode (afbeelding hieronder)

Deel 2 - de gegevens uitstappen aan de andere kant van het web

De hierboven beschreven methode voor de vermelding van gegevens is de eerste schakel in de nogal onzin gegevensstroomdiagram getoond bij de bovenkant van de pagina (hoewel het Twitter als de gegevensbron, niet Google toont). De gegevens post stap gebeurt op een besturingselement, dat wordt gebruikt door de exploitant op afstand van het hoofd van de marionet Twitr_janus. Het is in feite de primaire controle-interface.

Aan de andere kant van het web, was Twitr_janus hoofd aangesloten op een afzonderlijke computer zijn verwerking hersenen schets. Dit was een RSS gegevensvoer uit de gepubliceerde spreadsheet polling. Om deze feed, moest het werkblad worden gepubliceerd. Als u een Google-werkblad publiceert, is het een publieke RSS-feed, met een speciale URL gegeven. Hiermee wordt verderop in de verwerking script parseren uit de gegevens. Het uiterlijk van de Url voor een Google RSS zal er zo uitzien...

En de output ziet er als volgt...

In de RSS-output, de stop teken ¬ is duidelijk zichtbaar (tweede van de laatste regel, voordat de fieldnames: "eyeballupdownstop", "eyeballleftrightstop" en "textstop", en de bijhorende waarden van 13, 22 en "Hallo mijn naam is..."

De Processing Schets thats Twitr_janus hersenen herhaaldelijk deze URL is polling en gebruikt de ¬-tekenset te strippen uit de gegevens...

Hier is de code die is het ontleden van de spreadsheet van google feed om uit te pakken van de controlegegevens en doorgeven in een array. Er wordt gezocht naar de ¬ teken eerst, dan de < karakter
>>>
String [] texty = loadStrings(gssApiString);
String [] texty2 = split (texty [0], '¬'); trekken uit de gegevens met stop teken

String [] texty3 = split (texty2 [4], ' <'); Get rid van tekst na achterstand <
gssText = texty3 [0];
gssTextLength = gssText.length();

<<<

Dit wordt dan gecontroleerd verwerking tegen de laatste ontvangen gegevens.  Als het anders is, heeft dan een nieuwe instructie ontvangen.

Gerelateerde Artikelen

Hoe maak je een elektrische Mixer thuis - Crafts Life Hacks - DIY

Hoe maak je een elektrische Mixer thuis - Crafts Life Hacks - DIY

Hoe maak je een elektrische Mixer thuis - crafts Life Hacks - DIYLeer hoe te maken van een elektrische Mixer op thuis heel gemakkelijk tutorials.Dingen die u moet maken deze Mixer - 9V batterij Dc motor On\Off schakelaar Lollipop stick hete lijm 9V v
Hoe maak je een Cookie Spider Web

Hoe maak je een Cookie Spider Web

ik gebruik deze wervelende of marmering techniek ik ben over om te delen met u zo vaak als ik kan bij het versieren van koekjes; het is gemakkelijk, leuk en opvallende!Stap 1: Benodigdheden Als u proberen het maken van deze cookies willen zou, hebt u
Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Als u op zoek bent naar een manier om een Arduino gebaseerde apparaten te controleren, zal deze instructie u tonen hoe om het te doen door het bouwen van eenvoudige robot.De IoBot kan worden gecontroleerd door mobiel en computer toepassing via LAN of
Hoe maak je een website met Webs

Hoe maak je een website met Webs

Dit is een tutorial voor iedereen die wil een website te maken, maar met geen ingewikkelde codering! Dus laten we aan de slag!Stap 1: Aanmelden voor WebsAanmelden voor Webs, ga naar Webs.com en krijgen een account voor het. Om dat te doen, vul het sp
Hoe maak je een Mac-stijl web-knop!

Hoe maak je een Mac-stijl web-knop!

ik laten zien hoe je een eenvoudige maar stijlvolle mac web knop die u op uw myspace of website gebruiken kunt. Hope u like it!Check out mijn andere instructables/video 'sKUNT U ZICH ABONNEREN!
Hoe maak je een Adobe Flash Web-Site

Hoe maak je een Adobe Flash Web-Site

Kruid omhoog uw online aanwezigheid door het creëren van uw eigen Flash site. Hier is hoe.U moet:* Een computer met internettoegangAdobe Flash CS4.Stap 1: Stap 1: Maak nieuwe Flash-document In het Adobe Flash-programma, Selecteer Flash-bestand (Actio
Hoe maak je een Papier Mache hoofd marionet

Hoe maak je een Papier Mache hoofd marionet

met behulp van de krant, vloeibaar zetmeel, en een paar andere odds en ends kunt u uw zeer eigen papier mache hoofd marionet. Dit project is leuk voor zowel kinderen als volwassenen. De mogelijkheden zijn alleen beperkt door uw verbeelding, dus Laad-
Hoe maak je een Origami papier vliegtuig zweefvliegtuig - door OrigamiArtists

Hoe maak je een Origami papier vliegtuig zweefvliegtuig - door OrigamiArtists

www.origamiartists.net leren hoe te maken van Origami vliegtuig. Origami vliegtuig voor kinderen.  Leren om origami papier objecten. Kunst ambachten te doen met de kinderen... Een papier vouwen en maken van origami is een uitdaging voor beginners zal
Hoe maak je een Origami Swan (voor Beginners): door OrigamiArtists

Hoe maak je een Origami Swan (voor Beginners): door OrigamiArtists

www.origamiartists.net leren hoe te maken van origami zwaan. Origami voor kinderen.  Leren om origami papier objecten. Kunst ambachten te doen met de kinderen... Een papier vouwen en maken van origami is een uitdaging voor beginners zal maar deze ori
Hoe maak je een vliegende speelgoed vliegtuig! Door: Sabrina

Hoe maak je een vliegende speelgoed vliegtuig! Door: Sabrina

ik zal u tonen hoe te maken van een vliegtuig van speelgoed. Succes! :)Stap 1: Materialen (: De materialen die u zult moeten zijn: 2 stuks van piepschuim, die worden gevormd zoals een vliegtuig, een grote vleugel, en een kleinere vleugel, propeller m
Hoe maak je een Fan van de Magic met behulp van kras en Arduino.

Hoe maak je een Fan van de Magic met behulp van kras en Arduino.

Introduction:In dit eerste project, 'm I gonna maken van een magische Fan. De snelheid van de ventilator wordt geregeld door de afstand tussen je hand en de ultrasone sensor. Het beste ding van dit is dat Makeblock is opbouw van de brug naar de fysie
Hoe maak je een verlichte glazen blok

Hoe maak je een verlichte glazen blok

zeven +/-jaar geleden, kwam ik over mijn eerste verlichte glazen blok.  Ik was zo gefrustreerd met het probleem van het snijden van het gat in het glas.  Ik eindelijk, op regel, een diamant Core boor met de aanwezige diamant boor bits koelvloeistof. 
Hoe maak je een aangepaste, gekleurd glas in Photoshop

Hoe maak je een aangepaste, gekleurd glas in Photoshop

Photoshop CC 2014 tutorial toont hoe maak je een mooie, aangepaste, Glasraam omgeven door individuele, duidelijke ruiten.Ontvang tot 20% korting op Photoshop + Lightroom! Slechts $7.99 p/maand: https://db.tt/4PNmz1S8Shutterstock vis afbeelding: ID #
Hoe maak je een papieren vliegtuigje - Cool Paper Airplanes

Hoe maak je een papieren vliegtuigje - Cool Paper Airplanes

Hoe maak je een papieren vliegtuigje - Paper Airplanes door Mahir Cecen.Na diverse experimenten van de wetenschap en talloze uren van vouwen kon ik maken van het vliegtuig in deze instructievideo wordt weergegeven.Ik noem deze Carny. Klik hier om te