Inhoudsopgave:

GmailBox met Zapier en Adafruit: 14 stappen
GmailBox met Zapier en Adafruit: 14 stappen

Video: GmailBox met Zapier en Adafruit: 14 stappen

Video: GmailBox met Zapier en Adafruit: 14 stappen
Video: New Products 8/15/18 Featuring Adafruit #HalloWing #M0 Express! @adafruit #adafruit 2024, November
Anonim
GmailBox Met Zapier en Adafruit
GmailBox Met Zapier en Adafruit

In deze instructable zal ik je stap voor stap uitleggen hoe je een Gmail-notifier bouwt met de ESP8266.

Wat heb je nodig:

- Gmail-account

- Zapier-account

- Adafruit-account

- Arduino IDE

- NodeMCU ESP8266

- Servomotor (ik gebruik de SG90)

- LED-licht (ik gebruik een Neopixel LED-strip, andere lichten zullen ook werken, maar hebben mogelijk een andere bibliotheek nodig)

Stap 1: Zapier instellen

Zapier instellen
Zapier instellen
Zapier instellen
Zapier instellen

Maak een Zapier-account aan en maak een nieuwe Zap aan. Je hebt Zapier nodig om gegevens van Gmail te ontvangen en dat gaat daarna naar Adafruit. Hierover later meer.

Stap 2: Een trigger maken

Een trigger maken
Een trigger maken
Een trigger maken
Een trigger maken

We willen er zeker van zijn dat als je een e-mail ontvangt in Gmail, er iets anders gaat gebeuren, dus je hebt je Gmail-account nodig. Kies in je nieuwe Zap Gmail als applicatietrigger en meld je aan bij Gmail.

Stap 3: Zapier verbinden met Adafruit

Zapier verbinden met Adafruit
Zapier verbinden met Adafruit
Zapier verbinden met Adafruit
Zapier verbinden met Adafruit
Zapier verbinden met Adafruit
Zapier verbinden met Adafruit

Nu wil je de gegevens die je in Gmail hebt ontvangen naar Adafruit sturen. Zoek in de sectie "Doe dit" naar Adafruit en maak verbinding met uw Adafruit-account. Selecteer vervolgens 'Feedgegevens maken' als actiegebeurtenis.

Stap 4: Adafruit instellen

Adafruit instellen
Adafruit instellen
Adafruit instellen
Adafruit instellen
Adafruit instellen
Adafruit instellen

Ga nu naar io.adafruit.com en maak een account aan als je er nog geen hebt. Ga naar je feeds en maak een nieuwe feed aan. In dit geval is de naam van mijn feed "gmailbox", deze heb je later nodig.

Als u uw Adafruit Key niet kunt vinden, kunt u deze in de rechterbovenhoek vinden.

Stap 5: Feedgegevens van Zapier

Feedgegevens van Zapier
Feedgegevens van Zapier
Feedgegevens van Zapier
Feedgegevens van Zapier

Ga nu terug naar Zapier om uw feedgegevenssectie te ordenen. Kies bij de feed-toets de optie "Gebruik een aangepaste waarde". De "Custum Value For Feed Key" moet hetzelfde zijn als de naam van uw Feed in Adafruit, dus wees voorzichtig met hoofdletters.

Vul bij "Waarde" in wat u als waarde in Adafruit wilt zien. Dezelfde waarde zal later zichtbaar zijn in de seriële monitor in Arduino.

Stap 6: Testen met Zapier, Adafruit en Gmail

Testen met Zapier, Adafruit en Gmail
Testen met Zapier, Adafruit en Gmail
Testen met Zapier, Adafruit en Gmail
Testen met Zapier, Adafruit en Gmail

Nu kunt u uw Zap testen. Klik op Test & Continue (vergeet achteraf niet de Zap aan te zetten). Ga dan terug naar Adafruit naar je feed en onder de grafiek kun je zien of de gegevens zijn aangekomen. Nadat je je Zap hebt aangezet kun je dit ook testen door jezelf een mail te sturen.

Stap 7: Arduino instellen

Arduino instellen
Arduino instellen

Sluit uw ESP8266 aan en open Arduino. Maak een nieuwe schets en een nieuw tabblad zoals aangegeven in de afbeelding hierboven. Noem het "config.h" (je kunt het noemen wat je wilt). Plak de code hieronder in het tabblad "config".

Met deze code kun je verbinding maken met je WiFi en Adafruit. Ik heb het van een eerder gebruikt project. Ik gebruik het nog steeds en het werkt goed voor mij.

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

// bezoek io.adafruit.com als je een account moet aanmaken, // of als je je Adafruit IO-sleutel nodig hebt. #define IO_USERNAME "uw adafruit gebruikersnaam" #define IO_KEY "adafruit key" /****************************** WIFI ** ***********************************/ #define WIFI_SSID "uw wifi ssd" #define WIFI_PASS "wifi wachtwoord" #include "AdafruitIO_WiFi.h"

Stap 8: Uw NodeMCU instellen

Uw NodeMCU instellen
Uw NodeMCU instellen

Sluit de servomotor en de ledstrip aan op je ESP8266.

Draden van de servomotor (SG90): Bruin gaat in G (massa), Rood gaat in 3V, Oranje gaat in D6 (of een andere digitale pin). Ik heb ook wat extra kabels gebruikt voor verlenging.

Draden van de Neopixel: GDN gaat naar G (aarde), DIN gaat naar D4 (of een andere digitale pin), +5V gaat naar 3V.

Stap 9: Bibliotheken en hardware instellen

Ga nu naar je Arduino-schets die je zojuist hebt gemaakt. Eerst moet je de bibliotheken die je nodig hebt in de schets opnemen. Je hebt de config.h nodig die je zojuist hebt gemaakt, de bibliotheek voor de ESP8622 en voor de Neopixel LED-strip.

Dit zet je als volgt in de code:

#include "config.h"

#include #include

Vervolgens ga je de hardware die je gebruikt opnemen

#erbij betrekken

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 deze regel toe om deze schets te koppelen aan de feed in Adafruit:

AdafruitIO_Feed *gmailbox = io.feed ("uw feednaam");

Stap 10: Installatiecode ongeldig maken

In de "void setup" maak je verbinding met Adafruit, WiFi en zet je de servomotor op de toegewezen pin. Hierna kunt u in de seriële monitor controleren of er een verbinding tot stand is gebracht.

Ik raad je aan om de code opnieuw te typen in plaats van te kopiëren en plakken. Dit maakt het gemakkelijker om te onthouden voor later en je begint te leren wat je precies schrijft.

De code ziet er als volgt uit:

ongeldige setup() {

// plaats hier uw setup-code om een keer uit te voeren: // start de seriële verbinding met de seriële monitor Serial.begin(115200) // wacht tot de seriële monitor wordt geopend while(!Serial); // maak verbinding met io.adafruit.com Serial.print ("Verbinding maken met Adafruit IO"); io.connect(); // stel een berichthandler in voor de feed 'uw feednaam'. // de handleMessage-functie (hieronder gedefinieerd) wordt aangeroepen wanneer een bericht // wordt ontvangen van Adafruit. // wacht op verbinding while(io.status() get(); // de pin van de servomotor servo.attach(D6); servo.write(0); nameofyourfeed->onMessage(handleMessage);}

Stap 11: Luscode ongeldig maken

Vervolgens moet je ervoor zorgen dat Adafruit constant draait, we moeten dit in de lege lus plaatsen, zodat ik constant draait.

Doe dit als volgt:

lege lus() {

// plaats hier je hoofdcode om herhaaldelijk uit te voeren: io.run(); }

Stap 12: De functie voor de servomotor en LED's als uitgang

Nu gaan we ervoor zorgen dat wanneer u een e-mail ontvangt, de servomotor en de LED's zullen reageren. We gaan een functie maken die hiervoor zorgt. De functie krijgt de naam "handleMessage" die we eerder in de code hebben gebruikt. We zullen de waarde gebruiken die we hier zien Adafruit.

Als u een nieuwe e-mail ontvangt, moet de servomotor een draai van 90 graden maken en moeten de LED's oplichten. Voor de LED's gebruiken we rood als kleur, maar je kunt het veranderen in wat je maar wilt. Je wilt er ook voor zorgen dat niet alleen de eerste LED van de strip aan is, maar dat je hem in een lus moet plaatsen om de hele strip te verlichten.

En nogmaals, probeer de code opnieuw te typen in plaats van deze te kopiëren en plakken.

De code ziet er als volgt uit:

void handleMessage (AdafruitIO_Data * data) {

if (data > 0) { servo.write(90); vertraging (1000); Serial.println("Je hebt mail!"); for(int i = 0; i

Stap 13: Upload naar uw NodeMCU en test het

Upload naar uw NodeMCU en test het
Upload naar uw NodeMCU en test het

Upload de schets naar uw ESP8266. Dit doe je door op de naar rechts wijzende pijl naast het vinkje in de linker bovenhoek te klikken.

Daarna kunt u proberen uzelf een e-mail te sturen om het te testen en te controleren of het werkt.

Stap 14: de finishing touch

U bent klaar met het codeergedeelte. Creatief voelen? Bouw een brievenbusbehuizing voor wat je net hebt gemaakt en plak een vlaggetje op de servomotor. Elke keer dat u een e-mail ontvangt, gaat de vlag omhoog!

Bedankt voor het volgen van deze handleiding en ik hoop dat het heeft geholpen.

Aanbevolen: