Inhoudsopgave:

Verbind uw Arduino met externe services: 6 stappen
Verbind uw Arduino met externe services: 6 stappen

Video: Verbind uw Arduino met externe services: 6 stappen

Video: Verbind uw Arduino met externe services: 6 stappen
Video: Extract GPS location in Arduino with Ublox Neo-6 and Neo 7m GPS modules 2024, Juli-
Anonim
Verbind uw Arduino met externe services
Verbind uw Arduino met externe services

Hallo daar! Deze tutorial laat je zien hoe je je aangesloten Arduino- of IOT-apparaat naar keuze aansluit op een externe service. Voor deze tutorial werken we met Easy Window (een fictief maar programmeerbaar slim venster), If This Then That en Adafruit IO.

We gebruiken If This Then That (IFTTT vanaf nu) om onze Easy Window-gordijnen te openen als het buiten zonnig is.

Stap 1: Vereisten

Vereisten
Vereisten

Deze tutorial verwacht dat je al weet hoe je je Arduino-bord op Adafruit moet aansluiten en een feed moet opzetten. Als je een snelle herinnering nodig hebt over hoe je dit moet doen, kun je deze tutorial volgen.

- Uw Arduino-bord naar keuze. Het moet WiFi ingeschakeld zijn.

- Een micro-USB-kabel

- Een computer waarop de Arduino IDE is geïnstalleerd

- Een account op Adafruit IO (aanmeldlink)

- Een account op If This Then That (aanmeldlink)

Stap 2: Uw Adafruit IO-feed instellen

Uw Adafruit IO-feed instellen
Uw Adafruit IO-feed instellen

Laten we de Adafruit IO-feed instellen waarnaar we onze gegevens moeten sturen:

  1. Log in op Adafruit IO en klik op "Feeds" in de menubalk linksboven.
  2. Klik op "Acties" en vervolgens op "Maak een nieuwe feed". We noemen het "WindowCurtains", maar je kunt het elke gewenste naam geven.
  3. Klik op "Maken" en je bent klaar!

Stap 3: De If This Then That-applet instellen

De If This Then That-applet instellen
De If This Then That-applet instellen
De If This Then That-applet instellen
De If This Then That-applet instellen
De If This Then That-applet instellen
De If This Then That-applet instellen

We zullen IFTTT gebruiken om onze Easy Window-gordijnen te openen als het buiten zonnig wordt. In deze stap kiezen we een triggervoorwaarde en verbinden deze met Adafruit IO om gegevens naar onze WindowCurtains-feed te verzenden.

Zodra u uw IFTTT-account gereed heeft, kunt u uw eerste applet maken.

  1. Ga op de IFTTT-website naar de rechterbovenhoek en klik op uw gebruikersnaam en kies vervolgens "Nieuwe applet".
  2. Nu moeten we onze trigger kiezen. Klik op de gemarkeerde "+this"-knop en zoek naar Weather Underground en selecteer vervolgens de service.
  3. Zoek naar de tegel "Huidige toestand verandert in", selecteer deze en kies "wissen" in het vervolgkeuzemenu.

Met onze trigger-setup kunnen we nu onze actieservice kiezen.

  1. Zoek naar Adafruit en selecteer de dienst.
  2. Kies "Stuur gegevens naar Adafruit IO".
  3. Kies de feed waarnaar u gegevens wilt verzenden. Dit zou degene moeten zijn die u in de vorige stap hebt gemaakt.
  4. Typ "Openen" in het veld "Gegevens om op te slaan". Dit zijn de gegevens die naar de Adafruit-feed worden verzonden.
  5. Klik op "Actie maken", controleer uw voorwaarden op het volgende scherm en klik op "Voltooien" als u klaar bent.

Stap 4: Ons IOT-apparaat verbinden met Adafruit IO en WiFi

Ons IOT-apparaat verbinden met Adafruit IO en WiFi
Ons IOT-apparaat verbinden met Adafruit IO en WiFi

Nu we de Adafruit IO-feed en de IFTTT-applet hebben opgezet, gaan we kijken hoe we deze services kunnen laten communiceren met ons IOT-apparaat.

  1. Open de Arduino-IDE.
  2. Ga naar Bestand > Voorbeelden > Adafruit IO Arduino > adafruitio_14_neopixel
  3. Ga naar het tweede tabblad met de naam "config.h"
  4. Onder het eerste commentaargedeelte met de naam "Adafruit IO Config" vindt u deze coderegels:

#define IO_USERNAME "uw_gebruikersnaam"

#define IO_KEY "uw_sleutel"

Vervang "your_username" en "your_key" door uw Adafruit IO gebruikersnaam en AIO key en laat deze tussen de aanhalingstekens staan.

Onder het tweede commentaargedeelte zouden deze twee regels code moeten staan:

#define WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"

Vervang "your_ssid" en "your_pass" door de WiFi-inloggegevens van uw router tussen de aanhalingstekens.

