Spisu treści:

Stacja pogodowa Blynk: 7 kroków
Stacja pogodowa Blynk: 7 kroków

Wideo: Stacja pogodowa Blynk: 7 kroków

Wideo: Stacja pogodowa Blynk: 7 kroków
Wideo: VEVOR. Profesjonalna Stacja Pogodowa WiFi 7 w Jednym. 2024, Lipiec
Anonim
Stacja pogodowa Blynk
Stacja pogodowa Blynk

Otrzymuj aktualizacje pogody bezpośrednio na urządzenie mobilne z własnej stacji pogodowej! Zadziwiająco szybka i łatwa budowa dzięki xChips.

Krok 1: Rzeczy użyte w tym projekcie

Komponenty sprzętowe

  • XinaBox CW01 x 1
  • XinaBox SW01 x 1
  • XinaBox SL01 x 1
  • XinaBox OD01 x 1
  • XinaBox IP01 x 1
  • XinaBox XC10 x 1

Aplikacje i usługi online

  • IDE Arduino
  • Blynk

Krok 2: Historia

Wstęp

Zbudowałem ten projekt przy użyciu XinaBox xChips i Arduino IDE. Jest to 5-minutowy projekt, który pozwala na odbieranie danych pogodowych na telefon za pośrednictwem aplikacji Blynk i na ekranie OLED OD01. Ten projekt jest tak przydatny, ponieważ możesz monitorować pogodę w dowolnym miejscu i otrzymywać aktualizacje bezpośrednio na telefon za pośrednictwem aplikacji. Wybrałem xChips, ponieważ są przyjazne dla użytkownika, eliminują również potrzebę lutowania i poważnego projektowania obwodów. Korzystając z Arduino IDE mogłem łatwo zaprogramować xChips.

Krok 3: Pobieranie bibliotek

  • Przejdź do Github.xinabox
  • Pobierz xCore ZIP
  • Zainstaluj go w Arduino IDE, przechodząc do "Sketch", "Include Library", a następnie "Add. ZIP Library". Jak widać poniżej

Rysunek 1: Dodawanie bibliotek ZIP

  • Pobierz xSW01 ZIP
  • Dodaj bibliotekę w taki sam sposób, jak w przypadku xCore.
  • Powtórz dla xSL01 i xOD01
  • Musisz także zainstalować bibliotekę Blynk, aby móc korzystać z aplikacji. Znajdziesz go tutaj
  • Zanim zaczniesz programować, musisz upewnić się, że używasz właściwej płyty. W tym projekcie korzystam z Generic ESP8266, który znajduje się w CW01 xChip. Bibliotekę tablic można pobrać tutaj.

Krok 4: Programowanie

Podłącz IP01, CW01, SW01, SL01 i OD01 za pomocą złączy xBUS. Upewnij się, że nazwy xChips są poprawnie zorientowane

Rysunek 2: Podłączone xChips

  • Teraz włóż IP01 i podłączone xChips do dostępnego portu USB.
  • Pobierz lub skopiuj i wklej kod z nagłówka „KOD” do swojego Arduino IDE. Wprowadź swój token uwierzytelniania, nazwę Wi-Fi i hasło we wskazanych miejscach.
  • Alternatywnie możesz stworzyć własny kod, korzystając z odpowiednich zasad, aby osiągnąć ten sam cel
  • Aby upewnić się, że nie ma błędów, skompiluj kod.

Krok 5: Konfiguracja Blynka

  • Po zainstalowaniu aplikacji Blynk za darmo ze sklepu z aplikacjami nadszedł czas na konfigurację projektu.
  • Przed kliknięciem przycisku „Zaloguj się” po wprowadzeniu adresu e-mail i hasła upewnij się, że „Ustawienia serwera” są ustawione na „BLYNK”.

Rysunek 3: Ustawienia serwera

  • Zaloguj sie.
  • Utwórz nowy projekt.
  • Wybierz urządzenie "ESP8266"

Rysunek 4: Wybór urządzenia/płyty

  • Przypisz nazwę projektu
  • Otrzymuj powiadomienie „Auth Token” i e-mail zawierający „Auth Token”.

Rysunek 5: Powiadomienie o tokenie uwierzytelniania

Przejdź do „Skrzynki widżetów”

Rysunek 6: Pole widżetów

  • Dodaj 4 „Przyciski” i 4 „Wyświetlacze wartości”
  • Przypisz odpowiednie „Przyciski” i „Wyświetlacze wartości” ich Wirtualne Piny, jak określono w „KODZIE”. Użyłem liczb parzystych dla "Przycisków" i odpowiadających im liczb nieparzystych dla "Wyświetlaczy wartości"
  • Tę konfigurację można dostosować do własnych potrzeb podczas dostosowywania kodu.

Rysunek 7: Pulpit nawigacyjny projektu (Zastrzeżenie: Zignoruj wartości, to jest zrzut ekranu po przetestowaniu stacji pogodowej. Twój powinien być podobny, tylko z pustymi twarzami, takimi jak V7)

Krok 6: Przesyłanie kodu

  • Po udanej kompilacji w kroku 2 (nie znaleziono błędów) możesz wgrać kod na swoje xChips. Upewnij się, że przełączniki są skierowane odpowiednio w „B” i „DCE” przed przesłaniem.
  • Po pomyślnym przesłaniu otwórz aplikację Blynk na swoim urządzeniu mobilnym.
  • Otwórz swój projekt od kroku 3.

Cyfra 8

  • Naciśnij play i naciśnij odpowiednie "Przyciski", aby dane mogły być wyświetlane w Twojej aplikacji i na ekranie OLED.
  • Teraz Twoja stacja pogodowa Blynk jest gotowa do pracy!

Krok 7: Kod

Blynk_Weather_Station.ino Kod Arduino Arduino dla stacji pogodowej z Blynk i xCHIPS. Ten kod umożliwia bezprzewodowe sterowanie stacją pogodową z urządzenia mobilnego i odbieranie aktualizacji danych pogodowych bezpośrednio na urządzenie mobilne ze stacji pogodowej xCHIP

#include //include bibliotekę podstawową

#include //include biblioteka czujników pogody #include //include biblioteka czujników światła #include //include biblioteka ESP8266 dla WiFi #include //include biblioteka Blynk do użytku z ESP8266 #include //include OLED libraryxSW01 SW01; //xSL01 SL01; pływak TempC; pływak Wilgotność; pływak UVA; pływak UV_Index; // token uwierzytelniania, który został do Ciebie wysłany // skopiuj i wklej token w cudzysłów char auth = "Twój token uwierzytelniania"; // twoje dane uwierzytelniające Wi-Fi char WIFI_SSID = "Twoja nazwa Wi-Fi"; // wpisz swoją nazwę Wi-Fi między podwójnymi cudzysłowami char WIFI_PASS = "Twoje hasło Wi-Fi"; // wprowadź swoje hasło wifi między podwójnymi cudzysłowami timer BlynkTimer; // VirtualPin dla temperatury BLYNK_WRITE(V2){ int pinValue = param.asInt(); // przypisanie wartości przychodzącej z pinu V1 do zmiennej if(pinValue == 1) { Blynk.virtualWrite(V1, TempC); OD01.println("Temp_C:"); OD01.println(TempC); } else{ } } // VirtualPin dla wilgotności BLYNK_WRITE(V4){ int pin_value = param.asInt(); // przypisanie wartości przychodzącej z pinu V3 do zmiennej if(pin_value == 1) { Blynk.virtualWrite(V3, Humidity); OD01.println("Wilgotność:"); OD01.println(Wilgotność); } else{ } } // VirtualPin dla UVA BLYNK_WRITE(V6){ int pinvalue = param.asInt(); // przypisanie wartości przychodzącej z pinu V5 do zmiennej if(pinvalue == 1) { Blynk.virtualWrite(V5, UVA); OD01.println("UVA:"); OD01.println(UVA); } else{ } } // VirtualPin dla UV_Index BLYNK_WRITE(V8){ int pin_Value = param.asInt(); // przypisanie wartości przychodzącej z pinu V7 do zmiennej if(pin_Value == 1) { Blynk.virtualWrite(V7, UV_Index); OD01.println("Indeks_UV:"); OD01.println(Indeks_UV); } else{ } } void setup() { // Debuguj konsolę TempC = 0; Serial.początek(115200); Drut.początek(2, 14); SW01.początek(); OLED.początek(); SL01.początek(); Blynk.begin(auth, WIFI_SSID, WIFI_PASS); opóźnienie (2000); } void loop() { SW01.poll(); TempC = SW01.getTempC(); Wilgotność = SW01.getHumidity(); SL01.sonda(); UVA = SL01.getUVA(); Indeks_UV = SL01.getUV Indeks(); Blynk.run(); }

Zalecana: