Forum: Mikrocontroller und Digitale Elektronik Alexa für meinen kleinen Controller nutzbar machen


von Roland (Gast)


Lesenswert?

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?

von Timmo H. (masterfx)


Lesenswert?

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

von Roland (Gast)


Lesenswert?

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?

von Old P. (Gast)


Lesenswert?

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

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Statt Stasi-Alexa Snips und einen Pi nehmen?

https://snips.ai/
https://www.seeedstudio.com/snips.html

von Roland (Gast)


Lesenswert?

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?

von Old P. (Gast)


Lesenswert?

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

von Roland (Gast)


Lesenswert?

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...

von Tom V. (vzczc)


Lesenswert?

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
von Roland (Gast)


Lesenswert?

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?!

von Martin (Gast)


Lesenswert?

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

von Johannes S. (Gast)


Lesenswert?

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.

von Sebastian R. (sebastian_r569)


Lesenswert?

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.

von Rene (Gast)


Lesenswert?

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.

von Sascha W. (sascha-w)


Lesenswert?

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

von Old P. (Gast)


Lesenswert?

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

von Roland (Gast)


Lesenswert?

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...

von Kastanie (Gast)


Lesenswert?

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?

von Stefan F. (Gast)


Lesenswert?

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.

von Roland (Gast)


Lesenswert?

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.

von Roland (Gast)


Lesenswert?

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!

von Narfie (Gast)


Lesenswert?

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?

von Stefan F. (Gast)


Lesenswert?

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.

von Roland (Gast)


Lesenswert?

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.

von Sebastian R. (sebastian_r569)


Lesenswert?

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...

von Old P. (Gast)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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.

von Kastanie (Gast)


Lesenswert?

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!

von Roland (Gast)


Lesenswert?

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.

von Manfred F. (manfred_f)


Lesenswert?

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.

von devzero (Gast)


Lesenswert?

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.

von Peter N. (mikronix)


Lesenswert?

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”
?

von devzero (Gast)


Lesenswert?

Du musst es ja nicht benutzen. Und vergiss nicht dein Smartphone zu 
entsorgen.

von Roland (Gast)


Lesenswert?

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.

von Sascha W. (sascha-w)


Lesenswert?

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

von Roland (Gast)


Lesenswert?

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.

von Sascha W. (sascha-w)


Lesenswert?

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

von Claus H. (hottab) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.