Mündəricat:

ESP8266 Hava İstasyonu Saatı: 4 addım
ESP8266 Hava İstasyonu Saatı: 4 addım

Video: ESP8266 Hava İstasyonu Saatı: 4 addım

Video: ESP8266 Hava İstasyonu Saatı: 4 addım
Video: Arduino ile ESP8266 Kullanımı ve İnternet Erişimi-1 (İnternet Üzerinden Veri Çekme) 2024, Dekabr
Anonim
ESP8266 Hava İstasyonu Saatı
ESP8266 Hava İstasyonu Saatı

Bu layihə, vaxtı və havanı kiçik bir rahat paketdə göstərmək üçün gözəl bir yoldur. Layihəni, necə işlədiyini izah edəcəyəm və kodu burada göstərəcəyəm.

Müəyyən bir yerdə mövcud havanı, temperaturu və təzyiqi göstərmək üçün fərqli düymələrə basa bilərsiniz. Varsayılan görünüş, bir NTP serverindən çəkilən vaxtdır.

Vaxt NTP serverindən sinxronizasiya edildiyindən və çox dəqiq olduğu üçün vaxtı təyin etməyə ehtiyac yoxdur. Bu konfiqurasiyada vaxtım və yerli IP adresim var. Əsas ekranda və ya düymələrdə göstəriləcək tarixi, hava, təzyiq və temperaturu daxil etmək üçün kodu dəyişə bilərsiniz.

Addım 1: Şematik

Şematik
Şematik
Şematik
Şematik

Sxem nisbətən sadə və asandır

izlə. Öz PCB -ni fırlatmaq istəyirsinizsə, bir gerber faylı var. Bütün dövrə bir mikro USB bağlantısından gələn 5V ilə idarə olunur. Bu, dövrəni sadə və gücünü asanlaşdırır. 5V, ESP8266 -ya 3.3V verən LM 3940 Low Dropout 3.3V Regulator -a verilir. ESP8266 -da bir USB konnektoru var, amma 5V də LCD -ni idarə etdiyi üçün ümumiyyətlə istifadə etməməyi seçdim.

3.3V ESP8266 ilə istifadə edilməlidir, lövhəni öldürəcəyi üçün onu 5V ilə birbaşa idarə edə bilməzsiniz.

İki toxunma açarı D5 və D6 -ya bağlıdır və ekranda fərqli məlumatlar gətirmək üçün kodda qurulmuşdur. Bunları Temperatur/Təzyiq və Proqnoz kimi təyin etmişəm.

Bütün komponentlər asanlıqla əl ilə lehimlənir və ya gerber https://github.com/allenelectronics/esp8266weatherstation ünvanındakı GitHub -da mövcuddur.

Addım 2: Kod

github.com/allenelectronics/esp8266weatherstation

Kod Arduino IDE -də tərtib edilmişdir və işləmək üçün bəzi konfiqurasiyaya ehtiyac var

Əvvəlcə kodu yükləmək üçün ESP8266 lövhəsini IDE -yə quraşdırmalısınız.

Bunun necə ediləcəyinə dair hərtərəfli təlimat burada:

Hava funksionallığını əldə etmək üçün hava məlumatlarını birbaşa API -dən toplayan və kodunuza daxil edilə bilən kod yaradan RemoteMe -dən istifadə etməyi seçdim. Veb saytlarında qeydiyyatdan keçməli və məlumat axını qurmalısınız:

RemoteMe haqqında sənədləri burada tapa bilərsiniz:

Yükləmədən əvvəl tamamlamağınız lazım olan quruluşunuza xas olan bəzi xüsusi təriflər var:

#define WIFI_NAME "SSID BURADA GELİR"

#define_şifrənin "şifrəsi bura gedir"

#DEVICE_ID təyin edin 1

#devine DEVICE_NAME "REMOTEME. ORG -dan OBTAIN"

#define TOKEN "REMOTEME. ORG -dan OBTAIN"

Buradakı tərifləri WiFi məlumatlarınıza və RemoteMe -dən aldığınız mö'cüzəyə əsaslanaraq özünüz təyin etməlisiniz.

Bütün bu kitabxanaların quraşdırıldığından və koda daxil olduğundan əmin olmalısınız. Əldə etmək daha çətin olan bağlantıları daxil etdim.

#daxil edin //https://github.com/remoteme/RemoteMeArduinoLibrary

#daxil edin

#daxil edin

#daxil edin

#daxil edin

Dəyişməyə ehtiyacı olan son hissə bu layihə GPS istifadə etmədiyi üçün yerinizdir. "YER" sətirini dəyişdirməlisiniz:

başqa halda (buttonState2 == LOW && prevButtonState2 == HIGH) {

Serial.print ("YER / n");

Serial.println (fc);

lcd.clear ();

lcd.print ("YER");

lcd.setCursor (0, 1);

lcd çap (fc);

lcd.setCursor (0, 0);

gecikmə (5000);

prevButtonState2 = buttonState2;

Addım 3: Quraşdırma

Qurmaq
Qurmaq
Qurmaq
Qurmaq

Qurmaq

3d printerə çıxışım olmadığı zaman, bu, rəfdən kənarda istifadə etdiyim son layihəm idi. 16x2 LCD üçün hazırlanmış hazır bir siqnal paneli qutusundan istifadə etdim.

Bağlantı: https://www.ebay.co.uk/itm/86-Plastic-project-box-enclosure-case-for-diy-LCD1602-meter-tester-with-buttGA/363214674235?hash=item549148193b:g: IvQAAOSwNXpcFFrv

Hər şey korpusun içərisindədir, 16x2 LCD displey, ön panelə isti yapışdırılmış şəkildə ön panelə yapışdırılmışdır.

Addım 4: Nəticə

Nəticə

Bu heç bir düzəlişə və ya ayara ehtiyacı olmayan bir masaüstü rəqəmsal saat üçün səliqəli bir layihədir, NTP serverindən vaxt alır və aydın arxa işıqlı bir LCD -də göstərir.

Lazım olan kodda bəzi konfiqurasiya olduğu üçün bu, yeni başlayanlar üçün deyil və məlumat axınlarının da qurulması lazımdır. Hər hansı bir sualınız və ya şərhiniz varsa, mənə şərh yazmaqdan çekinmeyin.

Tövsiyə: