INHOUDSOPGAWE:

Hoe om 'n weerstasie te bou met behulp van XinaBox en Ubidots via HTTP: 7 stappe
Hoe om 'n weerstasie te bou met behulp van XinaBox en Ubidots via HTTP: 7 stappe

Video: Hoe om 'n weerstasie te bou met behulp van XinaBox en Ubidots via HTTP: 7 stappe

Video: Hoe om 'n weerstasie te bou met behulp van XinaBox en Ubidots via HTTP: 7 stappe
Video: Злые Призраки Обитают В Этом Доме | Evil Ghosts Inhabit This House 2024, Julie
Anonim
Hoe om 'n weerstasie te bou met behulp van XinaBox en Ubidots via HTTP
Hoe om 'n weerstasie te bou met behulp van XinaBox en Ubidots via HTTP

Leer hoe u u eie weerstasie by Ubidots kan maak met behulp van XinaBox xChips (IP01, CW01 en SW01)

Beeld
Beeld

Die ESP8266 Core- en Wi-Fi-module (xChip CW01) stel gebruikers in staat om data van XinaBox se modulêre xChips na die wolk te stuur. Hierdie data kan op afstand in Ubidots gemonitor word, waar gebruikers hul reeks IoT -instrumente kan benut.

Die xChip SW01 Advanced Weather Sensor (Bosch BME280) meet temperatuur, humiditeit en atmosferiese druk, waaruit ook hoogte, wolkbasis en dauwpunt bereken kan word.

In hierdie tutoriaal gebruik ons HTTP -protokol om sensordata na Ubidots te stuur. Dit kan ook gedoen word met behulp van MQTT -protokol.

Aan die einde van hierdie gids kan u die weerstoestande op u XinaBox -toestel vanaf enige plek met behulp van Ubidots monitor en meet.

Stap 1: Vereistes

  • 1x CW01 - WiFi -kern (ESP8266/ESP -12F)
  • 1x IP01 - USB -programmeer -koppelvlak (FT232R)
  • 1x SW01 - Gevorderde weersensor (BME280)
  • 1x XC10 - 10 -pack xBUS -verbindings
  • Arduino IDE
  • Ubidots -rekening

Stap 2: hardeware -opstelling

Koppel CW01, SW01 en IP01 saam met die XC10 xBUS -verbindings. U kan dit verbind soos in die diagram hieronder getoon. Raadpleeg hierdie gids oor hoe u xChips in die algemeen kan monteer.

Beeld
Beeld

Koppel dan u toestel en rekenaar via die USB01 se USB. Hiervoor moet u die xFlasher -sagteware gebruik om die kode eers gereed te maak. Sien hierdie gids oor die gebruik van die xFlasher.

Stap 3: Die opstel van die Arduino IDE

1. Installeer Arduino IDE 1.8.8

2. Installeer hierdie biblioteke op Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

OPMERKING: As u nie vertroud is met die installering van biblioteke nie, raadpleeg die skakel: Die installering van Arduino -biblioteke

3. Met die ESP8266 -platform geïnstalleer, kies die ESP8266 -toestel waarmee u werk. In die geval werk ons met 'n "CW01 (ESP12F -module)". Om u bord uit die Arduino IDE te kies, kies Tools> Board “NodeMCU 1.0 (ESP12E module)”.

LET WEL: ESP12F en ESP12E is vir hierdie doel uitruilbaar.

Stap 4: Begrip van die kode

Insluitend biblioteke:

#sluit "UbidotsMicroESP8266.h" in

#include #include

Voer u Wi-Fi- en Ubidots-geloofsbriewe in:

#define TOKEN "Your-Token" // Plaas u Ubidots TOKEN hier

#define WIFISSID "Your-SSID" // Plaas hier u Wi-Fi SSID #definieer WAGwoord "password-of-ssid" // Sit hier u Wi-Fi-wagwoord

U unieke Ubidots TOKEN word verkry uit u Ubidots -rekening. Verwys na die volgende skakel om te leer waar u u Ubidots TOKEN kan vind.

Sien die opmerkings vir selfverduideliking een keer:

ongeldige opstelling () {

// Ontfouting by 115200 met behulp van seriële monitor Serial.begin (115200); // Koppel aan die Access Point client.wifiConnection (WIFISSID, PASSWORD); // I2C -kommunikasie begin Wire.begin (); // Begin die SW01 -sensor SW01.begin (); // Stel vertraging voor, vertraging van 2-3 sekondes (DELAY_TIME); }

Herhaal die operasie om dit aan die gang te hou en voortdurend by te werk:

leemte -lus () {

// Skep 'n veranderlike om die data wat deur SW01 float tempC, humiditeit, druk, alt; // Skep toestelveranderlikes tempC = 0; humiditeit = 0; druk = 0; alt=0; // Poll Sensor vir die versameling van data SW01.poll (); // Stoor data in toestelveranderlikes tempC = SW01.getTempC (); // Temperatuur in Celsius Serial.println ("Temperatuur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); humiditeit = SW01.getHumidity (); Serial.println ("Humiditeit:"); Reeks.afdruk (humiditeit); Serial.println (" %"); Serial.println (); druk = SW01.getPressure (); Serial.println ("Druk:"); Reeks.afdruk (druk); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Hoogte:"); Reeks.afdruk (alt); Serial.println ("m"); Serial.println (); // Skep ubidots -veranderlikes client.add ("Temperatuur (*C)", tempC); vertraging (500); client.add ("Humiditeit (%)", humiditeit); vertraging (500); client.add ("Druk (Pa)", druk); vertraging (500); client.add ("Hoogte (m)", alt); // Stuur al die punte client.sendAll (waar); // vertraging tussen sensorlesings om vertraging te stabiliseer (DELAY_TIME); }

Die volledige kode:

#sluit "UbidotsMicroESP8266.h" in

#include #include #define TOKEN "Your-Token" // Plaas hier u Ubidots TOKEN #define WIFISSID "Your-SSID" // Plaas hier u Wi-Fi SSID #define PASSWORD "password-of-ssid" // Sit hier u Wi-Fi-wagwoord Ubidots-kliënt (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Skep voorwerp van SW01 sensor leemte opstelling () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Begin die SW01 -sensor SW01.begin (); vertraging (DELAY_TIME); } void lus () {// Skep 'n veranderlike om die data wat deur SW01 float tempC, humiditeit, druk, alt, gelees word, te stoor; tempC = 0; humiditeit = 0; druk = 0; alt=0; // Poll Sensor vir die versameling van data SW01.poll (); // Stoor data in veranderlikes geheue tempC = SW01.getTempC (); // Temperatuur in Celsius Serial.println ("Temperatuur:"); Serial.print (tempC); Serial.println (" *C"); Serial.println (); humiditeit = SW01.getHumidity (); Serial.println ("Humiditeit:"); Reeks.afdruk (humiditeit); Serial.println (" %"); Serial.println (); druk = SW01.getPressure (); Serial.println ("Druk:"); Reeks.afdruk (druk); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Hoogte:"); Reeks.afdruk (alt); Serial.println ("m"); Serial.println (); // Skep ubidots -veranderlikes client.add ("Temperatuur (*C)", tempC); vertraging (500); client.add ("Humiditeit (%)", humiditeit); vertraging (500); client.add ("Druk (Pa)", druk); vertraging (500); client.add ("Hoogte (m)", alt); // Stuur al die punte client.sendAll (waar); // vertraging tussen sensorlesings om vertraging te stabiliseer (DELAY_TIME); }

Stap 5: Meld aan by Ubidots

1. Maak u Ubidots -rekening oop. U sien 'n toestel met die naam "ESP8266" met 4 veranderlikes (sien prent hieronder).

Toestelvisualisering

Beeld
Beeld

Veranderlike visualisering

Beeld
Beeld

As u die naam van die toestel wil verander, gebruik die kode:

client.setDataSourceName ("New_name");

Stap 6: Skep dashboards in Ubidots

Dashboards (staties en dinamies) is gebruikerskoppelvlakke om data van 'n toestel te organiseer en voor te stel en die insigte wat uit die data verkry word. Dashboards bevat widgets wat die data as kaarte, aanwysers, kontroles, tabelle, grafieke en ander grootte, vorms en vorms vertoon.

Raadpleeg die volgende Ubidots -tutoriaal om 'n nuwe dashboard in u Ubidots -rekening te skep om te leer hoe u dit moet doen.

Net as 'n verwysing, sodra u Ubidots -dashboard geskep is, behoort u iets soortgelyk aan die onderstaande beeld te hê:

Beeld
Beeld

PRO WENK: Daar is ook 'n reeks grafiese en verslagdoeningstools. As u meer hieroor wil leer, beveel ons aan dat u hierdie gids raadpleeg.

Beeld
Beeld

Stap 7: Opsomming

In hierdie tutoriaal het ons getoon hoe u 'n XinaBox -weerstasie met Ubidots kan kodeer en verbind. Dit maak afstandsbewaking moontlik en kan binne 10-15 minute voltooi word.

Ander lesers het ook nuttig gevind …

  • UbiFunctions: Integreer data van die AmbientWeather -platform tot Ubidots
  • Analytics: Basiese beginsels van sintetiese veranderlikes
  • Temperatuurbeheer met Ubidots MQTT en NodeMcu

Aanbeveel: