Inhoudsopgave:

Bedien je EV3-motor met Alexa - Ajarnpa
Bedien je EV3-motor met Alexa - Ajarnpa

Video: Bedien je EV3-motor met Alexa - Ajarnpa

Video: Bedien je EV3-motor met Alexa - Ajarnpa
Video: Vorstellung Roll-Container mit Kran und Tank für Arocs 42043 Hooklift 2024, November
Anonim
Image
Image
Benodigde software downloaden
Benodigde software downloaden

Wil je je LEGO EV3 bedienen met spraakopdrachten? In dit project kun je proberen een EV3-motor te verplaatsen door met Alexa te praten. Het enige wat je nodig hebt is een Amazon Echo Dot, een Arduino Nano 33 IoT-bord en een EV3 met wifi-dongle en motor. Het idee is om een verbinding op te bouwen tussen het Arduino-bord en de Echo Dot, en vervolgens de EV3 te besturen met de Arduino door HTTP-verzoeken naar een webserver op de EV3 te sturen. Nu, laten we beginnen!

Stap 1: Download de benodigde software

Om het te laten werken, moet je twee dingen downloaden voor je EV3.

  1. Download ev3dev en volg de instructies om het in je EV3 te installeren. Koppeling:
  2. The Tufts CEO ontwikkelde een webserver voor EV3 op basis van Python. Download deze server en we zullen u in de volgende stappen leren hoe u deze moet uitvoeren. Koppeling:

Stap 2: Installeer de webserver in je EV3-steen

Installeer de webserver in je EV3-steen
Installeer de webserver in je EV3-steen
Installeer de webserver in je EV3-steen
Installeer de webserver in je EV3-steen
  1. Start je EV3 en verbind je EV3 met het wifi-netwerk. Als dit lukt, zou je het IP-adres linksboven in het EV3-scherm kunnen vinden.
  2. Open een terminal vanaf je computer en maak vervolgens verbinding met je EV3 via SSH (voor Windows typ je ssh USERNAMEOFEV3@IPADDRESSOFEV3 en voer je het wachtwoord van je EV3 in. Als dit lukt, zou je zoiets als de afbeelding hierboven zien.
  3. Gebruik het commando "mrdir FOLDERNAME" om een map te maken voor het opslaan van uw server, typ vervolgens "cd FOLDERNAME" om in deze map te komen.
  4. Gebruik het commando "nano motorsEV3.py" om python-bestanden te maken met de naam "motorsEV3.py", en zoek vervolgens het zip-bestand van de webserver die u zojuist hebt gedownload. Je zou in dit zipbestand een bestand met de naam "motorsEV3.py" vinden, de code erin kopiëren naar het python-bestand dat je zojuist op je EV3 hebt gemaakt en het vervolgens op je steen opslaan.
  5. Herhaal stap 4 om nog twee bestanden te maken met de naam "sensorsEV3.py" "server.py".

Tips:

  • Als u terug wilt naar de vorige map, gebruik dan het commando "cd …".
  • Aan de linkerkant van elke opdrachtregel ziet u in welke map u momenteel werkt.
  • Als u wilt controleren of het bestand correct is opgeslagen, gebruikt u het commando "ls" om alle bestanden in deze map weer te geven.

Stap 3: voer de webserver uit op uw EV3

Voer de webserver uit op je EV3
Voer de webserver uit op je EV3
Voer de webserver uit op je EV3
Voer de webserver uit op je EV3

Ga naar de map waar u alle serverbestanden hebt opgeslagen. Typ de opdracht "python3 server.py" om de server uit te voeren. Wacht een paar minuten totdat de server werkt, als alles goed gaat, ziet u de reactie van vier regels in uw terminal zoals weergegeven in de linkerafbeelding. Als u het nogmaals wilt controleren, typt u gewoon het IPADDRESS:5000 in uw browser en u krijgt het antwoord in de juiste afbeelding.

U zou deze stap elke keer moeten herhalen als u het terminalvenster sluit of als de server de verbinding heeft verbroken.

Stap 4: Verbind uw Arduino-bord met Arduino IoT Cloud

Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
Verbind uw Arduino-bord met Arduino IoT Cloud
  1. Meld u aan voor een Arduino IoT Cloud-account.
  2. Creëer iets nieuws op Arduino IoT Cloud.
  3. Omdat je de eerste keer bent dat je iets maakt, zou de cloud je vragen om eerst een bord te configureren.
  4. Verbind je board via USB met je pc.
  5. Selecteer uw bord op de webpagina en configureer het zodat het verbinding kan maken met uw Arduino Cloud.

Stap 5: Creëer een "ding" en een "eigendom" in de cloud

Maak een
Maak een
Maak een
Maak een
  1. Nadat je je bord met succes hebt geconfigureerd, zou je een "ding" in de cloud kunnen maken, het een naam geven die je leuk vindt.
  2. Klik op "Eigenschap toevoegen", in deze tutorial gebruiken we "ev3 motor" als de naam (deze naam wordt weerspiegeld in de variabelenaam die we in de schets zullen gebruiken en is ook relevant voor de Alexa-spraakopdracht die we gebruiken om deze later te bedienen). Selecteer daarna het type onder de categorie "Smart Home", zodat de Echo Dot het kan herkennen als een smart home-apparaat (we kiezen het type "light" in deze tutorial, waardoor de eigenschap als een booleaanse variabele wordt, zodat u spraak kunt gebruiken commando's om het in en uit te schakelen).

Stap 6: Uw Arduino-bord programmeren

Uw Arduino-bord programmeren
Uw Arduino-bord programmeren
Uw Arduino-bord programmeren
Uw Arduino-bord programmeren

Nu zou je je Arduino kunnen coderen om met de EV3 te praten. Klik op "Edit Sketch", dan zul je zien dat er nu drie functies in de sketch zijn. de functies "setup()" en "loop()" zijn dezelfde als die in een normaal Arduino-programma. De "onEv3MotorChange()" is een functie die betrekking heeft op de eigenschap die u zojuist hebt gemaakt. De code die u in deze functie schrijft, wordt geactiveerd wanneer de waarde van de eigenschap "ev3 motor" verandert en de waarde van deze eigenschap wordt opgeslagen in de variabele "Ev3Motor". Hier hebben we al de code om met de EV3-server te praten en een motor te besturen. We voegen een LED toe voor betere illustratie en foutopsporing, maar dat is niet nodig. Download de code en kopieer deze naar je Arduino Cloud. Vergeet niet om het IP-adres te vervangen door het IP-adres van je eigen EV3. Voer daarna je wifi-informatie in op het tabblad "geheim" en klik op de pijl bovenaan de pagina om de code op te slaan en te uploaden naar je Arduino.

Stap 7: Bouw verbinding op tussen uw Echo Dot en Arduino Board

Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
Bouw verbinding op tussen uw Echo Dot en Arduino Board
  1. Volg deze tutorial om je Echo Dot in te stellen.
  2. Ga naar Apparaten (pictogram rechtsonder) en klik op "YourSmartHomeSkills" en vervolgens op "EnableYourSmartHomeSkill".
  3. Zoek naar de vaardigheid met de naam "Arduino", enbale deze vervolgens en koppel uw Arduino IoT Cloud-account eraan.
  4. Klik op het "+" teken in de rechterbovenhoek van het scherm. Tik op "Apparaat toevoegen", vervolgens op "Andere" en "DiscoverDevices".
  5. Nu zou je je Arduino-eigendom in de app moeten kunnen vinden als een smart home-apparaat (als je het type "Licht" kiest, zou de app een lichtapparaat ontdekken).
  6. Klik op "Apparaat instellen", dan zou je systeem klaar moeten zijn voor gebruik! Nu heb je een Arduino-eigenschap die wordt beschouwd als een licht in Echo Dot. Probeer te zeggen "Alexa, zet EV3-motor aan" en "Alexa Trun uit EV3-motor" om de motor te bedienen.

Ga naar je Arduino Cloud, klik op "Dashboard", je zou de status van je eigendomsveranderingen kunnen zien terwijl je Alexa-commando's geeft.

Stap 8: Pas je Alexa-opdracht aan

Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan
Pas je Alexa-opdracht aan

Misschien vindt u "openen" "aanzetten" geen ideale uitdrukkingen voor het besturen van een motor. Dus hier zullen we je leren hoe je je commando's kunt aanpassen.

  1. Klik op het pictogram linksboven in het scherm, tik op "Routines".
  2. Klik op "Routines maken".
  3. Voer een routinenaam in, dit heeft niets te maken met het Alexa-commando.
  4. Klik op "Als dit gebeurt", tik op "Stem" en pas vervolgens de gewenste opdracht aan. U kunt ook proberen de motor te bedienen met andere manieren die worden vermeld op de pagina "Wanneer dit gebeurt".
  5. Klik op "Actie toevoegen", zoek "Smart Home" en kies vervolgens het apparaat dat overeenkomt met uw Arduino-eigenschap. Vervolgens kun je kiezen wat je wilt dat het apparaat doet wanneer je de aangepaste opdracht tegen Alexa zegt.

Merk op dat je een reeks acties van verschillende apparaten in één routine kunt toevoegen, dus probeer er coole dingen mee te maken! (misschien de motor activeren met een alarm)

Stap 9: Nuttige links

Als u nog steeds problemen ondervindt, controleer dan deze links.

Creëer een spraakgestuurd apparaat met Alexa en Arduino IoT Cloud in 7 minuten

Arduino IoT Cloud Amazon Alexa-integratie

IoT Cloud - Aan de slag

Link van Olga's serverdocumentatie

Aanbevolen: