Spisu treści:

ESP8266 NodeMCU ze wskaźnikami BME280 i wykresem: 5 kroków
ESP8266 NodeMCU ze wskaźnikami BME280 i wykresem: 5 kroków

Wideo: ESP8266 NodeMCU ze wskaźnikami BME280 i wykresem: 5 kroków

Wideo: ESP8266 NodeMCU ze wskaźnikami BME280 i wykresem: 5 kroków
Wideo: incan easy najlepszy soft do puszki 230v Supla instrukcja 2024, Listopad
Anonim
ESP8266 NodeMCU ze wskaźnikami i wykresem BME280
ESP8266 NodeMCU ze wskaźnikami i wykresem BME280
ESP8266 NodeMCU ze wskaźnikami i wykresem BME280
ESP8266 NodeMCU ze wskaźnikami i wykresem BME280

Fantazyjne wskaźniki i wykres dla płytki rozwojowej ESP8266 NodeMCU z czujnikiem temperatury, wilgotności i ciśnienia BME280. Thingspeak będzie przechowywać wszystkie Twoje dane w chmurze w celu ich odzyskania w dowolnym momencie przez lata (miejmy nadzieję) nadchodzących. Wskaźniki i wykres są wypełniane z danych przechowywanych w Thingspeak i są aktualizowane automatycznie co 5 minut.

Potrzebne przedmioty:

Płytka rozwojowa ESP8266 NodeMCU (3,79 USD od Banggood.com w Hongkongu)

Bosch BME280 (5,63 USD od Banggood.com w Hongkongu)

Swetry do chleba (3,09 USD od Banggood.com w Hongkongu)

Deska do krojenia chleba (2,28 USD od Banggood.com w Hongkongu)

Zasilanie, bezpłatne, jeśli masz ładowarkę do telefonu micro USB

Kabel Micro USB, bezpłatny, jeśli już go masz

Arduino IDE, bezpłatne pobieranie

Pobierz pliki kodu.ino i. HTML tutaj

Krok 1: Stwórz i skonfiguruj swoje kanały Thingspeak

Twórz i konfiguruj swoje kanały Thingspeak
Twórz i konfiguruj swoje kanały Thingspeak

1. Utwórz bezpłatne konto Thingspeak i nowy kanał na https://thingspeak.com, Zadzwoń na kanał "ESP8266-NodeMCU-12E-BME280"

2. Nowy kanał powinien mieć 3 pola o nazwie Temperatura Wilgotność Ciśnienie w określonej kolejności (Uwaga Pierwsza litera).

3. Zanotuj swój nowy „identyfikator kanału” XXXXXX w „Ustawieniach kanału”

4. Kliknij łącze „Klucze API” i zanotuj „Zapis API” i „Odczyt kluczy API” XXXXXXXXXXXXXXX. Ustaw również ten kanał jako publiczny w ramach udostępniania.

5. Utwórz drugi kanał Thingspeak, który będzie przechowywać dane „Dzisiaj” (od północy) High Low. Nazwij to „BME280 Daily High Low Data”

6. Ten nowy kanał powinien mieć 6 pól o nazwie Tmax Tmin Hmax Hmin Pmax Pmin w określonej kolejności (wielkość pierwszej litery).

7. Zwróć uwagę na „BME280 Daily High Low Data”, „ID kanału”, „Odczyt” i „Zapis kluczy API”, tak jak w powyższych krokach.

Krok 2: Skonfiguruj Arduino IDE, biblioteki i skonfiguruj BME280

Skonfiguruj Arduino IDE, biblioteki i skonfiguruj BME280
Skonfiguruj Arduino IDE, biblioteki i skonfiguruj BME280

8. Postępuj zgodnie z instrukcjami instalacji rdzenia Arduino IDE i ESP8266 na stronie

9. Uruchom Arduino IDE, abyśmy mogli zainstalować cztery potrzebne nam biblioteki.

10. Będziesz potrzebował biblioteki "Adafruit Unified Sensor Driver", zainstaluj ją w "Library Manager" w Arduino IDE. Menu Sketch Dołącz bibliotekę Zarządzaj bibliotekami wykonaj wyszukiwanie według typu = "Recommended" Topic = "Sensors", a następnie wpisz słowa Adafruit Unified Sensor Driver w polu wyszukiwania. Ten, który chcesz, mówi „Adafruit Unified Sensor Driver firmy Adafruit”

11. Dodatkowo będziesz również wymagał zainstalowania "Adafruit BME280 Library" w "Library Manager" w Arduino IDE. Menu Szkic Dołącz Bibliotekę Zarządzaj Bibliotekami wykonaj wyszukiwanie według Typ = "Zalecane" Temat = "Czujniki" następnie wpisz słowa Adafruit BME280 Library w polu wyszukiwania. Ten, który chcesz, mówi „Biblioteka Adafruit BME280 autorstwa Adafruit”