Belangrijk: je Arduino werkt alleen op 2,4 GHz-netwerken. Om te controleren of uw netwerk op de juiste frequentie werkt, gaat u naar de wifi-instellingen van uw computer > selecteert u uw netwerk > Eigenschappen. Zoek naar iets in de trant van "netwerkband" en zorg ervoor dat het 2,4 GHz is. Op Windows 10 ziet het eruit zoals in de bovenstaande schermafbeelding.

Stap 5: Onze handen vuil maken met Arduino-code

Onze handen vuil maken met Arduino-code
Onze handen vuil maken met Arduino-code

Zoek in dezelfde adafruit_14_neopixel-schets als de vorige stap alle regels met "kleur" erin en vervang deze door "WindowCurtains". Doe dan hetzelfde met "neopixel" en verander het met "EasyWindow"

Vervang onder het tweede commentaargedeelte met de naam "Voorbeeld begint hier"

#include "Adafruit_NeoPixel.h"

#define WINDOW_PIN 5

#define PIXEL_COUNT 5

met

#include "EasyWindow.h"

#define WINDOW_PIN 5

Aan het einde van de handleMessage void schrijven we en if-statement dat onze Easy Window-gordijnen opent als aan deze voorwaarden wordt voldaan:

if (WindowCurtain.message == Open) { window.open(); } Je uiteindelijke code zou er zo uit moeten zien

// Adafruit IO RGB LED-uitgangsvoorbeeld// // Adafruit investeert tijd en middelen om deze open source code te leveren. // Ondersteun Adafruit en open source hardware door // producten van Adafruit te kopen! // // Geschreven door Todd Treece voor Adafruit Industries // Copyright (c) 2016-2017 Adafruit Industries // Gelicentieerd onder de MIT-licentie. // // Alle bovenstaande tekst moet worden opgenomen in elke herdistributie.

/************************** Configuratie ********************** ***********

/ bewerk het tabblad config.h en voer uw Adafruit IO-referenties in

// en eventuele aanvullende configuratie die nodig is voor wifi-, mobiele, // of ethernetclients. #include "config.h"

/************************* Voorbeeld begint hier ********************* *******/

#include "EasyWindow.h"

#define WINDOW_PIN 5

// stel de 'WindowCurtain'-feed in

AdafruitIO_Feed *WindowCurtain = io.feed("WindowCurtain");

ongeldige setup() {

// start de seriële verbinding

Serieel.begin(115200);

// wacht tot de seriële monitor wordt geopend

terwijl (! Serieel);

// verbind met io.adafruit.com

Serial.print("Verbinding maken met Adafruit IO"); io.connect();

// stel een berichthandler in voor de 'WindowCurtain'-feed.

// de handleMessage-functie (hieronder gedefinieerd) // wordt aangeroepen wanneer een bericht wordt // ontvangen van adafruit io. WindowCurtain->onMessage (handleMessage);

// wacht op verbinding

while (io.status() <AIO_CONNECTED) { Serial.print("."); vertraging (500); }

// we zijn verbonden

Serieel.println(); Serial.println(io.statusText()); WindowCurtain->get();

// Easy Window init

venster.begin(); }

lege lus() {

// io.run(); is vereist voor alle schetsen.

// het moet altijd bovenaan je loop //-functie aanwezig zijn. het houdt de client verbonden met // io.adafruit.com en verwerkt alle inkomende gegevens. io.run();

}

// deze functie wordt aangeroepen wanneer een 'WindowCurtain'-bericht

// wordt ontvangen van Adafruit IO. het was gekoppeld aan // de WindowCurtain-feed in de setup () -functie hierboven. void handleMessage (AdafruitIO_Data * data) {

// print RGB-waarden en hex-waarde

Serial.println("Opdracht ontvangen: "); Serial.println(data->waarde());

lange WindowCurtains = data->toEasyWindow();

if (WindowCurtain.message == Open) {

venster.open(); } }

Stap 6: Upload uw code en test deze

Upload uw code en test deze
Upload uw code en test deze

U kunt nu uw code uploaden naar uw Arduino-bord. Verbind hem met je computer met de USB-kabel en druk op de "Upload"-knop in de linkerbovenhoek van de Arduino IDE (het lijkt op een naar rechts wijzende pijl).

Als alles goed gaat, zou je code zonder problemen naar je bord moeten worden geüpload. U kunt de verbindingsstatus in de seriële monitor van de IDE controleren via Extra > Seriële monitor. Wanneer uw apparaat is verbonden, krijgt u een bericht met de tekst 'Verbonden!' en als het buiten helder is, stuurt IFTTT een "Open"-bericht naar de "WindowCurtains"-feed, waardoor Easy Window de gordijnen opent. Dit moet ook worden gespiegeld in de seriële monitor met "Received command: Open".

Gefeliciteerd! Je hebt het einde van de tutorial bereikt en hebt geleerd hoe je je Arduino IOT-apparaat op IFTTT kunt aansluiten en specifieke voorwaarden kunt activeren.

Aanbevolen: