Inhoudsopgave:
- Stap 1: Zapier instellen
- Stap 2: Een trigger maken
- Stap 3: Zapier verbinden met Adafruit
- Stap 4: Adafruit instellen
- Stap 5: Feedgegevens van Zapier
- Stap 6: Testen met Zapier, Adafruit en Gmail
- Stap 7: Arduino instellen
- Stap 8: Uw NodeMCU instellen
- Stap 9: Bibliotheken en hardware instellen
- Stap 10: Installatiecode ongeldig maken
- Stap 11: Luscode ongeldig maken
- Stap 12: De functie voor de servomotor en LED's als uitgang
- Stap 13: Upload naar uw NodeMCU en test het
- Stap 14: de finishing touch
Video: GmailBox met Zapier en Adafruit: 14 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
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
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
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
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
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
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
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
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 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:
IoT-luchtverfrisser (met NodeMCU, Arduino, IFTTT en Adafruit.io): 15 stappen (met afbeeldingen)
IoT-luchtverfrisser (met NodeMCU, Arduino, IFTTT en Adafruit.io): Instructables Wireless Contest 2017 winnaar van de eerste prijs!!!: DNieuwe nu beschikbaar: IoT-klok met weersvoorspelling! Check it out: https://www.instructables.com/id/Minimalist-IoT-Clock-using-ESP8266-Adafruitio-IFTT/Het is geruststellend om een frag
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
Wi-Fi Smart Scale (met ESP8266, Arduino IDE, Adafruit.io en IFTTT): 18 stappen (met afbeeldingen)
Wi-Fi Smart Scale (met ESP8266, Arduino IDE, Adafruit.io en IFTTT): Als het al zomer is waar je woont, is het waarschijnlijk een geweldige tijd voor fitnessactiviteiten in de buitenlucht. Hardlopen, fietsen of joggen zijn geweldige sporters om in vorm te komen. En als je je huidige gewicht wilt verliezen of onder controle wilt houden, is het essentieel om te k
Minimalistische IoT-klok (met ESP8266, Adafruit.io, IFTTT en Arduino IDE): 10 stappen (met afbeeldingen)
Minimalistische IoT-klok (met ESP8266, Adafruit.io, IFTTT en Arduino IDE): In deze tutorial laat ik zien hoe je een minimalistische klok kunt maken die gesynchroniseerd is met internet. Ik heb het getest met twee verschillende op ESP8266 gebaseerde boards: Firebeetle en NodeMCU. De microcontroller krijgt de huidige tijd van een Google-server en geeft deze weer op een
Programmeerbare RGB LED-sequencer (met Arduino en Adafruit Trellis): 7 stappen (met afbeeldingen)
Programmeerbare RGB LED-sequencer (met Arduino en Adafruit Trellis): mijn zonen wilden gekleurde LED-strips om hun bureau te verlichten, en ik wilde geen ingeblikte RGB-stripcontroller gebruiken, omdat ik wist dat ze zich zouden vervelen met de vaste patronen deze regelaars hebben. Ik dacht ook dat het een geweldige kans zou zijn om