INHOUDSOPGAWE:

Koppel u Arduino aan eksterne dienste: 6 stappe
Koppel u Arduino aan eksterne dienste: 6 stappe

Video: Koppel u Arduino aan eksterne dienste: 6 stappe

Video: Koppel u Arduino aan eksterne dienste: 6 stappe
Video: CS50 2013 - Week 9 2024, Julie
Anonim
Koppel u Arduino aan eksterne dienste
Koppel u Arduino aan eksterne dienste

Hallo daar! Hierdie handleiding sal u wys hoe u u gekoppelde Arduino- of IOT -toestel van keuse aan 'n eksterne diens kan koppel. Ter wille van hierdie tutoriaal werk ons met Easy Window ('n fiktiewe maar programmeerbare slim venster), If This Then That en Adafruit IO.

Ons gebruik If This Then That (IFTTT van nou af) om ons Easy Window -gordyne oop te maak as dit sonnig is buite.

Stap 1: Vereistes

Vereistes
Vereistes

Hierdie tutoriaal verwag dat u reeds weet hoe u u Arduino -bord aan Adafruit kan koppel en 'n voer kan opstel. As u 'n vinnige herinnering benodig oor hoe u dit moet doen, kan u hierdie tutoriaal volg (in Nederlands).

- U keuse van Arduino. Dit moet WiFi aangeskakel wees.

- 'n Mikro -USB -kabel

- 'n Rekenaar met die Arduino IDE geïnstalleer

- 'n Rekening op Adafruit IO (aanmeldskakel)

- 'n Rekening op If This Then That (aanmeldskakel)

Stap 2: Stel u Adafruit IO -feed op

Stel u Adafruit IO -feed op
Stel u Adafruit IO -feed op

Laat ons die Adafruit IO -feed opstel, waarna ons ons data moet stuur na:

  1. Meld aan by Adafruit IO en klik op "Feeds" in die menubalk links bo.
  2. Klik op "Actions" en dan op "Create a New Feed". Ons sal dit 'WindowCurtains' noem, maar u kan dit noem soos u wil.
  3. Klik op "Skep" en u is klaar!

Stap 3: Die opstel van die If This Then That Applet

Die opstel van die If This Then That Applet
Die opstel van die If This Then That Applet
Die opstel van die If This Then That Applet
Die opstel van die If This Then That Applet
Die opstel van die If This Then That Applet
Die opstel van die If This Then That Applet

Ons sal IFTTT gebruik om ons Easy Window -gordyne oop te maak as dit buite sonnig word. In hierdie stap kies ons 'n sneller -toestand en koppel dit aan Adafruit IO om data na ons WindowCurtains -voer te stuur.

Sodra u u IFTTT -rekening gereed het, kan u u eerste applet maak.

  1. Op die IFTTT -webwerf, in die regter boonste hoek, klik op u gebruikersnaam en kies 'Nuwe applet'.
  2. Nou moet ons ons sneller kies. Klik op die gemerkte "+hierdie" knoppie en soek na Weather Underground, en kies dan die diens.
  3. Soek die teël "Huidige toestand verander na", kies dit en kies "skoon" in die keuselys.

Met ons sneller opgestel, kan ons nou ons aksiediens kies.

  1. Soek Adafruit en kies die diens.
  2. Kies "Stuur data na Adafruit IO".
  3. Kies die voer waarheen u data wil stuur. Dit moet die een wees wat u in die vorige stap geskep het.
  4. Tik "Open" in die veld "Data om te stoor". Dit is die data wat na die Adafruit -voer gestuur sal word.
  5. Klik op 'Skep aksie', kyk na u toestande op die volgende skerm en klik op 'Voltooi' as u klaar is.

Stap 4: Koppel ons IOT -toestel aan Adafruit IO en WiFi

Koppel ons IOT -toestel aan Adafruit IO en WiFi
Koppel ons IOT -toestel aan Adafruit IO en WiFi

Noudat ons die Adafruit IO -feed en die IFTTT -applet opgestel het, gaan ons kyk hoe ons hierdie dienste met ons IOT -toestel kan laat kommunikeer.

  1. Maak die Arduino IDE oop.
  2. Gaan na File> Voorbeelde> Adafruit IO Arduino> adafruitio_14_neopixel
  3. Gaan na die tweede oortjie met die naam "config.h"
  4. Onder die eerste kommentaarafdeling met die naam "Adafruit IO Config" vind u hierdie kode lyne:

#definieer IO_USERNAME "u_gebruikersnaam"

#definieer IO_KEY "jou_sleutel"

Vervang "u_gebruikersnaam" en "u_sleutel" met u Adafruit IO -gebruikersnaam en AIO -sleutel en laat die aanhalingstekens in.

Onder die tweede kommentaarafdeling behoort hierdie twee reëls kode te wees:

#definieer WIFI_SSID "jou_sid" #definieer WIFI_PASS "jou_pas"

Vervang "your_ssid" en "your_pass" deur die WiFi -bewys van u router in die aanhalingstekens te laat.

Belangrik: u Arduino werk slegs op 2,4 GHz netwerke. Om te kyk of u netwerk op die regte frekwensie werk, gaan na die WiFi -instellings van u rekenaar> kies u netwerk> Eienskappe. Soek iets in die lyn van 'netwerkband' en maak seker dat dit 2,4 GHz is. Op Windows 10 lyk dit soos op die skermkiekie hierbo.

Stap 5: Maak ons hande vuil met die Arduino -kode

Maak ons hande vuil met die Arduino -kode
Maak ons hande vuil met die Arduino -kode

Vind in dieselfde adafruit_14_neopixel -skets as die vorige stap alle lyne met 'kleur' -skrif daarin en vervang dit met' WindowCurtains '. Doen dan dieselfde met "neopixel" en verander dit met "EasyWindow"

Onder die tweede kommentaarafdeling met die naam "Voorbeeld begin hier", vervang

#sluit "Adafruit_NeoPixel.h" in

#definieer WINDOW_PIN 5

#definieer PIXEL_COUNT 5

met

#sluit "EasyWindow.h" in

#definieer WINDOW_PIN 5

Aan die einde van die handleMessage -leemte skryf ons en as die verklaring ons Easy Window -gordyne oopmaak as aan hierdie voorwaardes voldoen word:

as (WindowCurtain.message == Open) {window.open (); } Jou finale kode moet so lyk

// Voorbeeld van Adafruit IO RGB LED -uitvoer // // Adafruit belê tyd en hulpbronne om hierdie open source -kode te verskaf. // Ondersteun asseblief Adafruit en open source hardeware deur // produkte van Adafruit te koop! // // Geskryf deur Todd Treece vir Adafruit Industries // Kopiereg (c) 2016-2017 Adafruit Industries // Gelisensieer onder die MIT-lisensie. // // Alle teks hierbo moet by enige herverdeling ingesluit word.

/************************** Konfigurasie *********************** **************

/ wysig die config.h -oortjie en voer u Adafruit IO -geloofsbriewe in

// en enige bykomende opset wat nodig is vir WiFi-, mobiele-, of ethernet -kliënte. #sluit "config.h" in

/************************ Voorbeeld begin hier *********************** **********/

#sluit "EasyWindow.h" in

#definieer WINDOW_PIN 5

// stel die feed 'WindowCurtain' op

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

ongeldige opstelling () {

// begin die reeksverbinding

Serial.begin (115200);

// wag totdat die seriële monitor oopgemaak word

terwyl (! Serial);

// skakel met io.adafruit.com

Serial.print ("Koppel aan Adafruit IO"); io.connect ();

// stel 'n boodskaphanteerder op vir die feed 'WindowCurtain'.

// die handleMessage -funksie (hieronder gedefinieer) // sal gebel word wanneer 'n boodskap // van adafruit io ontvang word. WindowCurtain-> onMessage (handleMessage);

// wag vir 'n verbinding

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

// ons is verbind

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

// Easy Window init

venster.begin (); }

leemte -lus () {

// io.run (); word benodig vir alle sketse.

// dit moet altyd aan die bokant van u lus // funksie wees. dit hou die kliënt verbind met // io.adafruit.com en verwerk inkomende data. io.run ();

}

// hierdie funksie word genoem wanneer 'n 'WindowCurtain' -boodskap

// word van Adafruit IO ontvang. dit is aangeheg aan // die WindowCurtain -voer in die opstelling () funksie hierbo. void handleMessage (AdafruitIO_Data *data) {

// druk RGB -waardes en hekswaarde af

Serial.println ("Opdrag ontvang:"); Serial.println (data-> waarde ());

lang WindowCurtains = data-> toEasyWindow ();

as (WindowCurtain.message == oop) {

venster.open (); }}

Stap 6: Laai u kode op en toets dit

Laai u kode op en toets dit
Laai u kode op en toets dit

U kan nou u kode na u Arduino -bord oplaai. Koppel dit aan u rekenaar met die USB -kabel en druk op die "Upload" -knoppie in die linker boonste hoek van die Arduino IDE (dit lyk soos 'n pyltjie wat regs wys).

As alles goed gaan, moet u kode sonder probleme op u bord opgelaai word. U kan die verbindingstatus in die IDE se seriële monitor nagaan via Tools> Serial Monitor. As u toestel gekoppel is, kry u 'n boodskap wat sê "Gekoppel!" en as dit buite duidelik is, stuur IFTTT 'n 'Oop' boodskap na die 'WindowCurtains' -voer, wat Easy Window aktiveer om die gordyne oop te maak. Dit moet ook in die seriële monitor weerspieël word met "Ontvang opdrag: oop".

Baie geluk! U het die einde van die tutoriaal bereik en geleer hoe u u Arduino IOT -toestel aan IFTTT kan koppel en spesifieke toestande kan veroorsaak.

Aanbeveel: