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

Amazon Alexa Een Chromecast bedienen

[VEROUDERD] Met Amazon Alexa, via een Amazon Echo, bedien een Google Chromecast via een Raspberry Pi met een Python-script.

Verhaal

Het onmogelijke doen:Google Chromecast en Amazon Alexa

Sinds de release van de Amazon Echo vragen mensen om Eén ding.

— Dit is verouderd, bekijk de nieuwe instructies op  Github  —

Is er een manier waarop ik Chromecast kan bedienen met Echo?

vroeg reddit-gebruiker MichaelFR85

functieverzoek:chromecast-ondersteuning

voorgestelde reddit-gebruiker phasefx

Maar wacht niet langer!

Chromecast en Alexa werken nu samen in een platformonafhankelijke poging om Chromecasts te besturen met een Raspberry Pi en een python. Gesproken over "AlexaDev Tuesday:Innovative Alexa Skills Spotlight" van http://www.lovemyecho.com en vereerd als

[een van] de meest innovatieve Alexa-vaardigheden die worden gecreëerd door Alexa-ontwikkelaars. Er valt veel te leren van de manier waarop deze ontwikkelaars codeer- en technische uitdagingen hebben opgelost om iets buitengewoons te bouwen.

Laten we met behulp van Raspbian, Python en Chromecast met Echo Support onze reis beginnen door ons aan te sluiten bij deze verboden liefde.

Waarom Raspberry Pi?

Het simpele antwoord is "niet alleen Raspberry Pi". U kunt dit script op elke geschikte hardware uitvoeren en de resultaten zullen hetzelfde zijn. Ik heb echter voor de Raspberry Pi gekozen vanwege de compatibiliteit, de grootte en de draagbaarheid.

Hoe het is gemaakt:

Dit alles is geschreven in Python. Ik heb de module echter gebruikt om me te helpen verbinding te maken met de Chromecasts en de module om te helpen verbinding te maken met databases. Ik gebruikte het voorbeeld "Alexa Color Expert" als basis voor de vaardigheid, waarbij ik alle functies helemaal opnieuw schreef. De rest is helemaal opnieuw.

Hoe het werkt:

  • Gebruiker start sessie door Alexa te vragen "Chromecast starten/vragen/uitvoeren"
  • Gebruiker vertelt Alexa-opdracht (standaardreactie is zoeken op YouTube)
  • Verzoek wordt geparseerd en vervolgens verzonden naar MySQL-database gehost op Raspberry Pi
  • Python-script (ook gehost op Rasp. Pi), leest vervolgens de database en voert de bijbehorende opdracht uit
  • Rij wordt verwijderd nadat de opdracht is voltooid
  • Klaar!

Stap 1:Uw Raspberry Pi instellen voor Port Forwarding

Voordat we beginnen:

  • Zorg ervoor dat je Raspberry Pi is ingeschakeld en verbonden met internet
  • Vind het IP-adres van je Raspberry Pi

Op je Raspberry Pi of een andere pc:

  • Lanceer uw gewenste terminal (cmd of Terminal)
  • Vind uw standaard gateway met ifconfig (Linux) of ipconfig (Windows)

Voorbeeld van uitvoer van een ipconfig-opdracht

Ga naar uw standaardgateway om toegang te krijgen tot uw router.

Voorbeeld van een routeraanmeldingspagina

Kijk hier voor meer informatie over het doorsturen van uw specifieke router: http://portforward.com/

In dit geval gaan we zowel poort 3306 (de standaardpoort voor MySQL), poort 80 (voor PHPMyAdmin) als poort 22 (voor SSH) port forwarden

LET OP:dit opent uw netwerk en Raspberry Pi voor toegang door andere mensen, en brengt risico's met zich mee voor uw informatie.

Stap 2:Mysql instellen

Bron: Tutorial:MySQL-server of Raspberry Pi installeren

sudo apt-get install mysql-server –fix-missing

Stap 3:PhpMyAdmin instellen

Je kunt hier een tutorial bekijken over het instellen van PHPMyAdmin

Gebruik de meegeleverde build.sql om de vereiste database te maken.

OPMERKING:Zorg ervoor dat uw gebruiker toegankelijk is vanaf andere locaties, u kunt zien hoe u dat doet  hier.

Stap 4:Uw bestanden bewerken

Laten we om te beginnen een paar termen definiëren die we gaan vervangen:

  • RASP_PI_DNS – Verwijst naar de MySQL Server-URL die we gaan gebruiken.
  • MYSQL_USER – Verwijst naar uw MySQL-gebruikersnaam
  • MYSQL_PASS – verwijst naar uw MySQL-wachtwoord
  • DB_NAME – Verwijst naar uw MySQL-databasenaam
  • CHROMECAST_NAME – De naam van uw Chromecast (of de Chromecast waarmee u verbinding wilt maken)

Vervang alle exemplaren van deze strings in zowel index.py als raspberry.py door hun corresponderende waarden.

Stap 5:Uploaden naar Lambda

Zip alle bestanden en mappen samen BEHALVE  speechAssets en raspberry.py en log vervolgens in op uw AWS-dashboard.

Voorbeeld van AWS Dashboard-sectie

Klik op Lambda.

Voorbeeld van Lambda-sectie

Klik in Lambda op "Een nieuwe Lambda-functie maken".

Klik op 'Overslaan' om een ​​blauwdruk te selecteren.

Typ voor uw functienaam "alexaChromecast", voor runtime, zorg ervoor dat "Python 2.7" is geselecteerd.

Selecteer "Een zipbestand uploaden" voor het invoertype Code.

Klik op de uploadknop en upload uw zipbestand.

Voorbeeld van instelling van Lambda-functie

Stel uw handler in op index.lambda_handler, uw rol op basisuitvoering en uw time-out op 30 seconden.

Stap 6:De vaardigheid instellen in de Amazon Developer Console

Log in bij de Amazon Developer Console op developer.amazon.com

Klik op het tabblad 'Alexa'.

Klik op "Aan de slag" voor de Alexa Skills Kit.

Klik op de knop 'Een nieuwe vaardigheid toevoegen' om een ​​nieuwe vaardigheid toe te voegen.

Laat het vaardigheidstype ongewijzigd. Typ voor de naam van de app "Alexa Chromecast" en typ voor de aanroepnaam "Chromecast"

Klik op de knop Volgende in de rechterbenedenhoek van de pagina.

Gebruik voor het intentieschema de intentSchema.json in de speechAssets-map van de repository en plak de inhoud ervan. Doe hetzelfde voor de voorbeelduitingen met behulp van voorbeelduitingen.txt.

Klik op de knop Volgende.

Plak in het vak "Eindpunt" uw "Lambda ARN", de Lambda ARN bevindt zich op de functiepagina in de rechterbovenhoek.

Selecteer "Nee" voor accountkoppeling.

Stap 7:Raspberry.py instellen

Verplaats raspberry.py naar je Raspberry Pi door het bestand naar een flashstation te kopiëren, of kopieer het via WinSCP dat hier beschikbaar is.

Voer raspberry.py uit

Stap 8:(OPTIONEEL) Cron Job instellen

Maak een bash-bestand waarop raspberry.py wordt uitgevoerd en sla het op als "launcher.sh".

Plaats de volgende code in launcher.sh en vervang deze door de locatie van raspberry.py

sudo python3 /location/to/raspberry.py

Als u wilt weten hoe u de cronjob instelt om launcher.sh tijdens het opstarten uit te voeren, volgt u de instructies hier.

Gebruik nu het tabblad Test om je nieuwe vaardigheid uit te proberen! Als je alles goed hebt gedaan, zou je je Chromecast moeten kunnen bedienen met Amazon Alexa!

Video:

VUI-interfacediagram:

Lees meer details:Amazon Alexa Een Chromecast besturen


Productieproces

  1. Temperatuurbewaking op de Raspberry Pi
  2. Raspberry Pi 2 weerstation
  3. Temperatuur bewaken met Raspberry Pi
  4. Raspberry Pi Ball-tracking
  5. Raspberry Pi universele afstandsbediening
  6. Bewegingssensor met Raspberry Pi
  7. Een stukje Raspberry Pi
  8. Cycle Chaser
  9. Raspberry Pi Bodemvochtsensor
  10. Raspberry Pi diefdetector
  11. Raspberry Pi-sensoren