- Wymagane składniki
- Schemat obwodu
- Konfiguracja Thinger.io dla rejestratora temperatury ESP8266
- Konfiguracja IFTTT dla rejestratora danych NodeMCU
- Programowanie NodeMCU do rejestrowania danych
- Rejestrowanie danych na Thinger.io z NodeMCU
- Tworzenie punktu końcowego w Thinger.io, aby wysłać alert e-mail
Wcześniej używaliśmy NodeMCU do rejestrowania danych temperatury w arkuszu Google. Teraz wyślemy dane do chmury Thinger.io IoT i wyświetlimy je w atrakcyjnym formacie graficznym. Czujnik BMP180 jest połączony z NodeMCU ESP8266 w celu gromadzenia danych dotyczących temperatury, wilgotności i wysokości, które zostaną przesłane na platformę Thinger.io. W tym samouczku dowiemy się, jak zarządzać różnymi funkcjami platformy thinger.io, takimi jak urządzenia, punkty końcowe, zasobniki danych lub tokeny dostępu.
Wymagane składniki
- NodeMCU ESP8266
- BMP180 Czujnik ciśnienia
- Przewody połączeniowe
- Płytka prototypowa
Schemat obwodu
Schemat obwodu tego rejestratora danych ESP8266 jest bardzo prosty, tutaj tylko czujnik BMP180 jest połączony z NodeMCU.
Czujnik BMP180 wykorzystuje protokół komunikacyjny I2C. Musisz więc podłączyć piny SCL i SDA BMP180 do pinów SCL i SDA (D1 i D2) NodeMCU. Podłącz również styki V IN i GND BMP180 do 3,3 V i GND NodeMCU. Nie podłączaj czujnika bezpośrednio do 5 V, ponieważ może to trwale uszkodzić czujnik.
Aby dowiedzieć się więcej o NodeMCU, sprawdź różne projekty IoT oparte na NodeMCU ESP8266.
Konfiguracja Thinger.io dla rejestratora temperatury ESP8266
Thinger.io to platforma typu open source dla Internetu rzeczy. Zapewnia wszystkie potrzebne narzędzia do prototypowania, skalowania i zarządzania połączonymi produktami w bardzo prosty sposób. Thinger.io zapewnia trzy podstawowe narzędzia, tj. Data Bucks, Dashboard i Endpoint do pracy z danymi urządzeń; narzędzia te mogą być używane do wizualizacji danych urządzenia i rozszerzania interoperacyjności urządzeń.
Data Bucks: Narzędzie Data Bucks może służyć do przechowywania danych urządzeń w skalowalny sposób, programowania różnych interwałów próbkowania lub rejestrowania zdarzeń wywoływanych przez urządzenia.
Pulpit nawigacyjny: narzędzie Dashboard zawiera panele z konfigurowalnymi widżetami, które można utworzyć w ciągu kilku minut za pomocą technologii przeciągnij i upuść w celu wizualizacji przechowywanych danych w czasie rzeczywistym.
Punkty końcowe: Punkty końcowe mogą być wykorzystywane do integracji platformy z innych usług, takich jak IFTTT, niestandardowych stron internetowych, wiadomości e-mail, lub zadzwoń do innych urządzeń.
W tym zapisie ESP8266 zamierzamy zbadać te narzędzia.
Aby wysłać dane do Thinger.io, musisz utworzyć bezpłatne konto na platformie Thinger.io i wykonać poniższe kroki, aby podłączyć swoje urządzenie.
Krok 1: Pierwszym krokiem jest utworzenie nowego urządzenia. Aby utworzyć nowe urządzenie, kliknij opcję Urządzenia na karcie menu, a następnie kliknij przycisk Dodaj urządzenie.
Następnie wypełnij formularz, podając identyfikator urządzenia, opis i poświadczenia lub wygeneruj losowe poświadczenia dla swojego urządzenia i kliknij „ Dodaj urządzenie ”.
To wszystko; Twoje urządzenie jest gotowe do podłączenia. W następnym kroku zaprogramujemy NodeMCU do wysyłania danych na platformę Thinger.io.
Konfiguracja IFTTT dla rejestratora danych NodeMCU
Tutaj używamy IFTTT do wysyłania ostrzeżeń e-mail, gdy temperatura przekracza limit. IFTTT (If This Then That) to usługa internetowa, za pomocą której możemy tworzyć łańcuchy instrukcji warunkowych, zwane apletami. Korzystając z tych apletów, możemy wysyłać powiadomienia e-mail, Twitter, Facebook.
Aby skorzystać z IFTTT, zaloguj się na konto IFTTT, jeśli już je masz, lub utwórz konto.
Teraz wyszukaj „ Webhooks ” i kliknij opcję Webhooks w sekcji Usługi.
Następnie w oknie Webhooków kliknij „Dokumentacja” w prawym górnym rogu, aby uzyskać klucz prywatny. Skopiuj ten klucz, ten klucz będzie używany podczas tworzenia punktu końcowego w Thinger.io.
Następnie utwórz aplet za pomocą elementów Webhook i usług poczty e-mail . Aby utworzyć aplet, kliknij swój profil, a następnie kliknij „ Utwórz ” . '
Teraz w następnym oknie kliknij ikonę „ To ”. Teraz wyszukaj elementy Webhook w sekcji wyszukiwania i kliknij „ Webhooks ”.
Teraz wybierz wyzwalacz „ Odbierz żądanie sieciowe” i wprowadź nazwę zdarzenia jako tymczasową, a następnie kliknij utwórz wyzwalacz.
Następnie kliknij `` Następnie to '', a następnie kliknij E-mail.
Teraz w wiadomości e-mail kliknij „wyślij mi wiadomość e-mail” i wprowadź temat oraz treść wiadomości e-mail, a następnie kliknij opcję Utwórz akcję. W ostatnim kroku kliknij „ Zakończ ”, aby zakończyć konfigurację apletu.
Programowanie NodeMCU do rejestrowania danych
Pełny kod do wysyłania danych do Thinger.io znajduje się na końcu strony. Tutaj wyjaśniamy kilka ważnych części.
Uruchom kod, dołączając wszystkie wymagane biblioteki. ThingerESP8266.h służy do ustanowienia połączenia między platformą IoT i NodeMCU podczas Adafruit_BMP085.h służy do odczytu danych BMP czujnika. Możesz zainstalować bibliotekę ThingerESP8266.h z menedżera bibliotek Arduino IDE.
#zawierać
Następnie wprowadź dane uwierzytelniające w kodzie, aby urządzenie mogło zostać rozpoznane i powiązane z Twoim kontem.
#define USERNAME "Nazwa użytkownika twojego konta" #define DEVICE_ID "NodeMCU" // Nazwa twojego urządzenia #define DEVICE_CREDENTIAL "FcLySVkP8YFR"
Następnie wprowadź nazwę punktu końcowego. Punkt końcowy służy do integracji platformy z usługami zewnętrznymi, takimi jak IFTTT, żądanie HTTTP itp.
# zdefiniować EMAIL_ENDPOINT „IFTTT”
Zdefiniuj zmienne do przechowywania danych ciśnienia, temperatury i wysokości.
int ciśnienie, temperatura, wysokość;
Wewnątrz pustej pętli () odczytaj dane czujnika. Pson typ danych może pomieścić różne typy danych. Tak więc typ danych Pson jest używany do odbierania wielu wartości w tym samym czasie.
rzecz >> (pson & out) {out = bmp.readPressure () / 100; out = bmp.readAltitude (); out = bmp.readTemperature (); };
Użyj warunku if , aby wywołać punkt końcowy, jeśli wartość temperatury przekroczy 15 stopni. Tutaj dane to nazwa punktu końcowego.
if (Temperatura> 15) {thing.call_endpoint (EMAIL_ENDPOINT, "data");} Serial.print ("Wysyłanie danych");
Rejestrowanie danych na Thinger.io z NodeMCU
Teraz podłącz czujnik BMP do NodeMCU i prześlij kod. NodeMCU użyje poświadczeń twojego konta, aby połączyć się z urządzeniem, które utworzyłeś wcześniej. Jeśli połączy się pomyślnie, pokaże połączenie, jak pokazano na poniższym obrazku:
Możesz sprawdzić statystyki swojego urządzenia, takie jak przesłane dane, odebrane dane, adres IP, czas połączenia itp., Klikając nazwę urządzenia w menu Urządzenia.
Ponieważ teraz otrzymujemy dane, utworzymy pulpit nawigacyjny do wizualizacji danych za pomocą widżetów.
Aby utworzyć pulpit nawigacyjny, kliknij Pulpity nawigacyjne na karcie menu, a następnie kliknij „ Dodaj panel ”.
Teraz w następnym oknie wprowadź szczegóły pulpitu, takie jak nazwa pulpitu, identyfikator i opis, a następnie kliknij Pulpit.
Następnie uzyskaj dostęp do nowego pulpitu, klikając jego nazwę. Domyślnie pulpit nawigacyjny będzie pusty. Aby dodać widżety, musisz najpierw włączyć tryb edycji, klikając przełącznik w prawym górnym rogu pulpitu nawigacyjnego. Następnie kliknij przycisk „ Dodaj widżet” .
Po kliknięciu przycisku „ Dodaj widżet” wyświetli się wyskakujące okienko, w którym można wybrać typ widżetu, kolor tła itp. W moim przypadku wybrałem widżet Gauge.
Po kliknięciu Zapisz przeniesie Cię do następnego ekranu, na którym musisz wybrać wartość źródłową, urządzenie, zasób, wartość i tryb odświeżania. Wybierz wszystkie wartości, a następnie kliknij przycisk Zapisz.
Teraz powtórz tę samą procedurę dla pozostałych zmiennych. Mój dashboard wyglądał następująco:
Tworzenie punktu końcowego w Thinger.io, aby wysłać alert e-mail
Teraz utworzymy punkt końcowy, aby zintegrować Thinger.io z IFTTT. Urządzenie może wywołać punkt końcowy w celu wykonania dowolnej czynności, takiej jak wysłanie wiadomości e-mail, wysłanie wiadomości SMS, wywołanie interfejsu API REST, interakcja z IFTTT, wywołanie urządzenia z innego konta lub wywołanie dowolnego innego punktu końcowego
Aby utworzyć punkt końcowy, kliknij opcję „Punkt końcowy” na kartach menu, a następnie kliknij „Dodaj punkt końcowy”.
Teraz w następnym oknie wprowadź wymagane dane. Szczegóły to:
Identyfikator punktu końcowego: unikalny identyfikator punktu końcowego.
Opis punktu końcowego: napisz opis lub szczegółowe informacje o punkcie końcowym.
Typ punktu końcowego: Wybierz typ punktu końcowego z podanych opcji.
Nazwa zdarzenia Maker: wprowadź nazwę apletu IFTTT.
Maker Channel Key: Twój tajny klucz Webhooków.
Następnie kliknij Test Endpoint, aby sprawdzić, czy wszystko działa. Powinien wysłać e-mail z ostrzeżeniem o danych dotyczących temperatury.
Zamiast korzystać z wyzwalacza IFTTT Webhook, możesz wysłać wiadomość e-mail lub telegram lub możesz wysłać żądanie HTTP, korzystając z funkcji punktu końcowego.
W ten sposób można wykorzystać NodeMCU ESP8266 do rejestrowania danych dotyczących temperatury, ciśnienia i wysokości z czujnika BMP180 do Internetu.
Na końcu strony znajduje się działający film i kompletny kod.