Hallo, meine kleine Steuerung mit einem Tiny4313 möchte ich gern sprachbedienen, die serielle Schnittstelle wäre noch frei. Wie bring ich Alexa (Echo.dot) jetzt dazu, meinem Controller Gesprochenes als auswertbare ASCII Textstrings zu liefern?
Ist so erstmal nicht machbar weil echo erstmal nur wifi unterstützt. Aber via philips hue Emulation bzw wemo ist es eine sache von 2 Minuten
Timmo H. schrieb: > via philips hue Emulation bzw wemo ist es eine sache > von 2 Minuten Klingt interessant, das Wie ist mir erstmal egal wenn ich nur seriell an die Daten komme. Wenn es so einfach ist kannst Du mir sicher sagen was in den 2 Minuten dafür zu tun ist?
Roland schrieb: > > Klingt interessant, das Wie ist mir erstmal egal wenn ich nur seriell an > die Daten komme. Wenn es so einfach ist kannst Du mir sicher sagen was > in den 2 Minuten dafür zu tun ist? Lernen, lernen, nochmals lernen... Old-Papa
Statt Stasi-Alexa Snips und einen Pi nehmen? https://snips.ai/ https://www.seeedstudio.com/snips.html
Hannes J. schrieb: > Statt Stasi-Alexa Snips und einen Pi nehmen? Ich suche hier ausdrücklich keine alternative Hardware. Also nochmal: Wie ist das Problem im Eröffnungs-Posting in 2 Minuten zu lösen?
Roland schrieb: > Hannes J. schrieb: >> Statt Stasi-Alexa Snips und einen Pi nehmen? > > Ich suche hier ausdrücklich keine alternative Hardware. Also nochmal: > Wie ist das Problem im Eröffnungs-Posting in 2 Minuten zu lösen? Schrieb ich schon... Old-Papa
Old P. schrieb: > Schrieb ich schon... Ich würde mal sagen Du hast Null Ahnung. Die Aufgabe an sich ist doch lächerlich einfach hätte ich gemeint...
Timmo H. schrieb: > Aber via philips hue Emulation bzw wemo ist es eine sache von 2 Minuten Dort steht bereits im zweiten Post ein sinnvoller Ansatz. Der Echo-Dot kann philips hue und wemo "bedienen". Jetzt brauchst Du "nur" in Deiner Hardware einen Webserver, der eines der beiden Protokolle emuliert. Für die Sonoff-Schalter aus Fernost gibt es dazu eine alternative quelloffene Software (Tasmota), die genau das macht. Da könntest Du einmal im Quelltext schauen, ob Dich das weiterbringt. PS: Noch ein Nachtrag... Dass Dir die Alexa wirklich das "Gesprochene" liefert, anstatt definierter Kommandos, das ist m.E. nicht ganz so trivial...Dazu müsstest Du für Alexa wohl auch noch einen eigenen Skill entwickeln...
:
Bearbeitet durch User
Tom V. schrieb: > Dass Dir die Alexa wirklich das "Gesprochene" > liefert, anstatt definierter Kommandos, das ist m.E. nicht ganz so > trivial... Genau darum gehts aber- und ob das geht oder nicht. Denn daß via Alexa/Cloud Sprache in Texte übersetzt wird scheint ja außer Frage zu stehen. Wenn ich für meine kleine Steuerung noch irgendwelche größere Hardware und Webserver bräuchte wo doch Alexa eigentlich alles schon liefern könnte wär das ziemlich unattraktiv. Mit meinem laienhaften Verständnis hätte ich mir vorgestellt, daß Alexa via irgendeines Skills den Klartext ins lokale Netzwerk schickt aus dem er dann irgendwie herausgefischt werden kann. Zum Beispiel mit einem kleinen XPort, falls den wer kennt?!
Schonmal geschaut wie Alexa funktioniert? Es wird die Sprache in die Cloud geschickt und von dort kommt auch das Resultat. Und das nicht einfach nur als ASCII String. Da benötigt es schon etwas mehr Power als nur ein tiny. Rpi zB. Martin
Und um das sicher zu machen wird noch https benutzt und du brauchst eine Domain und ein Zertifikat. Oder man nutzt eine Servicecloud von ioBroker oder NodeRed, dann würde das auch erstmal über einen RPi laufen.
Man nehme einen ESP8266 oder ESP32 und bringe dort eben jene Philips Hue/Tasmota/Wemos/... Firmware zum laufen und bringe ihr bei, aus den ankommenden Befehlen etwas zu basteln, dass dann als Befehl über UART an den Tiny geht. Das ist in etwa so, als würde man in einen Golf einen Porschemotor einbauen und mit angezogener Handbremse fahren.
Nimm statt deines tinys einen ESP8266 o.Ä. für 3€ Der hat WLAN und genug power für alles was du brauchst an board... Dein Tiny kann einfach nicht das, was du erreichen willst und dagegen zu diskutieren wird nichts bringen.
Hallo Roland, hier https://youtu.be/dlH6I8Ycs6A kannst du dir mal anschauen wie du einen Skill einrichtest, und was da dann für Daten bekommst. Er macht die Auswertung zwar auf einem PI mit NodeRed, an den JSON-Daten die von Amazon bekommst ändert das aber nichts. Mit nem ESP könntest du dir die Daten seriell ausgeben. Aber wie schon vorgeschlagen kannst du den ATTiny dann auch gleich durch den ESP ersetzen. Ohne zusätzliche Netzwerkfähige Hardware wird es jedenfalls nicht gehen. Sascha
Roland schrieb: > Old P. schrieb: >> Schrieb ich schon... > > Ich würde mal sagen Du hast Null Ahnung. Das wird so sein, doch wenn ich so ein Problem angehen würde, dann würde ich mich hinsetzen und das lernen. > Die Aufgabe an sich ist doch lächerlich einfach > hätte ich gemeint... Hättest Du gemeint. Warum hast Du dann gefragt? Old-Papa
Rene schrieb: > Dein Tiny kann einfach nicht das, was du erreichen willst und dagegen zu > diskutieren wird nichts bringen. Oh, der Tiny ist schon dazu in der Lage, ASCII Text auszuwerten! Genau das will ich: Alexa auch mit einfachster Hardware nutzen! Sascha W. schrieb: > an den JSON-Daten die von Amazon bekommst > ändert das aber nichts. Wenn Alexa Antworten in natürlicher Aussprache gibt werden das sicher weder JSON Daten noch ganze Soundfiles sein. Vermute ich mal. Der reine Sprachtext liegt bei Amazon definitiv vor- es kann doch wohl kein Problem sein an die paar Textzeichen heranzukommen! > Aber wie schon vorgeschlagen kannst du den ATTiny dann auch > gleich durch den ESP ersetzen. Genau das war nicht Sinn der Sache. > Ohne zusätzliche Netzwerkfähige Hardware wird es jedenfalls nicht gehen. Das mag gut sein. Mindestens einen LAN/Seriell Wandler wirds schon brauchen. Mehr aber sollte diese an und für sich einfache Aufgabe auch nicht verdienen! So ein simples Textinterface wäre doch für viele Zwecke interessant weil simpel verwendbar...
Old P. schrieb: > Roland schrieb: >> Old P. schrieb: >>> Schrieb ich schon... >> >> Ich würde mal sagen Du hast Null Ahnung. > > Das wird so sein, doch wenn ich so ein Problem angehen würde, dann würde > ich mich hinsetzen und das lernen. > >> Die Aufgabe an sich ist doch lächerlich einfach >> hätte ich gemeint... > > Hättest Du gemeint. Warum hast Du dann gefragt? > > Old-Papa Sorry, dass ich mich einmische. Aber dann wäre jedes Forum obsolet. Ich finde den Weg, hier nach Erläuterungen zu suchen, sehr sinnvoll. Dir ist wohl langweilig oder möchtest du nur etwas Aufmerksamkeit?
Roland schrieb: > Oh, der Tiny ist schon dazu in der Lage, ASCII Text auszuwerten! Genau > das will ich: Alexa auch mit einfachster Hardware nutzen! Dir fehlt aber eine kompatible Schnittstelle zwischen Alexa und dem ATtiny. Oder kennst du einen Anbieter, der dir (ohne zusätzliche Elektronik) eine UART Schnittstelle ins Haus legt, die zu Alexa führt? > So ein simples Textinterface wäre doch für viele Zwecke > interessant weil simpel verwendbar... Gehen wir mal davon aus, dass ein weiteres Gerät/Modul als Netzwerk-Interface dazwischen geschaltet wird. Dann stellt sich noch die Frage, ob Alexa tatsächlich über ein "so simples" Text-Interface gesteuert wird. Wenn ja, dann würde ich mir sorgen um den Datenschutz machen. Wenn es aber gut abgesichert und verschlüsselt ist, dann stehen die Chancen hoch, dass handelsübliche WLAN Adapter (den ESP-01 nenne ich mal als simpelsten Vertreter) dazu nicht genügen. Ich würde es gar nicht erst versuchen. Früher oder später kommen weitere Anforderungen dazu, die nach einem richtigen Linux System rufen. Ergo geht es wohl eher in Richtung Raspberry Pi (oder ähnlich). Den kannst du direkt mit deinem ATtiny verbinden. Oder den Raspi anstelle mit Schieberegistern/Portexpandern erweitern, dann hast du nicht zwei Baustellen, die du programmieren musst.
Stefanus F. schrieb: > Dir fehlt aber eine kompatible Schnittstelle zwischen Alexa und dem > ATtiny. Oder kennst du einen Anbieter, der dir (ohne zusätzliche > Elektronik) eine UART Schnittstelle ins Haus legt, die zu Alexa führt? Das Echo.Dot hat offensichtlich keine UART Schnittstelle. Soviel scheint klar. Deshalb sprach ich ja auch von der Notwendigkeit eines LAN/Seriell Wandlers. So denn Alexa transkribierten Text erhalten kann.
Stefanus F. schrieb: > Ich würde es gar nicht erst versuchen. Früher oder später kommen weitere > Anforderungen dazu Nein die kommen nicht dazu und ich will das nicht erst aufwändig mit einem Raspi o. ä. samt zugehörigem IT Studium ermöglicht wissen. Zu versuchen gibt es derzeit nichts, deshalb frag ich ja. Nach einer angemessen einfachen Lösung!
Du hast keine Ahnung, postulierst aber Forderungen bzgl. der Umsetzung die technisch nicht im geringsten Sinn machen. Jeder Einwand und Versuch dir eine Lösung sowie die Anforderungen zu erläutern werden direkt mit dem sturen Wiederholen der ursprünglichen Forderung und wie einfach/praktisch das doch ist beantwortet. Bist du ein Manager?
Roland schrieb: > Nein die kommen nicht dazu und ich will das nicht erst aufwändig mit > einem Raspi o. ä. samt zugehörigem IT Studium ermöglicht wissen. Wenn du denkst, dass Netzwerk-Programmierung auf einem so kleinen Mikrocontroller einfacher sei, als auf einem Raspberry Pi, dann lasse Dir von einem in beiden Bereichen erfahrenen Softwareentwickler eins sagen: Deine Annahme ist völlig falsch. Falscher geht es gar nicht. Falls Du mir nicht glaubst, schau Dir dieses Projekt an: http://stefanfrings.de/net_io/index.html Wenn du den ganzen Quelltext nachvollziehen kannst, dann bist du doch fit, es mal selbst zu versuchen.
Narfie schrieb: > Du hast keine Ahnung, postulierst aber Forderungen bzgl. der > Umsetzung die technisch nicht im geringsten Sinn machen. Nun die Einschätzung scheint mir eher dafür zu sprechen daß Du keine Ahnung hast. Stefanus F. schrieb: > Wenn du denkst, dass Netzwerk-Programmierung auf einem so kleinen > Mikrocontroller einfacher sei, Wer spricht hier von Netzwerk-Programmierung für einen kleinen Controller? Der soll nur ein paar Bytes Text verarbeiten die ja ohnehin bereits fertig in der Amazon-Cloud vorliegen! Ansonsten helfen hier prahlerische Zurechtweisungen Null komma nichts weiter. Kenntnis in der Sache hatte bislang hier leider keiner.
Roland schrieb: > Wer spricht hier von Netzwerk-Programmierung für einen kleinen > Controller? Der soll nur ein paar Bytes Text verarbeiten die ja ohnehin > bereits fertig in der Amazon-Cloud vorliegen! Und wie kommt er ohne Netzwerkanbindung an die Bytes? Zumal ich mir sicher bin, dass die Befehle nicht einfach irgendwo griffbereit in der Cloud rumwuseln und nur darauf warten, von einem ATTiny abgerufen zu werden. Mit einem ENC- oder WizNet-Modul ist es sicherlich möglich, den Controller ans Netzwerk zu bekommen, aber ob die Speicher ausreichen, um etwas Alexa-Kompatibles daruzstellen und zu parsen? Zumal ja auch noch Platz für die eigentliche Anwendung sein muss...
Kastanie schrieb: > >>> Die Aufgabe an sich ist doch lächerlich einfach >>> hätte ich gemeint... >> >> Hättest Du gemeint. Warum hast Du dann gefragt? >> >> Old-Papa > > > Sorry, dass ich mich einmische. > Aber dann wäre jedes Forum obsolet. > > Ich finde den Weg, hier nach Erläuterungen zu suchen, sehr sinnvoll. Das ja, doch wenn man ihm was vorschlägt (nicht ich) und er meint, das wäre ja alles lächerlich einfach, warum sucht er dann Erläuterungen? Und sucht er überhaupt? Old-Papa
Roland schrieb: > Der soll nur ein paar Bytes Text verarbeiten die ja ohnehin > bereits fertig in der Amazon-Cloud vorliegen! Wo kommen die denn her, wenn nicht übers Netzwerk? Man muss zwar kein IT Studium machen, um Netzwerke zu verstehen und Netzwerkdienste zu programmieren. Aber es ist andererseits schon mehr, als ein Kinderspiel.
Old P. schrieb: > Das ja, doch wenn man ihm was vorschlägt (nicht ich) und er meint, das > wäre ja alles lächerlich einfach, warum sucht er dann Erläuterungen? Und > sucht er überhaupt? > > Old-Papa Das stimmt wiederum!
Sebastian R. schrieb: > Und wie kommt er ohne Netzwerkanbindung an die Bytes? Das ist hier die zentrale Frage. Alexa sitzt an der Quelle, gibt die Daten aber nicht leichtfertig her. > Zumal ich mir sicher bin, dass die Befehle nicht einfach irgendwo > griffbereit in der Cloud rumwuseln Da bin ich mir schon sicher daß es abrufbar wäre. Wenn man nur will. Ein bischen Googlen fördert nämlich zutage, daß Amazon durchaus einen Speech to Text Transkriptionsservice anbietet, freilich gegen Bezahlung. Allerdings scheint mir der, von der Warte meines Tinys aus, nicht minder kompliziert nutzbar. Es ist schon ärgerlich: Im Grunde ist alles für die Aufgabe vorhanden nur die Alexa Software mag den Klartext nicht dem lokalen Netzwerk offenbaren.
Mir scheint, du überschätzt die lokale Intelligenz der Alexas. Alexa kann die Transkription des erkannten Textes nicht im lokalen Netz zur Verfügung stellen weil sie sie nicht hat. Alexa sendet den gesprochenen Text als Soundfile an den Amazon Web Service (AWS). Die gesamte Spracherkennung nebst Transkription sowie Auswertung übernimmt dann der AWS. Es gibt keine Rückübermittlung des transkribierten Textes an die Alexa, von der die Anfrage gekommen ist.
In der AWS Cloud bekommt man nach Auswertung ein JSON (wie das aussieht, entscheidet sich u.A. durch das utterancefile, die ebenfalls JSON sind - unter developer.amazon.com findet man alles, was man dazu braucht. Ein Skill ist sehr einfach umzusetzen.). Ich z.B. mache aus der AWS heraus ein HTTP Request nach Hause, wo ich das JSON dann einfach per POST hinschicke, was ich hier dann auswerte und die Antwort generiere (ebenfalls JSON) - so kann Alexa auch was sagen. Ich habe meinen Skill nun seit bestimmt 2 Jahren im Testmodus laufen (nur fuer mich sichtbar - es kostet auch nichts, bei den paar Requests.) In AWS habe ich die paar Brocken JSON senden/empfangen/parsen mit ein paar Zeilen Python erschlagen.
eine kleine Frage an die Moderatoren: sollte man nicht extra für solche Fragen einen neuen Forumszweig bilden? So im Sinne von: ist mir doch egal wer mich überwacht, ausspioniert und sämtliche Daten in die Welt hinausposaunt, zB kurz und knapp: „mir_doch_egal” ?
Du musst es ja nicht benutzen. Und vergiss nicht dein Smartphone zu entsorgen.
Peter N. schrieb: > So im Sinne von: > ist mir doch egal wer mich überwacht, ausspioniert und sämtliche Daten > in die Welt hinausposaunt, Wer sich das über alle Maßen fest einbildet hat immer noch die Möglichkeit, das Teil aus der privaten Umgebung fernzuhalten, stimmts? Leider mögen sich dieselben Leute aber nicht vom Smartphone trennen- meist am Mann und immer abhörbereit... Schon etwas inkonsequent, stimmts? @devzero: Das muß ich mir mal genauer anschauen. Endlich was Substanzielles hier. Danke.
Roland schrieb: > @devzero: Das muß ich mir mal genauer anschauen. Endlich was > Substanzielles hier. Danke. >> Sascha W. schrieb: >>> an den JSON-Daten die von Amazon bekommst >>> ändert das aber nichts. >> >> Wenn Alexa Antworten in natürlicher Aussprache gibt werden das sicher >> weder JSON Daten noch ganze Soundfiles sein. Vermute ich mal. Der reine >> Sprachtext liegt bei Amazon definitiv vor- es kann doch wohl kein >> Problem sein an die paar Textzeichen heranzukommen! Ach jetzt auf einmal Sascha
Sascha W. schrieb: > Ach jetzt auf einmal So richtig befriedigend ist das alles nicht, den gewünschten Klartext zur einfachstmöglichen Auswertung erhält man so nicht. Es läuft darauf hinaus, die konkrete Kommando-Entscheidung basierend auf der Spracheingabe bereits in der AWS Cloud treffen zu müssen und die generierte Antwort dann zuhause quasi nur noch dumm auszuführen. Das mag für viele Fälle ausreichend sein aber es ist zur Spracherweiterung eigener, schwachbrüstiger Elektronik eben auch wahnsinnig unflexibel und umständlich, samt zusätzlich nötiger AWS Programmierung und JSON Implementierung. Ein Skill müsste den Klartext schicken können, das scheint aber bewusst nicht gewünscht zu sein.
Roland schrieb: > Sascha W. schrieb: >> Ach jetzt auf einmal > > So richtig befriedigend ist das alles nicht, den gewünschten Klartext > zur einfachstmöglichen Auswertung erhält man so nicht. Es läuft darauf > hinaus, die konkrete Kommando-Entscheidung basierend auf der > Spracheingabe bereits in der AWS Cloud treffen zu müssen und die > generierte Antwort dann zuhause quasi nur noch dumm auszuführen. Das kann man sehen wie man will, für schwachbrüstige Endgeräte würde ich es durchaus als Vorteil sehen. Als Nachteil sehe ich nur das man Änderungen/Erweiterungen immer an 2 Stellen machen muss. > Ein Skill müsste den Klartext schicken können, das scheint aber bewusst > nicht gewünscht zu sein. Wurde nicht erst kürzlich darüber berichtet man können sich das alles bei Amazon ansehen wa s Alexa so aufgeschnappt hat? Könntest du ja dann auf der Website auslesen. Sascha
Sasche hat den Trick erkannt. Mit MZCachwView findet man Dateien im Browser-Cache https://alexa.amazon.de/api/cards/... zum Beispiel mit dem folgenden Inhalt:
1 | "mainText": "Alexa heard: \"frage wörterbuch ... umschalten licht ... in englisch\"", |
2 | |
3 | "descriptiveText": [ |
4 | "Switch light" |
Damit kann man als Hobbyprogrammierer an einer relativ übersichtlichen Aufgabe arbeiten. Eine weiter Möglichkeit ist der Skill E-Mail Notiz. In dieser findet man die gesprochen und gesendeten Worte (Steuerbefehle) wieder und muss sie ähnlich extrahieren. Es fehlt dann nur die Rückmeldung über den IST-Zustand (ON oder OFF). Claus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.