Posts mit dem Label Alexa werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Alexa werden angezeigt. Alle Posts anzeigen

Sonntag, 17. Februar 2019

Spielen mit Amazon Alexa - Das Projekt Genesis


Projekt Genesis ist ein Amazon Alexa Skill. Es ist ein Spiel in dem der Spieler in die Rolle einer KI schlüpft, die versucht einen geeigneten Planeten für die 10000 Siedler an Board eines Raumschiffs zu finden. Dabei lauern viele Gefahren aber auch viele Geheimnisse in den Weiten des Universums.

Der Beta Test hat begonnen und es gibt eine spielbare Version. Wer mithelfen möchte zu testen, der kann sich unter www.projekt-genesis-spiel.de anmelden und wird dann für das Beta-Programm freigeschaltet.

Ein Spiel beginnt man, indem man sagt: "Alexa, starte Projekt Genesis". Daraufhin startet ein neues Spiel oder setzt das vorherige Spiel fort. Ein Spiel besteht aus mehreren Spielrunden, die das Raumschiff an verschiedene Orte bringt. Das Raumschiff hat verschiedene Funktionen, die allesamt wichtig sind um eine stabile Kolonie zu errichten.
  • Stasekammern mit Siedlern
  • Planeten Scanner
  • Landungssonden
  • Wissenschaftliche Datenbank
  • Energiereserve
Ziel ist es einen geeigneten Planeten zu finden, dessen Umgebungsbedingungen den Siedlern das Leben vereinfacht. Auf den Wegen zwischen den Planeten lauern viele Gefahren aber auch Chancen. 
Ein Planet hat immer folgende Eigenschaften:
  • Gravitation
  • Atmosphäre
  • Temperatur
  • Wasser
Zusätzlich gibt es auf einigen Planeten noch verschiedene Ressourcen, die ein Leben vor Ort vereinfachen können. Sofern in der Datenbank das Wissen zur Verarbeitung noch vorhanden ist.

Im Orbit um einen Planeten könnt ihr den Planetenscanner verwenden. Dieser lässt sich mit dem Befehl "Planet Scannen" starten. Der Scanner liefert je nach Funktionsgrad des Scanners die Information zu dem Planeten. Die Landungssonden liefern ebenfalls Scan-Ergebnisse, falls der Scanner beschädigt wurde. Eine Sonde kann mit "Sonde ausschicken" gestartet werden.

Wenn das Schiff sich in der Umlaufbahn eines geeigneten Planeten befindet, dann kann mit dem Befehl "landen" die Landung eingeleitet werden. Achtung! Landen ist endgültig und beendet das Spiel, daher werdet ihr gefragt, ob ihr wirklich landen wollt. Das könnt ihr mit "ja" beantworten, oder sagt ein weiters mal "landen".

Die Gefahren, die auf dem Weg auf euch warten sind dann eine Überraschung. 


Freitag, 18. Januar 2019

Kurzschluss Junkies [0x03]: Heiß und Feddich



Einführung

Vielen Dank für die über 1000 Downloads. Wir haben jetzt ein neues Software Setup (www.ultraschall.fm)

Was würde Rolf sagen?

Alexa und Sprachsteuerung war ein Thema mit dem Basti sich beruflich beschäftigt hat. Abends hat er dann einen Alexa Skill zusammen gebaut, der verdrehte Redewendungen zum Besten gibt.
Sagt einfach "Alexa, Starte Rolfs Weisheiten" und Alexa erzählt euch einen lustige Redewendung

Chris war EMV messen

Er erzählt ein wenig von den Tätigkeiten, die er dort durchgeführt hat. Er hat einen Tag Emission und den zweiten Tag Immission gemessen. Die Messung fand in einer 10 Meter Halle statt. In der Halle steht die Antenne 10 Meter vom Prüfling entfernt und misst die Elektromagnetischen Wellen in 1 und 4 Metern Höhe, die vom Prüfling ausgesendet werden. Chris hat nach der Sicherheitsnorm für Medizingeräte gemessen (EN60601). Die Einstrahlung wird ebenfalls mit einer Antenne vorgenommen, jedoch werden Elektromagnetische Wellen auf den Prüfling gesendet. Hier hat Chris mit einer Feldstärke von größer als 3V/m gemessen.

Minidrucker Hotend

Chris hat am Minidrucker weiterentwickelt und das Hotend zusammen gebaut. Er hat eine handelsübliche Düse an der Leiterplatte festgelötet. Auf der Leiterplatte sind die Heizwiderstände mit Lötzinn direkt mit der Düse verbunden. Das Hotend ist im Bild dieser Folge zu sehen. Die Schrittmotoren sind leider noch nicht funktionsfähig, wahrscheinlich sind die Treiber nicht richtig verlötet. Der Extruder soll mit einem kleinen Schrittmotor mit einer Untersetzung von 1:75 realisiert werden.

Chip der Woche TPS61099

Basti hat diesen DC/DC bereits in einigen Designs eingesetzt. Der Booster kann bis runter zu 0,7V arbeiten und dadurch die Batterie bis zum Schluss verwenden. Das schont die Umwelt. Und super klein ist er auch.

Mittwoch, 16. Januar 2019

Alexa Skill: Was würde Rolf sagen?

Icon made by monkik from
www.flaticon.com
Ich habe einen Arbeitskollegen. Nennen wir ihn der Einfachheit halber Rolf. Er verwendet eine interessante Neuinterpretierung von deutschen Redewendungen in seinem alltäglichen Sprachgebrauch. Über die Jahre haben sich einige dieser Kreationen angesammelt. Mit diesem Skill kann man man jederzeit diese und andere lustigen Wortkretaionen erleben.
 

"Alexa, starte Rolfs Weisheiten." 

Und schon gibt sie eines der Goldstücke zum Besten.


Donnerstag, 3. Januar 2019

Spielen mit Amazon Alexa - Developer Console

In den letzten Wochen habe ich mich in Amazons Alexa eingearbeitet. Das geht am besten, wenn man das Ganze anhand eines kleinen Projekts aufzieht. Das habe ich jetzt über Weihnachten in Ruhe fertig gestellt; oder zumindest in einen benutzbaren Zustand gebracht. Hier eine kleine Übersicht über das Projekt Genesis.

Der Alexa Skill

Nachdem man ein Entwickler-Konto bei Amazon angelegt hat, können wir einen Skill anlegen. Dieser hat dann mehrere Eigenschafte, die wir festlegen müssen.

Rufwort

Um den Skill zu aktivieren, benötigt man ein Rufwort. Das wird hier in der Developer Console eingetragen. wichtig ist dabei zu beachten, dass hier ein prägnanter, aber noch freier Name gewählt wird. Ob der Name noch frei ist, lässt sich im Skill Store von Amazon nachschauen.

Funktionen

Es gibt bereits eine Vorauswahl an Skills für kurze Nachrichten, Smart Home Integration oder Videos, die man als Vorlage nutzen kann. Ich habe mich für den Custom Skill entschieden, der ist frei konfigurierbar.Der Skill benötigt noch einen Namen und eine Sprache.
Jetzt kann der Skill bearbeitet werden. Auf der nächsten Seite befindet sich die Skill Einstellungen. Hier wird das Modell der Spracherkennung konfiguriert und die möglichen Sätze (Utterances / Äußerungen) mit den dazugehörigen Funktionen (Intents / Absichten) verbunden und beschrieben, welche Satzteile wichtige Informationen sind. So wird beschrieben, dass zum Beispiel aus dem Satz Mein Name ist Basti der Intent setName mit dem Parameter Basti abgeleitet werden soll.
Das funktioniert mit dem Web Interface ganz einfach. Hier ein Beispiel aus dem aktuellen Projekt.
Wenn alle Intents angelegt, einige Beispiel-Formulierungen hinterlegt und darin die Parameter (Slots) gekennzeichnet sind, kann das Modell erzeugt werden. Das dauert ein paar Minuten und läuft im Hintergrund ab.

Interfaces

Hier kann bestimmt werden, welche Funktionen unser Skill mitbringen soll. Zum Beispiel das Audio Player Interface, dass es uns erlaubt Audio Daten abzuspielen, oder der Video Player für Videos. 
Für die Echo Show Geräte kann auch ein Display Interface für die Anzeige von Text und Bildern auf dem Monitor gewählt werden. Für diesen Skill benötigen wir davon erst einmal nichts.

Endpoint

Um das Ganze mit Leben zu füllen, benötigen wir ein Programm, dass die Informationen, die Amazon über diesen Skill erzeugt verarbeiten kann. Das läuft bei mir unter Python. Ich verwende dazu die Bibliothek Alexandra. Zum Programm gibt es später mehr.

Test

Der Skill kann mit Hilfe von eingetippten oder gesprochenen Textstücken getestet werden. Hier kann man live die Daten, die Amazon zur Verfügung stellt und die Antwort der Software am Endpoint betrachten und debuggen. Wenn alles funktioniert wie gewünscht, kann mit der Vorbereitung der Veröffentlichung begonnen werden.

Distribution

Wenn alle diese Daten eingegeben sind, fehlen noch organisatorische Informationen. Unter dem Distribution Reiter können der öffentliche Name, eine Kurzbeschreibung, eine ausführliche Beschreibung und Beipielsätze eingetragen werden. Weiterhin benötigt der Skill ein Icon und eine Kategorie. Dieser Skill landet in Games. Schlagworte für die Suche dürfen auch nicht fehlen. Ebenso wenig wie die Privacy Policy und die Terms of Use.

Im nachfolgenden Reiter müssen wir noch die Rechtlichen Dinge klären. So muss angegeben werden, ob in dem Skill gegen reales Geld etwas gekauft werden kann, ob der Skill personenbezogene Daten speichert, ob er sich an Kinder unter 13 richtet und ob er Werbung enthält. Hier werden ebenfalls Angaben gemacht, wie der Skill von Amazon evaluiert und getestet werden kann.

Wenn alles das geklärt ist, legen wir fest, ob der Skill öffentlich, also für jeden auf den gleichen Endpunkt endet, oder ob wir kundenspezifisch einen Endpunkt festlegen wollen. Dieser Skill ist öffentlich.
Hier kann auch ein Beta Test gestartet werden. Denn der Skill sollte von einige Leuten getestet werden, um Fehler zu finden, die man selbst übersehen hat.

Eine Beschränkung auf Deutschland ist ebenfalls bei diesem Skill vorgesehen, denn er ist deutschsprachig. Ist also in Botswana nicht unbedingt nützlich.

Certification

Ist der Skill komplett, wird er erst automatisiert auf Vollständigkeit getestet, ist diese Validierung erfolgreich, kann er durch einen automatisierten Funktionstest getestet werden. Dabei wird der Endpunkt mit automatischen Aufrufen angesprochen und die Reaktion validiert. Wenn beide Tests gut getestet werden, kann der Skill schlussendlich bei Amazon zur Prüfung eingereicht werden. Dieser Prozess dauert allerdings ein paar Tage und man kann in dieser Zeit keine Veränderungen vornehmen. 

Erst wenn Amazon den Skill geprüft hat, erscheint er öffentliche im Store. Aber vorher kann ja der Beta Test herhalten. Dazu muss man seine Tester allerdings kennen.