INHOUDSOPGAWE:

GmailBox Met Zapier en Adafruit: 14 stappe
GmailBox Met Zapier en Adafruit: 14 stappe

Video: GmailBox Met Zapier en Adafruit: 14 stappe

Video: GmailBox Met Zapier en Adafruit: 14 stappe
Video: СПРОСИТЕ ИНЖЕНЕРА - ЖИВОЕ видеошоу по электронике! 20:00 по восточному времени в среду вечером! 02.09.15 (видео) 2024, November
Anonim
GmailBox Met Zapier en Adafruit
GmailBox Met Zapier en Adafruit

In hierdie instruksies sal ek u stap vir stap verduidelik hoe u 'n Gmail -kennisgewer met die ESP8266 kan bou.

Wat het jy nodig:

- Gmail -rekening

- Zapier -rekening

- Adafruit -rekening

- Arduino IDE

- NodeMCU ESP8266

- Servomotor (ek gebruik die SG90)

- LED -lig (ek gebruik 'n Neopixel LED -strook, ander ligte werk ook, maar kan 'n ander biblioteek benodig)

Stap 1: Die opstel van Zapier

Die opstel van Zapier
Die opstel van Zapier
Die opstel van Zapier
Die opstel van Zapier

Skep 'n Zapier -rekening en maak 'n nuwe Zap. U benodig Zapier om data van Gmail af te ontvang, en dit gaan daarna na Adafruit. Meer hieroor later.

Stap 2: Skep 'n sneller

Skep 'n sneller
Skep 'n sneller
Skep 'n sneller
Skep 'n sneller

Ons wil seker maak dat iets anders gebeur as u 'n e -pos in Gmail ontvang, sodat u u Gmail -rekening nodig het. Kies in u nuwe Zap Gmail as 'n programaanjaer en meld aan by Gmail.

Stap 3: Verbind Zapier met Adafruit

Verbind Zapier met Adafruit
Verbind Zapier met Adafruit
Verbind Zapier met Adafruit
Verbind Zapier met Adafruit
Verbind Zapier met Adafruit
Verbind Zapier met Adafruit

Nou wil u die data wat u in Gmail ontvang het, na Adafruit stuur. Soek in die afdeling "Doen dit" Adafruit en maak kontak met u Adafruit -rekening. Kies dan 'Skep voerdata' as 'n aksiegebeurtenis.

Stap 4: Stel Adafruit op

Die oprigting van Adafruit
Die oprigting van Adafruit
Die oprigting van Adafruit
Die oprigting van Adafruit
Die oprigting van Adafruit
Die oprigting van Adafruit

Gaan nou na io.adafruit.com en skep 'n rekening as u nog nie een het nie. Gaan na u feeds en skep 'n nuwe feed. In hierdie geval is die naam van my feed 'gmailbox', u benodig dit later.

As u u Adafruit -sleutel nie kan vind nie, kan u dit in die regter boonste hoek vind.

Stap 5: Voer data van Zapier af

Voerdata van Zapier
Voerdata van Zapier
Voerdata van Zapier
Voerdata van Zapier

Gaan nou terug na Zapier om u afdeling vir voedingsdata te reël. Kies die opsie "Gebruik 'n aangepaste waarde" by die invoersleutel. Die "Custum Value For Feed Key" moet dieselfde wees as die naam van u Feed in Adafruit, dus wees versigtig met hoofletters.

Vul by "Waarde" in wat u as waarde in Adafruit wil sien. Dieselfde waarde sal later op die seriële monitor in Arduino sigbaar wees.

Stap 6: Toets met Zapier, Adafruit en Gmail

Toets met Zapier, Adafruit en Gmail
Toets met Zapier, Adafruit en Gmail
Toets met Zapier, Adafruit en Gmail
Toets met Zapier, Adafruit en Gmail

Nou kan u u Zap toets. Klik op Test & Continue (moenie vergeet om die Zap daarna aan te skakel nie). Gaan dan terug na Adafruit na u voer en onder die grafiek kan u sien of die data gekom het. Nadat u u Zap aangeskakel het, kan u dit ook toets deur vir u 'n e -pos te stuur.

Stap 7: Stel Arduino op

Die opstel van Arduino
Die opstel van Arduino

Koppel u ESP8266 en maak Arduino oop. Skep 'n nuwe skets en 'n nuwe oortjie soos aangedui in die prent hierbo. Noem dit "config.h" (jy kan dit noem wat jy wil). Plak die kode hieronder op die "config" -oortjie.

Met hierdie kode kan u verbinding maak met u WiFi en Adafruit. Ek het dit gekry van 'n voorheen gebruikte projek. Ek gebruik dit steeds en dit werk goed vir my.

/************************ Adafruit IO Config ********************** **********/

// besoek io.adafruit.com as u 'n rekening moet skep, // of as u u Adafruit IO -sleutel nodig het. #definieer IO_USERNAME "u adafruit -gebruikersnaam" #definieer IO_KEY "adafruit -sleutel" /****************************** WIFI ** **********************************/ #define WIFI_SSID "your wifi ssd" #define WIFI_PASS "wifi wagwoord "#include" AdafruitIO_WiFi.h"

Stap 8: Stel u NodeMCU op

Stel u nodeMCU op
Stel u nodeMCU op

Koppel die servomotor en die LED -strook aan u ESP8266.

Drade van die servomotor (SG90): Bruin gaan in G (grond), rooi gaan in 3V, oranje gaan in D6 (of 'n ander digitale pen). Ek het ook 'n paar ekstra kabels vir verlenging gebruik.

Drade van die Neopixel: GDN gaan na G (grond), DIN gaan na D4 (of 'n ander digitale pen), +5V gaan na 3V.

Stap 9: Die opstel van biblioteke en hardeware

Gaan nou na u Arduino -skets wat u so pas geskep het. Eerstens moet u die biblioteke wat u benodig in die skets insluit. U benodig die config.h wat u so pas geskep het, die biblioteek vir die ESP8622 en die Neopixel LED -strook.

U plaas dit as volg in die kode:

#sluit "config.h" in

#include #include

Vervolgens sal u die hardeware wat u gebruik, insluit

#insluit

Servo servo; #define PIXEL_PIN D4 #define PIXEL_COUNT 10 #define PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel pixels = Adafruit_NeoPixel (PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

Voeg hierdie reël by om hierdie skets te koppel aan die voer in Adafruit:

AdafruitIO_Feed *gmailbox = io.feed ("u voernaam");

Stap 10: Ongeldige opstellingskode

In die "leemte -opstelling" maak u verbinding met Adafruit, WiFi en stel die servomotor die toegewezen pen. Hierna kan u op die seriële monitor kyk of daar 'n verbinding is.

Ek raai u aan om die kode weer in te voer in plaas daarvan om dit te plak. Dit maak dit makliker om later te onthou, en u leer presies wat u skryf.

Die kode sal so lyk:

ongeldige opstelling () {

// sit u opstellingskode hier om een keer te werk: // begin die seriële verbinding met die seriële monitor Serial.begin (115200) // wag totdat die seriële monitor oopgemaak word terwyl (! Serial); // maak verbinding met io.adafruit.com Serial.print ("Koppel aan Adafruit IO"); io.connect (); // stel 'n boodskaphanteerder op vir die 'u voernaam' -voer. // die handleMessage -funksie (hieronder gedefinieer) sal gebel word wanneer 'n boodskap // van Adafruit ontvang word. // wag vir verbinding terwyl (io.status () get (); // die pin van die servomotor servo.attach (D6); servo.write (0); nameofyourfeed-> onMessage (handleMessage);}

Stap 11: Kode vir nietige lus

Vervolgens moet u seker maak dat Adafruit voortdurend aan die gang is; ons moet dit in die leemte plaas, sodat ek voortdurend hardloop.

Doen dit soos volg:

leemte -lus () {

// plaas u hoofkode hier om herhaaldelik te hardloop: io.run (); }

Stap 12: Die funksie vir die servomotor en LED's as uitset

Nou gaan ons seker maak dat wanneer u 'n e -pos ontvang, die servomotor en die LED's sal reageer. Ons gaan 'n funksie skep wat dit verseker. Die funksie kry die naam "handleMessage" wat ons vroeër in die kode gebruik het. Ons sal die waarde wat ons hier sien Adafruit gebruik.

As u 'n nuwe e -pos ontvang, moet die servomotor 90 grade draai en die LED's moet brand. Vir die LED's gebruik ons rooi as kleur, maar u kan dit verander in wat u wil. U wil ook seker maak dat nie net die eerste LED van die strook aan is nie, maar u moet dit in 'n lus plaas om die hele strook aan te steek.

Probeer weer om die kode te tik in plaas daarvan om dit te plak.

Die kode sal so lyk:

void handleMessage (AdafruitIO_Data *data) {

as (data> 0) {servo.write (90); vertraging (1000); Serial.println ("U het pos!"); vir (int i = 0; i

Stap 13: Laai op na u NodeMCU en toets dit

Laai op na u NodeMCU en toets dit
Laai op na u NodeMCU en toets dit

Laai die skets op na u ESP8266. U kan dit doen deur op die pyltjie regs langs die regmerkie in die linker boonste hoek te klik.

Daarna kan u uself 'n e -pos stuur om dit te toets en seker te maak dat dit werk.

Stap 14: Die afwerking

U is klaar met die kode -deel. Voel jy kreatief? Bou 'n posbusbehuizing vir wat u pas gemaak het en plak 'n vlag op die servomotor. Die vlag gaan op elke keer as u 'n e -pos ontvang!

Dankie dat u hierdie handleiding gevolg het en ek hoop dit het gehelp.

Aanbeveel: