Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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 (); }