Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Sveiki! Ši pamoka parodys, kaip prijungti pasirinktą prijungtą „Arduino“ar IOT įrenginį prie išorinės paslaugos. Dėl šios pamokos mes dirbsime su „Easy Window“(išgalvotu, bet programuojamu išmaniuoju langu), „If This Then That“ir „Adafruit IO“.
Mes naudosime „If This Then That“(nuo šiol IFTTT), kad atidarytume „Easy Window“užuolaidas, kai lauke saulėta.
1 žingsnis: Reikalavimai
Šioje pamokoje tikimasi, kad jau žinote, kaip prijungti „Arduino“plokštę prie „Adafruit“ir nustatyti kanalą. Jei jums reikia greito priminimo, kaip tai padaryti, galite vadovautis šia pamoka (olandų kalba).
- Jūsų pasirinkta „Arduino“lenta. Jis turi būti įjungtas „WiFi“.
- Mikro USB kabelis
- Kompiuteris, kuriame įdiegta „Arduino IDE“
- „Adafruit IO“paskyra (registracijos nuoroda)
- Paskyra „Jei tai tada tai“(registracijos nuoroda)
2 veiksmas: nustatykite „Adafruit IO“kanalą
Nustatykime „Adafruit IO“sklaidos kanalą, kurį turėsime siųsti savo adresu:
- Prisijunkite prie „Adafruit IO“ir viršutiniame kairiajame meniu juostoje spustelėkite „Sklaidos kanalai“.
- Spustelėkite „Veiksmai“, tada „Sukurti naują sklaidos kanalą“. Pavadinsime jį „Langų užuolaidomis“, bet jūs galite tai pavadinti kaip norite.
- Spustelėkite „Sukurti“ir baigsite!
3 veiksmas: nustatykite programėlę „Jei tai tada“
IFTTT atidarysime „Easy Window“užuolaidas, kai lauke bus saulėta. Šiame žingsnyje mes pasirinksime paleidimo sąlygą ir prijungsime ją prie „Adafruit IO“, kad galėtume siųsti duomenis į „WindowCurtains“kanalą.
Paruošę savo IFTTT paskyrą, galite sukurti pirmąją programėlę.
- IFTTT svetainėje eikite į viršutinį dešinįjį kampą ir spustelėkite savo vartotojo vardą, tada pasirinkite „Nauja programėlė“.
- Dabar turime pasirinkti trigerį. Spustelėkite paryškintą mygtuką „+tai“ir ieškokite „Weather Underground“, tada pasirinkite paslaugą.
- Ieškokite plytelės „Dabartinės būklės pakeitimai“, pasirinkite ją ir išskleidžiamajame meniu pasirinkite „išvalyti“.
Nustatę trigerį, dabar galime pasirinkti veiksmų paslaugą.
- Ieškokite „Adafruit“ir pasirinkite paslaugą.
- Pasirinkite „Siųsti duomenis į„ Adafruit IO ““.
- Pasirinkite sklaidos kanalą, į kurį norite siųsti duomenis. Tai turėtų būti ta, kurią sukūrėte atlikdami ankstesnį veiksmą.
- Lauke „Duomenys, kuriuos norite išsaugoti“įveskite „Atidaryti“. Tai duomenys, kurie bus siunčiami į „Adafruit“sklaidos kanalą.
- Spustelėkite „Sukurti veiksmą“, kitame ekrane peržiūrėkite savo sąlygas ir, jei baigsite, spustelėkite „Baigti“.
4 veiksmas: prijunkite mūsų IOT įrenginį prie „Adafruit IO“ir „WiFi“
Dabar, kai nustatėme „Adafruit IO“sklaidos kanalą ir IFTTT programėlę, apžvelgsime, kaip galime leisti šioms paslaugoms bendrauti su mūsų IOT įrenginiu.
- Atidarykite „Arduino IDE“.
- Eikite į Failas> Pavyzdžiai> Adafruit IO Arduino> adafruitio_14_neopixel
- Eikite į antrą skirtuką pavadinimu „config.h“
- Pirmame komentarų skyriuje „Adafruit IO Config“rasite šias kodo eilutes:
#define IO_USERNAME „your_username“
#define IO_KEY „tavo_raktas“
Pakeiskite „your_username“ir „your_key“savo „Adafruit IO“naudotojo vardu ir AIO raktu ir palikite kabutes.
Antrame komentarų skyriuje turėtų būti šios dvi kodo eilutės:
#define WIFI_SSID "your_ssid" #define WIFI_PASS "your_pass"
Pakeiskite „your_ssid“ir „your_pass“savo maršrutizatoriaus „WiFi“prisijungimo duomenimis, palikite juos kabutėse.
Svarbu: jūs „Arduino“veiks tik 2,4 GHz tinkluose. Norėdami patikrinti, ar jūsų tinklas veikia tinkamu dažniu, eikite į kompiuterio „WiFi“nustatymus> pasirinkite tinklą> Ypatybės. Ieškokite kažko „tinklo juostos“eilutėse ir įsitikinkite, kad jis yra 2,4 GHz. „Windows 10“tai atrodo kaip aukščiau esančioje ekrano kopijoje.
5 žingsnis: sutepkite rankas „Arduino“kodu
Tame pačiame „adafruit_14_neopixel“eskize, kaip ir ankstesniame žingsnyje, raskite visas eilutes su „color“raštu ir pakeiskite jas „WindowCurtains“. Tada darykite tą patį su „neopikseliu“ir pakeiskite jį „EasyWindow“
Antroje komentarų skiltyje pavadinimu „Pavyzdys prasideda čia“pakeiskite
#include "Adafruit_NeoPixel.h"
#define WINDOW_PIN 5
#define PIXEL_COUNT 5
su
#include "EasyWindow.h"
#define WINDOW_PIN 5
Pasibaigus rankenai „Message void“, parašysime ir „if“pareiškimą, kuris atveria „Easy Window“užuolaidas, jei įvykdomos šios sąlygos:
if (WindowCurtain.message == Open) {window.open (); } Jūsų galutinis kodas turėtų atrodyti taip
// „Adafruit IO RGB LED“išvesties pavyzdys // „Adafruit“investuoja laiką ir išteklius teikdama šį atvirojo kodo kodą. // Prašome palaikyti „Adafruit“ir atvirojo kodo aparatinę įrangą perkant // produktus iš „Adafruit“! // Parašė Todd Treece „Adafruit Industries“// Autorių teisės (c) 2016-2017 „Adafruit Industries“// Licencijuota pagal MIT licenciją. // // Visas anksčiau pateiktas tekstas turi būti įtrauktas į bet kokį perskirstymą.
/************************** Konfigūracija ********************** *************
/ redaguokite skirtuką config.h ir įveskite savo „Adafruit IO“kredencialus
// ir bet kokia papildoma konfigūracija, reikalinga „WiFi“, mobiliojo ryšio, // ar „Ethernet“klientams. #include "config.h"
/************************ Pavyzdys prasideda čia ********************** *********/
#include "EasyWindow.h"
#define WINDOW_PIN 5
// nustatyti kanalą „WindowCurtain“
AdafruitIO_Feed *WindowCurtain = io.feed ("Langų uždanga");
void setup () {
// pradėti nuoseklųjį ryšį
Serial.begin (115200);
// laukti, kol atsidarys serijinis monitorius
while (! Serial);
// prisijungti prie io.adafruit.com
Serial.print („Prisijungimas prie„ Adafruit IO ““); io.connect ();
// nustatyti pranešimų tvarkyklę „WindowCurtain“sklaidos kanalui.
// „handleMessage“funkcija (apibrėžta žemiau) // bus iškviesta kiekvieną kartą, kai // bus gautas pranešimas iš „adafruit io“. WindowCurtain-> onMessage (handleMessage);
// laukti ryšio
while (io.status () <AIO_CONNECTED) {Serial.print ("."); vėlavimas (500); }
// mes susieti
Serial.println (); Serial.println (io.statusText ()); WindowCurtain-> get ();
// Easy Window init
window.begin (); }
void loop () {
// io.run (); reikalingas visiems eskizams.
// ji visada turi būti jūsų ciklo // funkcijos viršuje. jis palaiko kliento ryšį su // io.adafruit.com ir apdoroja visus gaunamus duomenis. io.run ();
}
// ši funkcija iškviečiama kaskart, kai gaunamas pranešimas „WindowCurtain“
// gaunamas iš „Adafruit IO“. jis buvo pridėtas prie // „WindowCurtain“sklaidos kanalo aukščiau esančioje sąrankos () funkcijoje. void handleMessage („AdafruitIO_Data *“duomenys) {
// spausdinti RGB reikšmes ir šešioliktainę reikšmę
Serial.println ("Gauta komanda:"); Serial.println (duomenys-> vertė ());
ilgos WindowCurtains = duomenys-> toEasyWindow ();
jei (WindowCurtain.message == Open) {
window.open (); }}
6 veiksmas: įkelkite kodą ir išbandykite
Dabar galite įkelti kodą į „Arduino“plokštę. Prijunkite jį prie kompiuterio naudodami USB kabelį ir paspauskite mygtuką „Įkelti“, esantį viršutiniame kairiajame „Arduino IDE“kampe (atrodo kaip rodyklė į dešinę).
Jei viskas gerai, jūsų kodas turėtų būti įkeltas į jūsų lentą be jokių žagsėjimų. Ryšio būseną galite patikrinti IDE serijiniame monitoriuje, pasirinkę Tools> Serial Monitor. Kai jūsų įrenginys bus prijungtas, gausite pranešimą „Prisijungta!“ir jei lauke aišku, IFTTT į „WindowCurtains“kanalą atsiųs pranešimą „Atidaryti“ir paskatins „Easy Window“atidaryti užuolaidas. Tai taip pat turėtų būti atspindėta serijiniame monitoriuje su „Gauta komanda: atidaryta“.
Sveikinu! Jūs pasiekėte pamokos pabaigą ir sužinojote, kaip prijungti „Arduino IOT“įrenginį prie IFTTT ir sukelti tam tikras sąlygas.