Innholdsfortegnelse:

Blynk værstasjon: 7 trinn
Blynk værstasjon: 7 trinn

Video: Blynk værstasjon: 7 trinn

Video: Blynk værstasjon: 7 trinn
Video: Statens vegvesen - Kurs Vinterdrift 2016 - Kapittel 8 Salting 2024, November
Anonim
Blynk værstasjon
Blynk værstasjon

Motta væroppdateringer direkte til mobilenheten din fra din egen værstasjon! Utrolig rask og enkel bygging med xChips.

Trinn 1: Ting som brukes i dette prosjektet

Maskinvarekomponenter

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

Programvare -apper og online -tjenester

  • Arduino IDE
  • Blynk

Trinn 2: Historie

Introduksjon

Jeg bygde dette prosjektet ved hjelp av XinaBox xChips og Arduino IDE. Det er et 5 min prosjekt, som lar deg motta værdata på telefonen din via Blynk -appen og på OLED -skjermen på OD01. Dette prosjektet er så nyttig fordi du kan overvåke været uansett hvor du velger og få oppdateringer direkte på telefonen din via appen. Jeg valgte å bruke xChips fordi de er brukervennlige, de eliminerer også behovet for lodding og seriøs kretsdesign. Ved å bruke Arduino IDE kunne jeg enkelt programmere xChips.

Trinn 3: Last ned bibliotekene

  • Gå til Github.xinabox
  • Last ned xCore ZIP
  • Installer den i Arduino IDE ved å gå til "Sketch", "Include Library" og deretter "Add. ZIP Library". Som sett nedenfor

Figur 1: Legge til ZIP -bibliotekene

  • Last ned xSW01 ZIP
  • Legg til biblioteket på samme måte som du gjorde for xCore.
  • Gjenta for xSL01 og xOD01
  • Du må også installere Blynk -biblioteket slik at du kan bruke appen. Du finner den her
  • Før du kan programmere må du kontrollere at du bruker riktig brett. I dette prosjektet benytter jeg meg av den generiske ESP8266 som er i CW01 xChip. Du kan laste ned tavlebiblioteket her.

Trinn 4: Programmering

Koble IP01, CW01, SW01, SL01 og OD01 med xBUS -kontakter. Sørg for at xChips -navnene er riktig orientert

Figur 2: Tilkoblet xChips

  • Sett nå inn IP01 og tilkoblede xChips i en tilgjengelig USB -port.
  • Last ned eller kopier og lim inn koden fra "CODE" -overskriften i Arduino IDE. Skriv inn ditt autorisasjonstoken, WiFi -navn og passord der det er angitt.
  • Alternativt kan du lage din egen kode ved å bruke de relevante prinsippene for å oppnå det samme målet
  • For å sikre at det ikke er noen feil, kompiler koden.

Trinn 5: Blynk -oppsett

  • Etter at du har installert Blynk -appen gratis fra appbutikken din, er det på tide å gjøre prosjektoppsettet.
  • Før du klikker "Logg på" etter at du har angitt e -postadressen og passordet, må du kontrollere at "Serverinnstillinger" er satt til "BLYNK".

Figur 3: Serverinnstillinger

  • Logg Inn.
  • Lag nytt prosjekt.
  • Velg enhet "ESP8266"

Figur 4: Velge enhet/brett

  • Tildel et prosjektnavn
  • Motta varsel om "Auth Token" og e -post som inneholder "Auth Token".

Figur 5: Auth Token -varsling

Gå til "Widget -boksen"

Figur 6: Widget -boks

  • Legg til 4 "knapper" og 4 "verdidisplayer"
  • Tilordne de respektive "knappene" og "verdidisplayene" deres virtuelle pinner som spesifisert i "KODE". Jeg brukte partall for "Buttons" og tilsvarende oddetall for "Value Displays"
  • Dette oppsettet kan justeres etter dine behov når du justerer koden.

Figur 7: Project Dashboard (Ansvarsfraskrivelse: Ignorer verdiene dette er et skjermbilde etter at jeg testet værstasjonen. Din skal være lik, bare med blanke ansikter som V7)

Trinn 6: Last opp koden

  • Etter vellykket kompilering i trinn 2 (ingen feil funnet) kan du laste opp koden til xChips. Sørg for at bryterne vender mot henholdsvis "B" og "DCE" før de lastes opp.
  • Når opplastingen er vellykket, åpner du Blynk -appen på mobilenheten din.
  • Åpne prosjektet ditt fra trinn 3.

Figur 8

  • Trykk på play og trykk på de respektive "knappene" slik at dataene kan vises i appen din og på OLED -skjermen.
  • Nå er Blynk værstasjon klar til å gå!

Trinn 7: Kode

Blynk_Weather_Station.ino Arduino Arduino -kode for Weather Station med Blynk og xCHIPS. Denne koden lar deg styre værstasjonen trådløst fra mobilenheten og motta værdataoppdateringer direkte til mobilenheten din fra xCHIP værstasjonen

#include // inkluderer kjernebibliotek

#include // include weather sensor library #include // include light sensor library #include // include ESP8266 library for WiFi #include // include Blynk library for use with ESP8266 #include // include OLED libraryxSW01 SW01; // xSL01 SL01; flyte TempC; flyte Fuktighet; flyte UVA; flyte UV_Index; // autentiseringstoken som ble sendt til deg // kopier og lim inn tokenet mellom doble anførselstegn char auth = "ditt autorisasjonstoken"; // wifi -legitimasjonen din char WIFI_SSID = "WiFi -navnet ditt"; // skriv inn wifi -navnet ditt mellom de doble anførselstegnene WIFI_PASS = "ditt WiFi -passord"; // skriv inn wifi -passordet ditt mellom de doble anførselstegnene BlynkTimer -timeren; // VirtualPin for temperatur BLYNK_WRITE (V2) {int pinValue = param.asInt (); // tilordne innkommende verdi fra pin V1 til en variabel hvis (pinValue == 1) {Blynk.virtualWrite (V1, TempC); OD01.println ("Temp_C:"); OD01.println (TempC); } annet {}} // VirtualPin for Humidity BLYNK_WRITE (V4) {int pin_value = param.asInt (); // tilordne innkommende verdi fra pin V3 til en variabel hvis (pin_value == 1) {Blynk.virtualWrite (V3, fuktighet); OD01.println ("Fuktighet:"); OD01.println (Fuktighet); } annet {}} // VirtualPin for UVA BLYNK_WRITE (V6) {int pinvalue = param.asInt (); // tilordne innkommende verdi fra pin V5 til en variabel hvis (pinvalue == 1) {Blynk.virtualWrite (V5, UVA); OD01.println ("UVA:"); OD01.println (UVA); } annet {}} // VirtualPin for UV_Index BLYNK_WRITE (V8) {int pin_Value = param.asInt (); // tilordne innkommende verdi fra pin V7 til en variabel hvis (pin_Value == 1) {Blynk.virtualWrite (V7, UV_Index); OD01.println ("UV_Index:"); OD01.println (UV_Index); } annet {}} ugyldig oppsett () {// Debug -konsoll TempC = 0; Serial.begin (115200); Wire.begin (2, 14); SW01.begin (); OLED.begin (); SL01.begin (); Blynk.begin (auth, WIFI_SSID, WIFI_PASS); forsinkelse (2000); } void loop () {SW01.poll (); TempC = SW01.getTempC (); Fuktighet = SW01.getHumidity (); SL01.poll (); UVA = SL01.getUVA (); UV_Index = SL01.getUV Index (); Blynk.run (); }

Anbefalt: