Spisu treści:

GmailBox z Zapier i Adafruit: 14 kroków
GmailBox z Zapier i Adafruit: 14 kroków

Wideo: GmailBox z Zapier i Adafruit: 14 kroków

Wideo: GmailBox z Zapier i Adafruit: 14 kroków
Wideo: Welcome to WipperSnapper #adafruit 2024, Listopad
Anonim
GmailBox z Zapier i Adafruit
GmailBox z Zapier i Adafruit

W tej instrukcji wyjaśnię krok po kroku, jak zbudować powiadamiacz Gmaila za pomocą ESP8266.

Czego potrzebujesz:

- Konto Gmail

- Konto Zapier

- Konto Adafruit

- Arduino IDE

- NodeMCU ESP8266

- Serwomotor (używam SG90)

- Oświetlenie LED (używam taśmy LED Neopixel, inne światła również będą działać, ale mogą wymagać innej biblioteki)

Krok 1: Konfiguracja Zapier

Konfiguracja Zapier
Konfiguracja Zapier
Konfiguracja Zapier
Konfiguracja Zapier

Załóż konto Zapier i stwórz nowego Zapa. Będziesz potrzebował Zapier do odbierania danych z Gmaila, które potem trafią do Adafruit. Więcej o tym później.

Krok 2: Tworzenie wyzwalacza

Tworzenie wyzwalacza
Tworzenie wyzwalacza
Tworzenie wyzwalacza
Tworzenie wyzwalacza

Chcemy mieć pewność, że jeśli otrzymasz wiadomość e-mail w Gmailu, stanie się coś innego, więc będziesz potrzebować swojego konta Gmail. W nowym Zapa wybierz Gmaila jako wyzwalacz aplikacji i zaloguj się do Gmaila.

Krok 3: Łączenie Zapiera z Adafruit

Łączenie Zapier z Adafruit
Łączenie Zapier z Adafruit
Łączenie Zapier z Adafruit
Łączenie Zapier z Adafruit
Łączenie Zapier z Adafruit
Łączenie Zapier z Adafruit

Teraz chcesz wysłać dane, które otrzymałeś w Gmailu do Adafruit. W sekcji „Zrób to” wyszukaj Adafruit i połącz się ze swoim kontem Adafruit. Następnie wybierz „Utwórz dane pliku danych” jako zdarzenie działania.

Krok 4: Konfigurowanie Adafruit

Konfigurowanie Adafruit
Konfigurowanie Adafruit
Konfigurowanie Adafruit
Konfigurowanie Adafruit
Konfigurowanie Adafruit
Konfigurowanie Adafruit

Teraz wejdź na io.adafruit.com i utwórz konto, jeśli jeszcze go nie masz. Przejdź do swoich kanałów i utwórz nowy kanał. W tym przypadku nazwa mojego kanału to „gmailbox”, będziesz potrzebować go później.

Jeśli nie możesz znaleźć klucza Adafruit, możesz go znaleźć w prawym górnym rogu.

Krok 5: Podawanie danych z Zapier

Dane kanału z Zapier
Dane kanału z Zapier
Dane kanału z Zapier
Dane kanału z Zapier

Teraz wróć do Zapiera, aby uporządkować sekcję danych kanału. W kluczu pliku danych wybierz opcję „Użyj wartości niestandardowej”. „Wartość niestandardowa klucza kanału” musi być taka sama jak nazwa z Twojego kanału w Adafruit, więc uważaj na duże litery.

W polu „Wartość” wpisz wat, który chcesz widzieć jako wartość w Adafruit. Ta sama wartość będzie później widoczna na monitorze szeregowym w Arduino.

Krok 6: Testowanie za pomocą Zapier, Adafruit i Gmail

Testowanie za pomocą Zapier, Adafruit i Gmail
Testowanie za pomocą Zapier, Adafruit i Gmail
Testowanie za pomocą Zapier, Adafruit i Gmail
Testowanie za pomocą Zapier, Adafruit i Gmail

Teraz możesz przetestować swojego Zapa. Kliknij Test & Continue (nie zapomnij później włączyć Zap). Następnie wróć do Adafruit do swojego kanału i pod wykresem możesz zobaczyć, czy dane dotarły. Po włączeniu Zapa możesz to również przetestować, wysyłając do siebie e-mail.

Krok 7: Konfiguracja Arduino

Konfiguracja Arduino
Konfiguracja Arduino

Podłącz swój ESP8266 i otwórz Arduino. Utwórz nowy szkic i nową kartę, jak pokazano na powyższym obrazku. Nazwij go "config.h" (możesz nazwać go jak chcesz). Wklej poniższy kod w zakładce "config".

Za pomocą tego kodu możesz połączyć się z Wi-Fi i Adafruit. Dostałem go z wcześniej używanego projektu. Nadal go używam i u mnie działa dobrze.

/************************* Konfiguracja we/wy Adafruit ********************** **********/

// odwiedź io.adafruit.com, jeśli chcesz utworzyć konto, // lub jeśli potrzebujesz klucza Adafruit IO. #define IO_USERNAME "Twoja nazwa użytkownika adafruit" #define IO_KEY "klucz adafruit" /*********************************** WIFI ** ************************************/ #define WIFI_SSID "Twój ssd Wi-Fi" #define WIFI_PASS "Wi-Fi hasło" #include "AdafruitIO_WiFi.h"

Krok 8: Konfiguracja NodeMCU

Konfigurowanie Twojego NodeMCU
Konfigurowanie Twojego NodeMCU

Podłącz serwomotor i taśmę LED do swojego ESP8266.

Przewody z serwomotoru (SG90): Brązowy wchodzi w G (masa), Czerwony wchodzi w 3V, Pomarańczowy wchodzi w D6 (lub inny pin cyfrowy). Użyłem też kilku dodatkowych kabli do przedłużenia.

Przewody z Neopixela: GDN idzie do G (masa), DIN idzie do D4 (lub inny pin cyfrowy), +5V idzie do 3V.

Krok 9: Konfiguracja bibliotek i sprzętu

Teraz przejdź do swojego szkicu Arduino, który właśnie utworzyłeś. Najpierw musisz uwzględnić w szkicu potrzebne biblioteki. Potrzebny będzie plik config.h, który właśnie utworzyłeś, biblioteka dla ESP8622 i dla taśmy LED Neopixel.

Umieszczasz to w kodzie w następujący sposób:

#include "config.h"

#włącz #włącz

Następnie dołączysz sprzęt, którego używasz

#włączać

serwomechanizm; #define PIXEL_PIN D4 #define PIXEL_COUNT 10 #define PIXEL_TYPE NEO_GRB + NEO_KHZ800 Adafruit_NeoPixel piksele = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, PIXEL_TYPE);

Dodaj tę linię, aby połączyć ten szkic z kanałem w Adafruit:

AdafruitIO_Feed *gmailbox = io.feed("nazwa twojego kanału");

Krok 10: Unieważnij kod konfiguracji

W „void setup” połączysz się z Adafruit, WiFi i ustawisz serwomotor na przypisany pin. Następnie możesz sprawdzić na monitorze szeregowym, czy połączenie zostało nawiązane.

Radzę przepisać kod zamiast go kopiować i wklejać. Ułatwia to zapamiętanie na później i zaczynasz uczyć się dokładnie tego, co piszesz.

Kod będzie wyglądał tak:

pusta konfiguracja () {

// wstaw tutaj swój kod konfiguracyjny do jednorazowego uruchomienia: // uruchom połączenie szeregowe z monitorem szeregowym Serial.begin(115200) // czekaj na otwarcie monitora szeregowego while(!Serial); // połącz się z io.adafruit.com Serial.print("Łączenie z IO Adafruit"); io.connect(); // skonfiguruj moduł obsługi wiadomości dla kanału „nazwa twojego kanału”. // funkcja handleMessage (zdefiniowana poniżej) będzie wywoływana za każdym razem, // odebraną wiadomość od Adafruit. // czekaj na połączenie while(io.status() get()); // pin serwomotoru servo.attach(D6); servo.write(0); nameofyourfeed->onMessage(handleMessage); }

Krok 11: Unieważnianie kodu pętli

Następnie upewnij się, że Adafruit cały czas działa, musimy umieścić to w pętli void, abym działał bez przerwy.

Zrób to w następujący sposób:

pusta pętla () {

// umieść tutaj swój główny kod, aby uruchamiał się wielokrotnie: io.run(); }

Krok 12: Funkcja serwomotoru i diod LED jako wyjście

Teraz upewnimy się, że gdy otrzymasz wiadomość e-mail, serwomotor i diody LED zareagują. Stworzymy funkcję, która to zapewni. Funkcja będzie miała nazwę „handleMessage”, której użyliśmy wcześniej w kodzie. Użyjemy wartości, którą widzimy tutaj Adafruit.

Jeśli otrzymasz nową wiadomość e-mail, serwomotor musi wykonać obrót o 90 stopni, a diody LED muszą się zaświecić. W przypadku diod LED używamy koloru czerwonego, ale możesz go zmienić na co tylko chcesz. Chcesz również upewnić się, że nie tylko pierwsza dioda LED na pasku jest włączona, więc musisz umieścić ją w pętli, aby oświetlić cały pasek.

I znowu spróbuj ponownie wpisać kod zamiast go kopiować i wklejać.

Kod będzie wyglądał tak:

void handleMessage(AdafruitIO_Data *dane) {

if (dane > 0) { servo.write(90); opóźnienie (1000); Serial.println("Masz pocztę!"); for(int i = 0; i

Krok 13: Prześlij do NodeMCU i przetestuj go

Prześlij do swojego NodeMCU i przetestuj go
Prześlij do swojego NodeMCU i przetestuj go

Prześlij szkic do swojego ESP8266. Możesz to zrobić, klikając prawą strzałkę wskazującą obok znacznika wyboru w lewym górnym rogu.

Następnie możesz spróbować wysłać do siebie e-mail, aby go przetestować i upewnić się, że działa.

Krok 14: Ostatni szlif

Skończyłeś z kodowaniem. Czujesz się kreatywny? Zbuduj obudowę skrzynki pocztowej na to, co właśnie zrobiłeś i przyklej flagę na serwomotorze. Flaga będzie się podnosić za każdym razem, gdy otrzymasz wiadomość e-mail!

Dziękuję za przestrzeganie tej instrukcji i mam nadzieję, że pomogła.

Zalecana: