Inhoudsopgave:

Blynk-weerstation - Ajarnpa
Blynk-weerstation - Ajarnpa

Video: Blynk-weerstation - Ajarnpa

Video: Blynk-weerstation - Ajarnpa
Video: Simple Weather Station - Blynk (NodeMCU ESP8266 + DHT11 sensor) With Notification and Email sending 2024, November
Anonim
Blynk Weerstation
Blynk Weerstation

Ontvang weerupdates rechtstreeks op uw mobiele apparaat vanaf uw eigen weerstation! Verbazingwekkend snel en eenvoudig te bouwen met xChips.

Stap 1: Dingen die in dit project worden gebruikt

Hardware onderdelen

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

Software-apps en online services

  • Arduino IDE
  • Blynk

Stap 2: Verhaal

Invoering

Ik heb dit project gebouwd met XinaBox xChips en Arduino IDE. Het is een project van 5 minuten, waarmee je weergegevens op je telefoon kunt ontvangen via de Blynk-app en op het OLED-scherm van de OD01. Dit project is zo handig omdat je het weer kunt volgen waar je maar wilt en updates rechtstreeks op je telefoon kunt krijgen via de app. Ik heb ervoor gekozen om de xChips te gebruiken omdat ze gebruiksvriendelijk zijn, ze ook de noodzaak voor solderen en serieus circuitontwerp elimineren. Met behulp van Arduino IDE kon ik de xChips gemakkelijk programmeren.

Stap 3: De bibliotheken downloaden

  • Ga naar Github.xinabox
  • Download xCore ZIP
  • Installeer het in Arduino IDE door naar "Sketch", "Include Library" en vervolgens naar "Add. ZIP Library" te gaan. Zoals hieronder te zien is

Afbeelding 1: De ZIP-bibliotheken toevoegen

  • Download xSW01 ZIP
  • Voeg de bibliotheek op dezelfde manier toe als voor de xCore.
  • Herhaal dit voor de xSL01 en xOD01
  • Je moet ook de Blynk-bibliotheek installeren zodat je de app kunt gebruiken. Je vindt het hier
  • Voordat u kunt programmeren, moet u ervoor zorgen dat u het juiste bord gebruikt. In dit project maak ik gebruik van de Generic ESP8266 die in de CW01 xChip zit. U kunt de bestuursbibliotheek hier downloaden.

Stap 4: Programmeren

Verbind de IP01, CW01, SW01, SL01 en OD01 met behulp van xBUS-connectoren. Zorg ervoor dat de namen van de xChips correct zijn georiënteerd

Figuur 2: Verbonden xChips

  • Steek nu de IP01 en aangesloten xChips in een beschikbare USB-poort.
  • Download of kopieer en plak de code uit de kop "CODE" in uw Arduino IDE. Voer uw auth-token, wifi-naam en wachtwoord in waar aangegeven.
  • Als alternatief kunt u uw eigen code maken met behulp van de relevante principes om hetzelfde doel te bereiken
  • Om er zeker van te zijn dat er geen fouten zijn, compileert u de code.

Stap 5: Blynk-configuratie

  • Na het gratis installeren van de Blynk app vanuit je app store is het tijd om de Project Setup uit te voeren.
  • Voordat u op "Inloggen" klikt nadat u uw e-mailadres en wachtwoord hebt ingevoerd, moet u ervoor zorgen dat uw "Serverinstellingen" zijn ingesteld op "BLYNK".

Afbeelding 3: Serverinstellingen

  • Log in.
  • Nieuw project maken.
  • Kies apparaat "ESP8266"

Afbeelding 4: Apparaat/kaart kiezen

  • Een projectnaam toewijzen
  • Ontvang een "Auth Token"-melding en e-mail met de "Auth Token".

Afbeelding 5: Melding verificatietoken

Ga naar de "Widgetbox"

Afbeelding 6: Widgetbox

  • Voeg 4 "knoppen" en 4 "waardeweergaven" toe
  • Wijs de respectievelijke "knoppen" en "waardeweergaven" hun virtuele pinnen toe zoals gespecificeerd in de "CODE". Ik gebruikte even getallen voor "Knoppen" en bijbehorende oneven nummers voor de "Waardeweergaven"
  • Deze instelling kan worden aangepast aan uw behoeften terwijl u uw code aanpast.

Afbeelding 7: Projectdashboard (Disclaimer: negeer de waarden, dit is een screenshot nadat ik het weerstation heb getest. Het jouwe zou vergelijkbaar moeten zijn, alleen met lege gezichten zoals V7)

Stap 6: De code uploaden

  • Na succesvolle compilatie in stap 2 (geen fouten gevonden) kunt u de code uploaden naar uw xChips. Zorg ervoor dat de schakelaars respectievelijk naar "B" en "DCE" zijn gericht voordat u gaat uploaden.
  • Zodra het uploaden is gelukt, opent u de Blynk-app op uw mobiele apparaat.
  • Open uw project vanaf stap 3.

Figuur 8

  • Druk op play en druk op de respectievelijke "Buttons" zodat de gegevens in uw app en op het OLED-scherm kunnen worden weergegeven.
  • Nu is uw Blynk-weerstation klaar voor gebruik!

Stap 7: Coderen

Blynk_Weather_Station.ino Arduino Arduino-code voor weerstation met Blynk en xCHIPS. Met deze code kunt u het weerstation draadloos bedienen vanaf uw mobiele apparaat en updates van weergegevens rechtstreeks op uw mobiele apparaat ontvangen vanaf het xCHIP-weerstation

#include //include kernbibliotheek

#include //include weather sensor library #include //include light sensor library #include //include ESP8266 library for WiFi #include //include Blynk library voor gebruik met ESP8266 #include //include OLED libraryxSW01 SW01; //xSL01 SL01; vlotter TempC; vlotter Vochtigheid; drijven UVA; zweven UV_Index; // authenticatietoken dat naar u is gemaild // kopieer en plak het token tussen dubbele aanhalingstekens char auth = "uw auth-token"; // uw wifi-inloggegevens char WIFI_SSID = "uw wifi-naam"; // voer je wifi-naam in tussen de dubbele aanhalingstekens char WIFI_PASS = "je wifi-wachtwoord"; // voer je wifi-wachtwoord in tussen de dubbele aanhalingstekens BlynkTimer-timer; // VirtualPin voor temperatuur BLYNK_WRITE (V2) {int pinValue = param.asInt (); // binnenkomende waarde van pin V1 toewijzen aan een variabele if (pinValue == 1) { Blynk.virtualWrite (V1, TempC); OD01.println("Temp_C:"); OD01.println(TempC); } else{ } } // VirtualPin voor vochtigheid BLYNK_WRITE(V4){int pin_value = param.asInt(); // binnenkomende waarde van pin V3 toewijzen aan een variabele if (pin_value == 1) { Blynk.virtualWrite (V3, Humidity); OD01.println("Vochtigheid:"); OD01.println (Vochtigheid); } else{ } } // VirtualPin voor UVA BLYNK_WRITE(V6){ int pinvalue = param.asInt(); // binnenkomende waarde van pin V5 toewijzen aan een variabele if (pinvalue == 1) { Blynk.virtualWrite (V5, UVA); OD01.println("UVA:"); OD01.println(UVA); } else{ } } // VirtualPin voor UV_Index BLYNK_WRITE (V8) {int pin_Value = param.asInt(); // binnenkomende waarde van pin V7 toewijzen aan een variabele if (pin_Value == 1) { Blynk.virtualWrite (V7, UV_Index); OD01.println("UV_Index:"); OD01.println(UV_Index); } else{ } } void setup () { // Debug console TempC = 0; Serieel.begin(115200); Draad.begin(2, 14); SW01.begin(); OLED.begin(); SL01.begin(); Blynk.begin(auth, WIFI_SSID, WIFI_PASS); vertraging (2000); } void loop() { SW01.poll(); TempC = SW01.getTempC(); Vochtigheid = SW01.getHumidity(); SL01.poll(); UVA = SL01.getUVA(); UV_Index = SL01.getUV Index(); Blynk.run(); }

Aanbevolen: