Spisu treści:
- Krok 1: Stwórz i skonfiguruj swoje kanały Thingspeak
- Krok 2: Skonfiguruj Arduino IDE, biblioteki i skonfiguruj BME280
- Krok 3: Zaprogramuj ESP8266 za pomocą Arduino IDE
- Krok 4: Wróć do Thingspeak, aby poprawić dane
- Krok 5: Edytuj dostarczony plik HTML
Wideo: ESP8266 NodeMCU ze wskaźnikami BME280 i wykresem: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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
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
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
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
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 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:
Zegar z wykresem słupkowym IOT (ESP8266 + obudowa z nadrukiem 3D): 5 kroków (ze zdjęciami)
Zegar wykresu słupkowego IOT (ESP8266 + obudowa z nadrukiem 3D): Cześć, W tej instrukcji wyjaśnię, jak zbudować zegar wykresu słupkowego LED IOT 256. Ten zegar nie jest bardzo trudny do wykonania, nie jest zbyt drogi, ale musisz być cierpliwy, aby podać godzinę ^^ ale jest przyjemny w wykonaniu i pełen nauki.Aby ma
Bitcoin Ticker z wykresem: 8 kroków
Bitcoin Ticker With Graph: zrobiłem to w oparciu o projekt paska cenowego BTC, który uzyskuje informacje o cenie z coinmarketcap.com, pierwotnie napisanego przez Briana Lougha. Użył ESP8266, który jest płytą kompatybilną z Arduino, która ma wbudowane WiFi. Jak opisuje
Sterowanie 6 potężnymi wskaźnikami LASEROWYMI za pomocą ARDUINO Easy: 4 kroki
Sterowanie 6 potężnymi wskaźnikami laserowymi za pomocą ARDUINO Easy: Chciałbym pokazać, jak łatwo kontrolować do 6 wskaźników laserowych za pomocą wielofunkcyjnego POWER SHIELD 6+6T800 dla Arduino firmy V-VTECH. Używane części: 1 jednostka Arduino UNO, MEGA, NANO *może być dowolna tego typu deska1 jednostka Wielofunkcyjna POWER SHIELD
ZRÓB WŁASNY SYSTEM MONITOROWANIA PH I ZAsolenia ZE WSKAŹNIKAMI LED: 4 kroki
ZRÓB WŁASNY SYSTEM MONITOROWANIA PH I ZAsolenia ZE WSKAŹNIKAMI LED: W tym projekcie stworzymy system monitorowania pH i zasolenia/przewodności ze wskaźnikami LED. Stosowane są czujniki pH i zasolenia firmy Atlas Scientific. Działanie odbywa się za pośrednictwem protokołu I2C, a odczyty są wyświetlane na monitorze szeregowym Arduino
Zbuduj czujnik temperatury Apple HomeKit (BME280) za pomocą RaspberryPI i BME280: 5 kroków
Zbuduj czujnik temperatury Apple HomeKit (BME280) za pomocą RaspberryPI i BME280: Przez ostatnie kilka miesięcy bawiłem się urządzeniami IOT i wdrożyłem około 10 różnych czujników do monitorowania warunków w moim domu i domku. I początkowo zacząłem używać czujnika wilgotności AOSONG DHT22