Sommario:

Stazione meteo Blynk: 7 passaggi
Stazione meteo Blynk: 7 passaggi

Video: Stazione meteo Blynk: 7 passaggi

Video: Stazione meteo Blynk: 7 passaggi
Video: Una fantastica STAZIONE METEO fai da te con un Anemometro con Arduino controllata da un'APP 2024, Novembre
Anonim
Stazione meteo Blynk
Stazione meteo Blynk

Ricevi aggiornamenti meteo direttamente sul tuo dispositivo mobile dalla tua stazione meteo! Costruzione sorprendentemente facile e veloce con xChips.

Passaggio 1: cose utilizzate in questo progetto

Componenti hardware

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

App software e servizi online

  • Arduino IDE
  • Blynk

Fase 2: Storia

introduzione

Ho costruito questo progetto usando XinaBox xChips e Arduino IDE. Si tratta di un progetto di 5 minuti, che permette di ricevere i dati meteo sul telefono tramite l'app Blynk e sullo schermo OLED dell'OD01. Questo progetto è così utile perché puoi monitorare il meteo ovunque tu scelga e ricevere aggiornamenti direttamente sul tuo telefono tramite l'app. Ho scelto di utilizzare gli xChips perché sono facili da usare, eliminano anche la necessità di saldature e di una progettazione seria del circuito. Usando Arduino IDE potrei facilmente programmare gli xChips.

Passaggio 3: download delle librerie

  • Vai a Github.xinabox
  • Scarica xCore ZIP
  • Installalo nell'IDE Arduino andando su "Sketch", "Includi libreria", quindi "Aggiungi libreria. ZIP". Come visto di seguito

Figura 1: aggiunta delle librerie ZIP

  • Scarica xSW01 ZIP
  • Aggiungi la libreria nello stesso modo in cui hai fatto per xCore.
  • Ripetere per xSL01 e xOD01
  • È inoltre necessario installare la libreria Blynk in modo da poter utilizzare l'app. Potete trovare qui
  • Prima di poter programmare, devi assicurarti di utilizzare la scheda corretta. In questo progetto utilizzo l'ESP8266 generico che si trova nell'xChip CW01. Puoi scaricare la libreria della scheda qui.

Passaggio 4: programmazione

Collegare IP01, CW01, SW01, SL01 e OD01 utilizzando connettori xBUS. Assicurati che i nomi degli xChips siano orientati correttamente

Figura 2: xChip collegati

  • Ora inserisci l'IP01 e gli xChips collegati in una porta USB disponibile.
  • Scarica o copia e incolla il codice dall'intestazione "CODE" nel tuo IDE Arduino. Inserisci il tuo token di autenticazione, il nome WiFi e la password dove indicato.
  • In alternativa puoi creare il tuo codice utilizzando i principi pertinenti per raggiungere lo stesso obiettivo
  • Per assicurarti che non ci siano errori compila il codice.

Passaggio 5: configurazione di Blynk

  • Dopo aver installato l'app Blynk gratuitamente dal tuo app store, è il momento di eseguire la configurazione del progetto.
  • Prima di fare clic su "Accedi" dopo aver inserito l'indirizzo e-mail e la password, assicurati che le "Impostazioni server" siano impostate su "BLYNK".

Figura 3: Impostazioni del server

  • Accesso.
  • Crea nuovo progetto.
  • Scegli il dispositivo "ESP8266"

Figura 4: Scelta del dispositivo/scheda

  • Assegna un nome al progetto
  • Ricevi la notifica "Auth Token" e l'e-mail contenente il "Auth Token".

Figura 5: notifica del token di autenticazione

Vai alla "Casella dei widget"

Figura 6: riquadro dei widget

  • Aggiungi 4 "Pulsanti" e 4 "Visualizzatori di valori"
  • Assegnare ai rispettivi "Pulsanti" e "Visualizzatori valore" i rispettivi Pin virtuali come specificato nel "CODICE". Ho usato i numeri pari per i "Pulsanti" e i corrispondenti numeri dispari per i "Visualizzatori di valore"
  • Questa configurazione può essere regolata in base alle proprie esigenze mentre si modifica il codice.

Figura 7: Project Dashboard (Disclaimer: ignora i valori questo è uno screenshot dopo aver testato la stazione meteorologica. Il tuo dovrebbe essere simile, solo con facce vuote come V7)

Passaggio 6: caricamento del codice

  • Dopo aver compilato con successo il passaggio 2 (nessun errore trovato) puoi caricare il codice sul tuo xChips. Assicurati che gli interruttori siano rivolti rispettivamente a "B" e "DCE" prima del caricamento.
  • Una volta che il caricamento è andato a buon fine, apri l'app Blynk sul tuo dispositivo mobile.
  • Apri il tuo progetto dal passaggio 3.

Figura 8

  • Premi play e premi i rispettivi "Pulsanti" in modo che i dati possano essere visualizzati nella tua app e sullo schermo OLED.
  • Ora la tua stazione meteorologica Blynk è pronta per partire!

Passaggio 7: codice

Blynk_Weather_Station.ino Arduino Codice Arduino per Stazione Meteo con Blynk e xCHIPS. Questo codice ti consente di controllare in modalità wireless la stazione meteo dal tuo dispositivo mobile e ricevere gli aggiornamenti dei dati meteo direttamente sul tuo dispositivo mobile dalla stazione meteo xCHIP

#include //include la libreria principale

#include //include libreria di sensori meteorologici #include //include libreria di sensori di luce #include //include libreria ESP8266 per WiFi #include //include libreria Blynk da utilizzare con ESP8266 #include //include libreria OLEDxSW01 SW01; //xSL01 SL01; galleggiante TempC; galleggiante Umidità; galleggiante UVA; float UV_Index; // token di autenticazione che ti è stato inviato via email // copia e incolla il token tra virgolette char auth = "your auth token"; // le tue credenziali wifi char WIFI_SSID = "il tuo nome WiFi"; // inserisci il tuo nome wifi tra virgolette char WIFI_PASS = "la tua password WiFi"; // inserisci la tua password wifi tra le doppie virgolette del timer BlynkTimer; // VirtualPin per la temperatura BLYNK_WRITE(V2){ int pinValue = param.asInt(); // assegna il valore in ingresso dal pin V1 a una variabile if(pinValue == 1) { Blynk.virtualWrite(V1, TempC); OD01.println("Temp_C:"); OD01.println(TempC); } else{ } } // VirtualPin per l'umidità BLYNK_WRITE(V4){ int pin_value = param.asInt(); // assegnazione del valore in ingresso dal pin V3 a una variabile if(pin_value == 1) { Blynk.virtualWrite(V3, Humidity); OD01.println("Umidità:"); OD01.println(Umidità); } else{ } } // VirtualPin per UVA BLYNK_WRITE(V6){ int pinvalue = param.asInt(); // assegna il valore in ingresso dal pin V5 a una variabile if(pinvalue == 1) { Blynk.virtualWrite(V5, UVA); OD01.println("UVA:"); OD01.println(UVA); } else{ } } // VirtualPin per UV_Index BLYNK_WRITE(V8){ int pin_Value = param.asInt(); // assegna il valore in ingresso dal pin V7 a una variabile if(pin_Value == 1) { Blynk.virtualWrite(V7, UV_Index); OD01.println("Indice_UV:"); OD01.println(Indice_UV); } else{ } } void setup() { // Debug console TempC = 0; Serial.begin(115200); Wire.begin(2, 14); SW01.begin(); OLED.begin(); SL01.begin(); Blynk.begin(auth, WIFI_SSID, WIFI_PASS); ritardo (2000); } loop vuoto() { SW01.poll(); TempC = SW01.getTempC(); Umidità = SW01.getHumidity(); SL01.poll(); UVA = SL01.getUVA(); Indice_UV = SL01.getIndice UV(); Blynk.run(); }

Consigliato: