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

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Onderdelen en Benodigdheden

Arduino MKR WiFi 1010 1
Arduino MKR ENV Shield 1
Breadboard (generic) 1
High Brightness LED, Wit 1
Jumper wires (generic) 1
LED RGB common cathode 1
Weerstand 220 ohm 1

Apps en Online Services

  • Arduino Web Editor
  • Arduino IoT Cloud
  • Arduino Amazon Alexa Officiële Arduino Skill

Over Dit Project

Intro: Aan de Slag

In deze tutorial gebruiken we Arduino IoT Cloud. Als je nieuw bent met Arduino IoT Cloud, raden we aan eerst te kijken naar dit introductieve project, dat een overzicht geeft en je begeleidt door het instellen van je ondersteunde board, IoT Cloud things en properties.

Deel 1: Arduino IoT Cloud

Vanuit de hoofdpagina van IoT Cloud maken we een nieuwe "thing" en geven we het een betekenisvolle naam. Vervolgens selecteren we het board dat we gaan gebruiken. Als je je board niet ziet, heb je waarschijnlijk de stap overgeslagen om een nieuw Device toe te voegen via de ADD DEVICE-knop onder de Devices-sectie.

Daarna voegen we drie properties toe aan ons thing. De eerste twee vertegenwoordigen de lampen, de laatste de temperatuur.

  • Het type ColoredLight laat ons een RGB-lamp besturen, inclusief helderheid en kleur. Stel dit in op ReadAndWrite omdat we het gedrag via Alexa willen besturen.
  • Het type DimmedLight is vergelijkbaar, maar laat alleen de helderheid van een lamp besturen.
  • De laatste property is de temperatuur. Voeg deze toe als ReadOnly, aangezien we alleen de waarde willen lezen, niet instellen. Als type kunnen we Temperatuursensor (Celsius) gebruiken, maar Fahrenheit is ook mogelijk.

Hier is hoe de Dashboard-weergave van je Thing er nu uit moet zien:

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Belangrijk: Bij het toevoegen van properties, gebruik alleen typen die vermeld staan onder de Smart Home-sectie, anders werken ze niet met Alexa.

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Ga nu naar de Web Editor door op de Edit Sketch-knop in de bewerkweergave van je Thing te klikken.

Deel 2: Arduino Web Editor

In de Web Editor moeten we code toevoegen aan de automatisch gegenereerde Sketch.

Omdat we omgevingsdata willen lezen (naamlijk temperatuur, maar je kunt ook licht, vochtigheid en druk toevoegen), importeren we de Arduino_MKRENV-bibliotheek bovenaan onze Sketch:

#include <Arduino_MKRENV.h>

Vervolgens definiëren we constanten voor de board-pinnen die gebruikt worden voor R, G, B en witte licht, voor betere leesbaarheid:

#define PIN_MEETING_ROOM 5
#define PIN_LOUNGE_AREA_R 2
#define PIN_LOUNGE_AREA_B 3
#define PIN_LOUNGE_AREA_G 4

In de setup-functie initialiseren we de Arduino MKR ENV Shield:

if (!ENV.begin()) {
  Serial.println("Failed to initialize MKR ENV shield!");
  while (1);
}

Zo blokkeert de sketch-uitvoering als de shield niet geïnstalleerd is.

We hoeven niet pinMode op OUTPUT te zetten omdat we analogWrite() gebruiken om de intensiteit van onze witte LED of de afzonderlijke kleuren van de RGB-led in te stellen.

In de loop-functie lezen we de temperatuur elke seconde:

temperature = ENV.readTemperature();
delay(1000);

Nu implementeren we onze callback-functies: degene die elke keer uitgevoerd worden wanneer een wijziging in de waarde van een Property vanuit IoT Cloud wordt opgehaald.

We moeten onMeetingRoomChange en onLoungeAreaChange implementeren:

void onMeetingRoomChange() {
  uint8_t brightness = map(meetingRoom.getBrightness(), 0, 100, 0, 255);
  if (meetingRoom.getSwitch()) {
    Serial.println(brightness);
    analogWrite(PIN_MEETING_ROOM, brightness);
  } else {
    analogWrite(PIN_MEETING_ROOM, LOW);
  }
}

Met de bovenstaande code lezen we eerst de helderheidswaarde uit de cloud en mappen we deze naar een bruikbare waarde (0-255). Vervolgens controleren we of de lichtschakelaar aanstaat. Als dat zo is, zetten we het licht aan met de ingelezen helderheid. Anders zetten we het licht uit.

Het werkingsprincipe is hetzelfde voor de andere callback:

void onLoungeAreaChange() {
  uint8_t r, g, b;
  loungeArea.getValue().getRGB(r, g, b);
  if (loungeArea.getSwitch()) {
    Serial.println("R:" + String(r) + " G:" + String(g) + " B:" + String(b));
    analogWrite(PIN_LOUNGE_AREA_R, r);
    analogWrite(PIN_LOUNGE_AREA_B, b);
    analogWrite(PIN_LOUNGE_AREA_G, g);
  } else {
    Serial.println("Lamp Off");
    analogWrite(PIN_LOUNGE_AREA_R, 0);
    analogWrite(PIN_LOUNGE_AREA_B, 0);
    analogWrite(PIN_LOUNGE_AREA_G, 0);
  }
}

Het enige opvallende verschil is dat we in plaats van alleen helderheid drie componenten hebben: de RGB-kleurcomponenten van het licht. Natuurlijk kunnen we in de Alexa-app aangepaste kleuren per naam definiëren, zodat we niet handmatig hoeven op te geven hoeveel Rood, Groen of Blauw we willen instellen.

Deel 3: Amazon Alexa Skill Instellen

We hebben nu de Amazon Alexa-app nodig, te downloaden uit de Apple App Store of Google Play Store. Na installatie, log in met je bestaande account of maak een nieuw aan.

Laten we de stappen doorlopen om de Arduino Alexa Skill te installeren. We volgen de volgorde van de afbeeldingen hieronder om alle benodigde stappen te zien.

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding
Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Deel 4: Amazon Alexa Apparaten Instellen

Na even wachten, zou je moeten zien dat er apparaten zijn gevonden.

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Na het tikken op Choose Device krijg je de instellingspagina te zien met alle beschikbare apparaten (genaamd naar hoe we onze properties in Arduino IoT Cloud noemden).

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Kies één apparaat en tik op Set Up Device. Je kunt het ook aan een groep toevoegen (voor eenvoudiger beheer), of dit overslaan.

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Herhaal het Setup-proces voor elk apparaat dat je wilt besturen.

Uiteindelijk moet de apparaatweergave er als volgt uitzien:

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

We kunnen nu eindelijk dingen vragen zoals "Alexa, wat is de temperatuur in het kantoor?" of "Alexa, zet het licht aan in de vergaderruimte."

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Veel plezier met Alexa en IoT Cloud! Als je vragen hebt of dit project bouwt, laat het ons weten in de reacties.

Het Arduino Team

Code

Arduino

(De volledige code wordt in de Web Editor gegenereerd en aangepast zoals hierboven beschreven.)

Schema's

Arduino IoT Cloud & Amazon Alexa Integratie: Stap-voor-Stap Handleiding

Productieproces

  1. De kracht van de cloud voor IoT: naadloze connectiviteit en datainzichten ontgrendelen
  2. Je Chromecast Besturen met Amazon Alexa via Raspberry Pi en Python
  3. Je plafondventilator bedienen met Alexa: Stap-voor-stap handleiding
  4. Real-time IoT hartslagmonitor met Arduino en MAX30100
  5. Externe IoT-besturing van een zelfgebouwde robotarm
  6. LED's bedienen met Alexa via Raspberry Pi – Eenvoudige stapsgewijze handleiding
  7. Bouw een Sensor Toren met Arduino Cloud: Temperatuur, Beweging & Gas Monitoring
  8. Je TV bedienen met Alexa via Arduino IoT Cloud – stapsgewijze handleiding
  9. Azure IoT Zwembadbeheersysteem: Slimme Sensoren & Remote Monitoring
  10. Infineon benoemd tot Advanced Technology Partner door Amazon Web Services
  11. Fog vs. Cloud: IoT-implementaties optimaliseren voor snelheid en schaal