12. Kolejną potrzebną biblioteką jest Wire.h, zainstaluj ją w "Library Manager" w Arduino IDE. Menu, Szkic Dołącz bibliotekę Zarządzaj bibliotekami Przeprowadź wyszukiwanie według typu = "Wkład" Topic = "Wejście/wyjście sygnału", a następnie wpisz słowo Wire w polu wyszukiwania. Ten, który chcesz, to „Wire Built-in by Arduino” Najprawdopodobniej na dole zaznaczenia.

13. Jeszcze jedna biblioteka, ESP8266WiFi, zainstaluj ją w "Menedżerze bibliotek" w Arduino IDE. Menu, Szkic Dołącz bibliotekę Zarządzaj bibliotekami Wykonaj wyszukiwanie według typu = „Współpraca” Temat = „Komunikacja”, a następnie wpisz słowo ESP8266wifi w polu wyszukiwania. Ten, który chcesz, mówi „ESP8266wifi Built-in by Ivan Grokhotkov”

14. Adres I2C dla BME280 jest zakodowany na sztywno w pliku Adafruit_BME280.h (poszukaj linii #define BME280_ADDRESS 0x77) wewnątrz folderu Adafruit_BME280_Library. Moduły czujników BME firmy Adafruit są okablowane na stałe do używania adresu I2C 0x77. Ale BME280 może mieć nieco inny adres I2C (0x76), jeśli jego zewnętrzny pin SDO jest uziemiony. Jeśli używasz modułów czujników od strony trzeciej, prawdopodobnie ich adres nie będzie pasował do domyślnej wartości w bibliotece Adafruit. Na przykład większość modułów czujników BME280 dostępnych na eBayu lub Aliexpressie ma adres I2C równy 0x76. Jeśli nie otrzymasz odpowiedzi z czujnika przy użyciu domyślnego adresu ustawionego w pliku Adafruit_BME280.h, być może będziesz musiał zmienić go na 0x76.

Punkty przyłączeniowe BME280 i ESP8266. ESP8266 3,3 V do BME280 Vin, ESP8266 GND do BME280 GND, ESP8266 D4 do BME280 SCL, ESP8266 D3 do BME280 SDA. 15. Otwórz dostarczony plik ESP8266-NodeMCU-12E-BME280.html w edytorze tekstu i wprowadź „ESP8266-NodeMCU-12E-BME280” (pierwszy utworzony kanał) „ID kanału” i „Odczyt klucza API” dla zmienne klucz1 i kanał1. Wprowadź również "Read API Key" i "Channel ID" dla "BME280 Daily High Low Data" (drugi kanał, który utworzyłeś) dla key2 i chan2. Ponadto wprowadź przesunięcie strefy czasowej względem UTC. Jak w -5 dla mnie. Wszystkie wartości muszą znajdować się w podanych pojedynczych cudzysłowach „XXXXX”. Zapisz i wyjdź z edytora tekstu.

Podłącz ESP8266 za pomocą kabla USB do komputera, a następnie wybierz port szeregowy jako port USB.

Użytkownicy Linuksa mogą być zmuszeni do zmiany własności portu USB, aby komunikować się z /dev/ttyUSB0, tak jak w 'sudo chown yourusername /dev/ttyUSB0' lub cokolwiek, co wybrałeś jako port w konfiguracji.

Krok 3: Zaprogramuj ESP8266 za pomocą Arduino IDE

Zaprogramuj ESP8266 za pomocą Arduino IDE
Zaprogramuj ESP8266 za pomocą Arduino IDE

16. Następnie zaprogramujemy ESP8266. Podłącz kabel USB między ESP8266 a komputerem.

Załaduj dostarczony plik New_BME_Sensor.ino do Arduino IDE. Twój czujnik BME280 powinien być podłączony do D3 (SDA) i D4 (SCL) w ESP8266. Wprowadź swój „ESP8266-NodeMCU-12E-BME280” (pierwszy utworzony kanał) „Klucz zapisu” „Wireless SSID” i „Hasło” we właściwej sekcji szkicu. Następnie kliknij pozycję menu „Szkic” i „Prześlij”. Po przesłaniu szkicu (postęp osiąga 100%) do swojego ESP8266 możesz otworzyć monitor szeregowy (ikona w prawym górnym rogu wygląda jak szkło powiększające) i zobaczyć wydruk danych po 5 minutach, co 5 minut. Dane są wysyłane do rzeczy szczytowej w odstępach 5 minut, więc minie trochę czasu, zanim będziesz mieć znaczące dane na wykresie, ale powinieneś mieć odczyty miernika po 5 minutach.

Upewnij się, że otrzymujesz prawidłowe odczyty z BME280 na monitorze szeregowym.

Pierwszy pomiar będzie prawdopodobnie nieprawidłowym nan.

Poczekaj kilka minut do następnego odczytu i sprawdź, czy odczyty wyglądają dobrze.

Krok 4: Wróć do Thingspeak, aby poprawić dane

Wróć do Thingspeak, aby poprawić dane
Wróć do Thingspeak, aby poprawić dane

17. Teraz, podczas gdy dane powoli ładują się do rzeczy, zróbmy kilka poprawek, aby uzyskać dodatkowe dane z tego, co jest przesyłane. Wróć do strony internetowej thingspeak i na stronie kanału Thingspeak „BME280 Daily High Low Data” (drugi utworzony kanał) kliknij zielony przycisk „MATLAB Analysis”. Wybierz szablon „Niestandardowy (bez kodu startowego)”

18. Nazwij analizę MATLAB „Oblicz min. maks. od północy”.

19. Skopiuj kod MATLAB Analysis.txt w odpowiednie miejsce. Wprowadź „ID kanału” dla „ESP8266-NodeMCU-12E-BME280” (pierwszy utworzony kanał) do „readChannelID”. Wprowadź „BME280 Daily High Low Data” (drugi utworzony kanał) Wpisz „ID kanału” i „Write Key” odpowiednio w writeNewChannelID i writeAPIKey. Wiem, że brzmi to dezorientująco (przeczytaj to jeszcze raz). Kliknij Zapisz i uruchom. Jeśli zrobiłeś to poprawnie, a kanał odczytu jest publiczny, nie zobaczysz żadnych błędów i pomyślnie wypisze wartości. Uwaga, możesz zobaczyć błąd, jeśli żadne dane nie zostały jeszcze przesłane do tego kanału. Mimo błędu kontynuuj. W razie potrzeby możesz ponownie odwiedzić stronę Kliknij Zapisz i uruchom, aby upewnić się, że działa po przesłaniu danych.

20. Następnie musimy utworzyć "Kontrolę Czasu", aby uruchamiać ten kod co 5 minut, a nasze dane zostaną zapisane na kanale "BME280 Daily High Low Data" (drugi kanał, który utworzyłeś). Na stronie głównej „Dzienny wysoki niski poziom danych BME280” (drugi utworzony kanał) wybierz aplikacje u góry. Pod akcjami wybierz "TimeControl", a następnie zielony przycisk "New TimeControl". Nazwij go "Wyślij wysokie niskie temperatury ESP8266". W razie potrzeby wybierz strefę czasową i wybierz opcję „Cykliczne” w obszarze Częstotliwość. Wybierz Minuta w obszarze Cykl. Ustaw do uruchamiania co 5 minut. Akcją powinna być Analiza MATLAB, a „Kod do wykonania” to „Oblicz min. maks. od północy”. Oszczędzaj kontrolę czasu.

Krok 5: Edytuj dostarczony plik HTML

Edytuj dostarczony plik HTML
Edytuj dostarczony plik HTML

Edytuj pliki HTML i poszukaj komentarzy o treści „******** Zmień mnie 1 z 8 *********” Zmień je zgodnie z preferencjami.

Uwagi:

Niektóre pola tekstowe i wykres tygodniowy nie zostaną poprawnie wypełnione, dopóki nie uzyskasz danych z całego dnia i całego tygodnia dla sekcji i wykresu 24 godziny i tygodnia. Gdy masz już dużo danych, możesz powiększyć wykresy za pomocą kółka myszy (kliknij prawym przyciskiem myszy, aby zresetować). Możesz też mieć czwarty wskaźnik (jak widać na zrzutach ekranu) z innego czujnika z innego kanału, ale odciąłem odpowiednie fragmenty. Jeśli czujesz się dobrze, podłącz go. Należy również pamiętać o pewnych problemach z czasem. Prawdopodobnie nie będziesz mieć najbardziej aktualnych danych, ale zawsze powinny one mieć mniej niż 5 minut. Dzieje się to od momentu odpalenia kontroli czasu, kiedy dane zostały wysłane z ESP8266 oraz kiedy załadowałeś/odświeżyłeś stronę WWW.

Otwórz dostarczony plik ESP8266-NodeMCU-12E-BME280.html w przeglądarce internetowej i powinieneś zobaczyć wypełnione wskaźniki i wykres.

Pobierz pliki kodu.ino i. HTML tutaj

Zalecana: