Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Alexa-aangedreven kerstboom

Componenten en benodigdheden

Amazon Alexa Amazon Echo
× 1
Arduino Yun
× 1
Jumperdraden (algemeen)
× 1
WS2811 LED-streng
× 1

Over dit project

Hier kun je de bronnen vinden van een aangepaste Alexa-vaardigheid die een LED-streng op een kerstboom bestuurt. Deze repo bevat:

  • Java-code voor een AWS Lambda-functie die het eindpunt is voor de Alexa-vaardigheid
  • Een Arduino-schets die tussen AWS IoT en een WS2811 LED-streng zit. De schets is geoptimaliseerd voor gebruik op een Arduino Yun.

De hardware-instellingen

Als je met behulp van deze bronnen je eigen Alexa-gestuurde kerstboom wilt bouwen, heb je specifieke hardware nodig. Dit project gebruikte de volgende componenten:

  • 1 x Arduino Yun met Linino OS
  • 2 x WS2811 LED-streng met elk 50 LED's
  • 3 x jumperdraden
  • 1 x voedingsadapter en 2,1 mm x 5,5 mm DC-connector
  • 1 x Micro-USB naar USB-kabel
  • 1 x Amazon Echo of Amazon Dot of Amazon Tap

De software-oplossing

De volgende afbeelding illustreert een typische rondreis om een ​​spraakgebruiksverzoek af te handelen.

De oplossing maakt gebruik van een aantal AWS-cloudservices om te communiceren met de hardware-backend - de kerstboom. Het enige dat je echt hoeft in te stellen is de Lambda-functie, een S3-bucket met daarin de MP3-bestanden en een IAM-rol met AWS IoT- en Dynamo-rechten. De tabel in Dynamo en de schaduw van het ding in AWS IoT worden gemaakt bij de eerste aanroep van vaardigheden tijdens de vlucht.

Begrijp wat er gebeurt op een spraakgebruiksverzoek dat aan een Alexa-apparaat wordt gegeven:

  • Gebruiker spreekt met Alexa tegen " open de kerstboom " . ASR- en NLU-magie gebeurt in de Alexa-cloudservice.
  • Er wordt een intentie gegeven aan de vaardigheidscode die wordt gehost in AWS Lambda. Je vindt de code in deze repo.
  • Als de gebruiker gewoon een actie wil, zoals " zet de boom aan " of " start de show " zonder deze vaardigheid een kleur voor de boom te geven, zoekt het de laatste ingestelde kleur op in Dynamo DB. Als er een kleur is gegeven, zal de vaardigheid de informatie in dezelfde tabel behouden. Zo houdt Alexa rekening met de laatst ingestelde kleur van de boom. Ten tweede worden de actie en het kleurcommando geschreven naar een dingschaduw in AWS IoT.
  • Als de schaduw wordt bijgewerkt, wordt een MQTT-bericht weergegeven met het delta-onderwerp van het overeenkomstige ding. De Arduino Yun is geabonneerd op dat onderwerp. Kanttekening :De naam van het ding dat door de vaardigheidscode wordt gemaakt, is gelijk aan de vaardigheids-id die binnenkomt (alle punten zijn vervangen door een streepje). Dit kan je helpen als je het project opnieuw wilt opbouwen.
  • De Arduino peilt naar het Delta-onderwerp en ontvangt de opdrachten als een MQTT-bericht in JSON-indeling. De informatie wordt geëxtraheerd en de Arduino-schets voert een actie uit met de LED-streng volgens wat in het bericht wordt gegeven (nieuwe kleur, kerstshow, aan, uit).
  • Ten slotte stuurt de Arduino een MQTT-bericht naar het Update-onderwerp van het AWS IoT-ding om de wereld te laten weten dat de actie is uitgevoerd.
  • Het bericht wordt gebruikt door de AWS IoT-service en de ingesloten statusinformatie wordt teruggeschreven naar de schaduw van het ding als een gerapporteerd staat. Het zou ook mogelijk zijn om de vaardigheid de laatste boomstatus uit de schaduw van het ding te laten lezen in plaats van het op te zoeken in Dynamo DB. De reden voor deze terugvalbenadering is dat MQTT asynchroon is en dat we er niet op kunnen vertrouwen dat de Arduino onmiddellijk een reactie geeft.
  • Eigenlijk gebeurt deze stap direct na stap 3), omdat de vaardigheid expres is losgekoppeld van de hardware-back-end. Dus direct na het updaten van de dingschaduw in AWS IoT, retourneert de vaardigheidscode spraaktekst en optioneel een SSML tag met audio-inhoud. De MP3's die deel uitmaken van Alexa's playback (kerstgeluiden) worden opgeslagen in een AWS S3-bucket.
  • Alexa leest de tekst voor die door de vaardigheid wordt geretourneerd en speelt de audio in het antwoord af.

Statusindicatie

Terwijl Arduino zijn werk doet, laat het je weten wat de huidige status is via de eerste LED in de streng.

  • een eenmalig rood knipperend lampje geeft aan dat er een AWS IoT-verbinding is mislukt
  • een tweemaal rood knipperend lampje geeft een mislukte AWS IoT-verbindingspoging aan
  • een driemaal rood knipperend lampje geeft een mislukte AWS IoT-verbindingsconfiguratie aan
  • een groene zaklamp geeft een succesvolle verbinding met AWS IoT aan
  • een blauwe zaklamp geeft aan dat er constant wordt gepeild naar het AWS IoT-onderwerp
  • een gele zaklamp geeft een fout aan tijdens het pollen van het AWS IoT-onderwerp

Bij het opstarten ziet u mogelijk rode zaklampen gedurende de tijd die de Arduino nodig heeft om verbinding te maken met WiFi. Als WiFi is aangesloten, is er de groene zaklamp gevolgd door een constant knipperend blauw licht om aan te geven dat de boom klaar is voor opdrachten.

Als geel knippert, kan het AWS IoT-onderwerp niet worden bereikt. Als dat gebeurt (bijv. Arduino heeft wifi-verbinding verloren), blijft hij het nog negen keer proberen totdat hij automatisch opnieuw probeert verbinding te maken. Dat gezegd hebbende, na tien keer geel flitslicht zou er een rood / groen flitslicht moeten zijn voor de voortgang van het opnieuw verbinden. Zodra de Arduino opnieuw verbinding maakt met wifi en AWS IoT weer wordt bereikt, komen de blauwe zaklampen omhoog.

Code

Alexa-aangedreven kerstboom
Hier kun je de bronnen vinden van een aangepaste Alexa-vaardigheid die een LED-streng op een kerstboom bestuurt. Bewerkenhttps://github.com/KayLerch/alexa-xmas-tree

Schema's


Productieproces

  1. Inpakpapier
  2. Santas New Helper:Internet of Things-rol in Kerstmis
  3. Dev kits versnellen Alexa-integratie
  4. Is 2017 het jaar van de spraakinterface?
  5. Amazon Alexa Een Chromecast bedienen
  6. MajorTom:Alexa Voice Controlled ARDrone 2.0
  7. Versier deze kerst je huis met houten kerstboom en ornamenten
  8. Wat is foutenboomanalyse en hoe voer je het uit
  9. Schakel Alexa Control in op je plafondventilator
  10. Alexa, zet deze lamp aan:slimme 3D-sensor voor Amazon Echo
  11. Kerstgeest bij Sure Controls