İçindekiler:
- 1. Adım: Thingspeak Kanallarınızı Oluşturun ve Ayarlayın
- Adım 2: Arduino IDE'yi, Kitaplıkları kurun ve BME280'i yapılandırın
- Adım 3: ESP8266'yı Arduino IDE ile Programlayın
- Adım 4: Bazı Veri Ayarlarını Yapmak için Thingspeak'e Geri Dönün
- Adım 5: Sağlanan HTML Dosyasını Düzenleyin
Video: BME280 Göstergeleri ve Tablosu ile ESP8266 NodeMCU: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:21
BME280 Sıcaklık, Nem ve Basınç sensörlü ESP8266 NodeMCU Geliştirme kartınız için Fantezi Göstergeler ve Tablo. Thingspeak, tüm verilerinizi (umarız) gelecek yıllar boyunca herhangi bir zamanda almak için bulutta saklar. Göstergeler ve çizelge,thingspeak'te depolanan verilerden doldurulur ve her 5 dakikada bir otomatik olarak güncellenir.
Gerekli Öğeler:
ESP8266 NodeMCU Geliştirme kartı (Banggood.com Hong Kong'dan 3,79 $)
Bosch BME280 (Banggood.com Hong Kong'dan 5,63 $)
Breadboard Jumper'lar (Banggood.com Hong Kong'dan 3,09 $)
Breadboard (Banggood.com Hong Kong'dan 2,28 $)
Güç Kaynağı, Mikro USB telefon şarj cihazınız varsa Ücretsiz
Mikro USB kablosu, Zaten varsa ücretsiz
Arduino IDE, Ücretsiz İndirme
.ino ve. HTML kod dosyalarını buradan alın
1. Adım: Thingspeak Kanallarınızı Oluşturun ve Ayarlayın
1. https://thingspeak.com adresinde ücretsiz bir Thingspeak hesabı ve yeni kanal oluşturun, "ESP8266-NodeMCU-12E-BME280" kanalını arayın
2. Yeni kanal, bu özel sırada Sıcaklık Nem Basıncı adlı 3 alana sahip olmalıdır (İlk Harf büyük harfe dikkat edin).
3. "Kanal Ayarları" altındaki yeni "kanal kimliğinizi" XXXXXX not alın
4. "API Anahtarları" bağlantısını tıklayın ve "API Yazma" ve "API Anahtarlarını Oku" XXXXXXXXXXXXXXX'inizi not alın. Ayrıca, bunu paylaşım altında herkese açık bir kanal yapın.
5. "Bugün" (gece yarısından beri) Yüksek Düşük verilerini tutacak ikinci bir Thingspeak kanalı oluşturun. "BME280 Günlük Yüksek Düşük Veri" olarak adlandırın
6. Bu yeni kanal, Tmax Tmin Hmax Hmin Pmax Pmin olarak adlandırılan belirli bir sırayla 6 alana sahip olmalıdır (İlk Harf büyük harf kullanımına dikkat edin).
7. Tıpkı yukarıdaki adımlarda olduğu gibi "BME280 Günlük Yüksek Düşük Veri" "kanal kimliği", "Oku" ve "API anahtarlarını yaz"ı not edin.
Adım 2: Arduino IDE'yi, Kitaplıkları kurun ve BME280'i yapılandırın
8. Arduino IDE & ESP8266 çekirdeğini kurmak için https://easy-esp.com/getting-started-with-easyesp-… adresindeki talimatları izleyin.
9. Arduino IDE'yi çalıştırın, böylece ihtiyacımız olan dört kütüphaneyi kurabiliriz.
10. "Adafruit Unified Sensor Driver" kütüphanesine ihtiyacınız olacak, Arduino IDE'deki "Library Manager" içine kurun. Menü Taslak Kitaplığı Dahil Et Kitaplıkları Yönet Type = "Önerilen" Konu = "Sensörler"e göre bir arama yapar ve ardından arama kutusuna Adafruit Unified Sensor Driver kelimelerini yazın. İstediğiniz "Adafruit Unified Sensor Driver by Adafruit" diyor
11. Ayrıca, Arduino IDE'deki "Library Manager" içine "Adafruit BME280 Library" yüklemesini de isteyeceksiniz. Menü Taslak Kitaplığı Dahil Et Kitaplıkları Yönet Type = "Önerilen" Konu = "Sensörler"e göre bir arama yapar ve ardından arama kutusuna Adafruit BME280 Kitaplığı kelimesini yazın. İstediğinizde "Adafruit BME280 Library by Adafruit" yazıyor
12. İhtiyacınız olan bir diğer kütüphane Wire.h, Arduino IDE'deki "Library Manager" içine kurun. Menü, Taslak Kitaplığı Dahil Et Kitaplıkları Yönet Type = "Contributed" Topic = "Signal Input/Output" ile bir arama yapın ve ardından arama kutusuna Wire kelimesini yazın. İstediğiniz, büyük olasılıkla seçimin altında "Arduino Tarafından Yerleşik Tel" yazıyor.
13. Bir kitaplık daha, ESP8266WiFi, onu Arduino IDE'deki "Library Manager" içine kurun. Menü, Taslak Kitaplığı Dahil Et Kitaplıkları Yönet Tür = "Katkıda Bulunan" Konu = "İletişim" ile bir arama yapın, ardından arama kutusuna ESP8266wifi kelimesini yazın. İstediğiniz "ESP8266wifi Yerleşik Ivan Grokhotkov" diyor
14. BME280 için I2C adresi Adafruit_BME280.h dosyasında (#define BME280_ADDRESS 0x77 satırını arayın) Adafruit_BME280_Library klasöründe sabit kodlanmıştır. Adafruit'in BME sensör modülleri, 0x77'nin I2C adresini kullanacak şekilde kablolanmıştır. Ancak, harici SDO pini topraklanmışsa, BME280 biraz farklı bir I2C adresine (0x76) sahip olabilir. Üçüncü şahıslara ait sensör modüllerini kullanıyorsanız, adresinin Adafruit kütüphanesindeki varsayılan değerle eşleşmemesi muhtemeldir. Örneğin, eBay veya Aliexpress'de bulunan BME280 sensör modüllerinin çoğu için I2C adresleri 0x76'dır. Adafruit_BME280.h dosyasında ayarlanan varsayılan adresi kullanarak sensörden yanıt alamazsanız, onu 0x76 olarak değiştirmeniz gerekebilir.
BME280 ve ESP8266 Bağlantı Noktaları. ESP8266 3,3V - BME280 Vin, ESP8266 GND - BME280 GND, ESP8266 D4 - BME280 SCL, ESP8266 D3 - BME280 SDA. 15. Sağlanan ESP8266-NodeMCU-12E-BME280.html dosyasını bir metin düzenleyicide açın ve "ESP8266-NodeMCU-12E-BME280" (oluşturduğunuz ilk kanal) "Kanal Kimliği" & "API Anahtarını Oku" girin. değişkenler key1 & chan1. Ayrıca key2 ve chan2 için "BME280 Günlük Yüksek Düşük Veri" (oluşturduğunuz ikinci kanal) için "API Anahtarını Oku" ve "Kanal Kimliği"ni girin. Ayrıca, UTC'den saat dilimi farkınızı girin. Benim için -5'te olduğu gibi. Tüm değerler, sağlanan tek tırnak 'XXXXX' içinde olmalıdır. Metin düzenleyiciyi kaydedin ve çıkın.
ESP8266'nızı USB kablosuyla bilgisayarınıza takın ve ardından USB bağlantı noktası olarak seri bağlantı noktanızı seçin.
Linux kullanıcıları, /dev/ttyUSB0 ile 'sudo chown kullanıcı adınız /dev/ttyUSB0'da olduğu gibi veya kurulumda portunuz olarak ne seçtiyseniz, iletişim kurmak için USB portunun sahipliğini değiştirmek zorunda kalabilirler.
Adım 3: ESP8266'yı Arduino IDE ile Programlayın
16. Daha sonra ESP8266'yı programlayacağız. ESP8266'nız ile bilgisayarınız arasına bir USB kablosu bağlayın.
Sağlanan New_BME_Sensor.ino dosyasını Arduino IDE'ye yükleyin. BME280 sensörünüz, ESP8266'daki D3 (SDA) ve D4 (SCL)'ye bağlanmalıdır. "ESP8266-NodeMCU-12E-BME280" (oluşturduğunuz ilk kanal) "Write Key" "Wireless SSID" & "Password" bilgilerinizi çizimin doğru bölümüne girin. Ardından "Çizim" ve "Yükle" menü öğesini tıklayın. Krokiyi (İlerleme %100'e ulaşır) ESP8266'nıza yükledikten sonra seri monitörü açabilir (sağ üstteki simge büyüteç gibi görünür) ve her 5 Dakikada bir 5 Dakika sonra verilerinizin çıktısını görebilirsiniz. Veriler 5 dakikalık aralıklarla şey söze gönderilir, bu nedenle anlamlı grafik verilerine sahip olmanız biraz zaman alacaktır, ancak 5 dakika sonra gösterge okumalarına sahip olmalısınız.
Seri monitörde BME280'den doğru okumalar aldığınızdan emin olun.
İlk ölçüm muhtemelen geçersiz bir nan olacaktır.
Bir sonraki okumaya kadar birkaç dakika bekleyin ve okumaların iyi göründüğünü doğrulayın.
Adım 4: Bazı Veri Ayarlarını Yapmak için Thingspeak'e Geri Dönün
17. Şimdi, veriler yavaş yavaş ThingsSpeak'e yüklenirken, yüklenenlerden bazı ek veriler elde etmek için biraz ince ayar yapalım. Thingspeak web sitesine geri dönün ve Thingspeak "BME280 Günlük Yüksek Düşük Veri" kanal sayfasında (oluşturduğunuz ikinci kanal) yeşil "MATLAB Analizi" düğmesini tıklayın. "Özel (Başlangıç Kodu Yok)" Şablonunu Seçin
18. MATLAB Analizine "Gece Yarısından Beri Min Maks Hesapla" adını verin.
19. MATLAB Analysis.txt kodunu sağlanan alana kopyalayın. "ESP8266-NodeMCU-12E-BME280" (oluşturduğunuz ilk kanal) için "kanal kimliğini" "readChannelID" içine girin. "BME280 Daily High Low Data" (Oluşturduğunuz ikinci kanal) girin "Channel ID" & "Write Key" writeNewChannelID & writeAPIKey'e sırasıyla yazın. Kulağa kafa karıştırıcı geldiğini biliyorum (tekrar okuyun). Kaydet ve çalıştır'ı tıklayın. Düzeltmeyi yaptıysanız ve okuma kanalı herkese açıksa, hata görmezsiniz ve değerleri başarıyla yazdırır. Not, Henüz o kanala hiçbir veri yüklenmediyse bir hata görebilirsiniz. Hataya rağmen devam ediyor. İsterseniz, veriler yüklendikten sonra çalıştığından emin olmak için kaydet ve çalıştır'ı tekrar ziyaret edebilirsiniz.
20. Ardından, her 5 dakikada bir bu kodu tetiklemek için bir "Zaman Kontrolü" oluşturmamız gerekiyor ve verilerimiz "BME280 Daily High Low Data" (Oluşturduğunuz ikinci kanal) kanalına yazılıyor. "BME280 Günlük Yüksek Düşük Veri" (oluşturduğunuz ikinci kanal) ana sayfasından en üstteki Uygulamalar'ı seçin. Eylemler altında "TimeControl" öğesini ve ardından Yeşil düğme "New TimeControl" öğesini seçin. "Yüksek Düşük Temps ESP8266 Gönder" olarak adlandırın. Gerekirse saat diliminizi seçin ve Sıklık altında "Yinelenen"i seçin. Yinelenme altında Dakika'yı seçin. Her 5 Dakikada bir çalışacak şekilde ayarlayın. Eylem MATLAB Analizi olmalı ve "Yürütülecek Kod", "Gece Yarısından Beri Min Maks Hesapla" olmalıdır. TimeControl'ü kaydedin.
Adım 5: Sağlanan HTML Dosyasını Düzenleyin
HTML dosyalarını düzenleyin ve "******** Beni Değiştir 1 / 8 *********" yazan yorumları arayın. Bunları tercihinize göre değiştirin.
Notlar:
24 Saat ve Hafta bölümü ve grafiği için tam gün ve tam hafta verileriniz olana kadar bazı metin alanları ve haftalık grafik doğru şekilde doldurulmayacaktır. Bir sürü veriye sahip olduğunuzda, fare tekerleği ile çizelgeleri yakınlaştırabilirsiniz (Sıfırlamak için Sağ Tıklayın). Ayrıca başka bir kanaldan başka bir sensörden dördüncü bir göstergeye (ekran görüntülerinde görüldüğü gibi) sahip olabilirsiniz, ancak ilgili kısımları değerlendirdim. Kendini güvende hissediyorsan, bağla. Dikkat edilmesi gereken bazı zamanlama sorunları da vardır. Muhtemelen en güncel verilere sahip olmayacaksınız, ancak her zaman 5 Dakikadan daha eski olmalıdır. Bu, zamanlama kontrolü tetiklendiğinde, ESP8266'dan veri gönderildiğinde ve web sayfasını yüklediğinizde/yenilediğinizde gelir.
Sağlanan ESP8266-NodeMCU-12E-BME280.html dosyasını web tarayıcınızda açın; göstergelerin ve grafiğin doldurulduğunu görmelisiniz.
.ino ve. HTML kod dosyalarını buradan alın
Önerilen:
Puan Tablosu ile İki Kişilik Tek LED Şerit Oyunları: 10 Adım
Puan Tablosu ile İki Kişilik Tek LED Strip Oyunları: Her şeyden önce dünyadaki tüm insanlar için tanrıya dua edin, bu zamanda bize sadece Tanrı yardım edebilir ve bize barış verebilir. Hepimiz kilitliyiz ve gidecek hiçbir yerimiz yok. Yapacak daha fazla işim yok, bu yüzden çevrimiçi python öğrenmeye başlayın ve herhangi bir şey düşünemiyorum
VE VEYA DEĞİL!! (etkileşimli Sonuç Tablosu): 4 Adım
VE VEYA DEĞİL!! (interaktif Thruth Table): Hey millet, umarım hepiniz evinizdesinizdir ve mevcut malzemelerden ne çıkaracağınızı merak ediyorsunuzdur? Merak etmeyin bu makale basit bir devre kurarak size kesinlikle yardımcı olacaktır !! Mantık kapılarını anlamak her ikisi için de çok önemlidir
Su/Yem Seviye Göstergeleri: 10 Adım (Resimlerle)
Su/Yem Seviye Göstergeleri: Bu derste size mikro işlemciler, mikro denetleyiciler, Raspberry Pi, Arduino vb. kullanmadan nasıl su seviyesi göstergesi yaptığımı göstereceğim. Elektronik söz konusu olduğunda, ben tam bir " kukla". Bazı elektronik bileşenler kullanıyorum
ESP32 ile PWM - Arduino IDE ile ESP 32'de PWM ile LED Karartma: 6 Adım
ESP32 ile PWM | Arduino IDE ile ESP 32'de PWM ile LED Karartma: Bu talimatta Arduino IDE & PWM temel olarak herhangi bir MCU'dan analog çıkış üretmek için kullanılır ve bu analog çıkış 0V ile 3.3V (esp32 durumunda) arasında herhangi bir şey olabilir & itibaren
Wifi Etkin OLED ESP32 Araba Göstergeleri: 3 Adım (Resimli)
Wifi Etkin OLED ESP32 Araba Göstergeleri: Önce tanıtımlar… Bir nevi tekrar tekrar hobi olarak araba göstergeleri yapıyorum. Daha yeni iki örnek için https://www.instructables.com/id/Remote-Car-Monit… ve https://www.instructables.com/id/Remote-Car-Monit… adresine bakın. Özellikle beğeniyorum