
Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-23 15:01

Leer hoe u uw eigen weerstation maakt bij Ubidots, met behulp van XinaBox xChips (IP01, CW01 en SW01)

Met de ESP8266 Core en Wi-Fi-module (xChip CW01) kunnen gebruikers gegevens van XinaBox's modulaire xChips naar de cloud verzenden. Deze gegevens kunnen op afstand worden gecontroleerd in Ubidots, waar gebruikers kunnen profiteren van hun reeks IoT-tools.
De xChip SW01 Advanced Weather Sensor (Bosch BME280) meet temperatuur, vochtigheid en atmosferische druk, van waaruit ook hoogte, wolkenbasis en dauwpunt kan worden berekend.
In deze tutorial gebruiken we het HTTP-protocol om sensorgegevens naar Ubidots te sturen. Dit kan ook worden gedaan met behulp van het MQTT-protocol.
Aan het einde van deze handleiding kun je de weersomstandigheden op je XinaBox-apparaat overal op afstand volgen en meten met behulp van Ubidots.
Stap 1: Vereisten
- 1x CW01 - WiFi-kern (ESP8266/ESP-12F)
- 1x IP01 - USB-programmeerinterface (FT232R)
- 1x SW01 - Geavanceerde weersensor (BME280)
- 1x XC10 - 10-pack xBUS-connectoren
- Arduino IDE
- Ubidots-account
Stap 2: Hardware-installatie
Verbind CW01, SW01 en IP01 met elkaar met behulp van de XC10 xBUS-connectoren. U kunt het aansluiten zoals weergegeven in het onderstaande schema. Raadpleeg deze handleiding over hoe u xChips in het algemeen in elkaar zet.

Verbind vervolgens uw apparaat en pc via de USB van de IP01. Hiervoor moet u de xFlasher-software gebruiken om de code te flashen zodra deze klaar is. Zie deze handleiding over het gebruik van de xFlasher.
Stap 3: De Arduino IDE instellen
1. Installeer Arduino IDE 1.8.8
2. Installeer deze bibliotheken op Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.
OPMERKING: Als u niet bekend bent met het installeren van bibliotheken, raadpleeg dan de link: Arduino-bibliotheken installeren
3. Selecteer met het ESP8266-platform geïnstalleerd het ESP8266-apparaat waarmee u werkt. In dit geval werken we met een “CW01(ESP12F module)”. Om uw bord uit de Arduino IDE te selecteren, selecteert u Tools > Board "NodeMCU 1.0 (ESP12E module)".
OPMERKING: ESP12F en ESP12E zijn voor dit doel uitwisselbaar.
Stap 4: De code begrijpen
Inclusief bibliotheken:
#include "UbidotsMicroESP8266.h"
#include #include
Voer uw wifi- en Ubidots-referenties in:
#define TOKEN "Your-Token" // Plaats hier uw Ubidots TOKEN
#define WIFISSID "Your-SSID" // Plaats hier uw Wi-Fi SSID #define PASSWORD "password-of-ssid" // Zet hier uw Wi-Fi-wachtwoord
Uw unieke Ubidots TOKEN wordt verkregen van uw Ubidots-account. Raadpleeg de volgende link om te zien waar u uw Ubidots TOKEN kunt vinden.
Eenmalige setup, zie de opmerkingen voor zelfverklaring:
ongeldige setup() {
//Foutopsporing op 115200 met seriële monitor Serial.begin (115200); // Maak verbinding met de Access Point-client.wifiConnection (WIFISSID, PASSWORD); // I2C-communicatie begint Wire.begin(); // Start de SW01-sensor SW01.begin (); // Introductie van wat vertraging, 2-3 seconden vertraging (DELAY_TIME); }
Loop de bewerking door om deze continu te laten werken en bij te werken:
lege lus() {
// Maak een variabele om de gegevens op te slaan die zijn gelezen van SW01 float tempC, vochtigheid, druk, alt; // Apparaatvariabelen maken tempC = 0; vochtigheid = 0; druk = 0; alt=0; // Poll-sensor voor het verzamelen van gegevens SW01.poll(); // Gegevens opslaan in apparaatvariabelen tempC = SW01.getTempC (); // Temperatuur in Celsius Serial.println ("Temperatuur: "); Serial.print(tempC); Serieel.println(" *C"); Serieel.println(); vochtigheid = SW01.getHumidity(); Serial.println("Vochtigheid: "); Seriële.afdruk (vochtigheid); Serieel.println(" %"); Serieel.println(); druk = SW01.getPressure(); Serial.println("Druk: "); Serieafdruk(druk); Serial.println("Pa"); Serieel.println(); alt=SW01.getAltitude (101325); Serial.println("Hoogte: "); Serial.print(alt); Serieel.println("m"); Serieel.println(); //Maak ubidots-variabelen client.add ("Temperatuur (*C)", tempC); vertraging (500); client.add ("Vochtigheid (%)", vochtigheid); vertraging (500); client.add ("Druk (Pa)", druk); vertraging (500); client.add ("Hoogte (m)", alt); //Stuur alle punten client.sendAll (true); // vertraging tussen sensorlezingen om vertraging te stabiliseren (DELAY_TIME); }
De volledige code:
#include "UbidotsMicroESP8266.h"
#include #include #define TOKEN "Your-Token" // Plaats hier uw Ubidots TOKEN #define WIFISSID "Your-SSID" // Plaats hier uw Wi-Fi SSID #define PASSWORD "password-of-ssid" // Plaats hier uw wifi-wachtwoord Ubidots-client (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Object maken van SW01 sensor void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASWOORD); Draad.begin(); // Start de SW01-sensor SW01.begin (); vertraging (DELAY_TIME); } void loop () { // Maak een variabele om de gegevens op te slaan die zijn gelezen van SW01 float tempC, vochtigheid, druk, alt; tempC = 0; vochtigheid = 0; druk = 0; alt=0; // Poll-sensor voor het verzamelen van gegevens SW01.poll(); // Gegevens opslaan in variabelengeheugen tempC = SW01.getTempC (); // Temperatuur in Celsius Serial.println ("Temperatuur: "); Serial.print(tempC); Serieel.println(" *C"); Serieel.println(); vochtigheid = SW01.getHumidity(); Serial.println("Vochtigheid: "); Seriële.afdruk (vochtigheid); Serieel.println(" %"); Serieel.println(); druk = SW01.getPressure(); Serial.println("Druk: "); Serieafdruk(druk); Serial.println("Pa"); Serieel.println(); alt=SW01.getAltitude (101325); Serial.println("Hoogte: "); Serial.print(alt); Serieel.println("m"); Serieel.println(); //Maak ubidots-variabelen client.add ("Temperatuur (*C)", tempC); vertraging (500); client.add ("Vochtigheid (%)", vochtigheid); vertraging (500); client.add ("Druk (Pa)", druk); vertraging (500); client.add ("Hoogte (m)", alt); //Stuur alle punten client.sendAll (true); // vertraging tussen sensorlezingen om vertraging te stabiliseren (DELAY_TIME); }
Stap 5: Log in op Ubidots
1. Open uw Ubidots-account. U ziet een apparaat met de naam "ESP8266" met 4 variabelen (zie afbeelding hieronder).
Apparaatvisualisatie

Variabelen visualisatie

Als u de naam van het apparaat wilt wijzigen, gebruikt u de code:
client.setDataSourceName("Nieuwe_naam");
Stap 6: Dashboards maken in Ubidots
Dashboards (statisch en dynamisch) zijn gebruikersinterfaces om de gegevens van een apparaat en de daaruit afgeleide inzichten te ordenen en te presenteren. Dashboards bevatten widgets die de gegevens weergeven als grafieken, indicatoren, besturingselementen, tabellen, grafieken en andere formaten, vormen en formulieren.
Raadpleeg de volgende Ubidots-zelfstudie om te leren hoe u dit moet doen om een nieuw dashboard in uw Ubidots-account te maken.
Ter referentie: zodra uw Ubidots-dashboard is gemaakt, zou u iets moeten hebben dat lijkt op de onderstaande afbeelding:

TIP VOOR EXPERTS: Er is ook een reeks grafische en rapportagetools. Als je hier meer over wilt weten, raden we je aan deze handleiding te raadplegen.

Stap 7: Samenvatting
In deze tutorial hebben we laten zien hoe je een XinaBox Weerstation codeert en verbindt met Ubidots. Dit maakt monitoring op afstand mogelijk en kan binnen 10-15 minuten worden voltooid.
Andere lezers hebben ook nuttig gevonden …
- UbiFunctions: integreer data van het AmbientWeather Platform naar Ubidots
- Analyse: basisprincipes van synthetische variabelen
- Temperatuurregeling met Ubidots MQTT en NodeMcu
Aanbevolen:
Een kluis bouwen met een Rpi: 12 stappen

Bouw een kluis met behulp van een Rpi: Wilt u leren hoe u uw Raspberry pi kunt omzetten in een volledig functionerende kluis? Volg dan deze 12 stap instructable om te leren hoe. De kluis heeft een volledig functionerend toetsenbord en een sluitsysteem, zodat je je spullen veilig kunt opbergen
Een Cubesat bouwen met een Arduino en accelerometer: 5 stappen

Hoe maak je een Cubesat bouwen met een Arduino en Accelerometer .: Onze namen zijn Brock, Eddie en Drew. Het belangrijkste doel van onze natuurkundeles is om van de aarde naar Mars te reizen terwijl we de baan rond Mars simuleren met behulp van een Cube Sat en het verzamelen van gegevens. Het doel van onze groep voor dit project is om gegevens te verzamelen met behulp van een accele
Een CubeSat bouwen met een Arduino met een Arducam - Ajarnpa

Hoe een CubeSat te bouwen met een Arduino met een Arducam: In de eerste afbeelding hebben we een Arduino en deze wordt "Arduino Uno" genoemd. In de tweede afbeelding hebben we een Arducam en deze heet "Arducam OV2640". 2MP mini."Samen met de tweede foto zijn er de materialen die je nodig hebt om
Een website bouwen op een Raspberry Pi, met Node.js, Express en MongoDB Deel 1: 6 stappen

Een website bouwen op een Raspberry Pi, met Node.js, Express en MongoDB… Deel 1: Welkom bij DEEL 1 van mijn node.js webapp-tutorial. Deel 1 gaat door de benodigde software die wordt gebruikt voor de ontwikkeling van node.js-apps, hoe je port forwarding gebruikt, hoe je een app bouwt met Express en hoe je je app uitvoert. Het tweede deel van dit
Een thuisstudio bouwen met een megabudget: 8 stappen (met afbeeldingen)

Een thuisstudio bouwen met een megabudget: nu het digitale tijdperk ons blijft laten zien hoe technologie de behoefte aan professionele diensten heeft verminderd, wordt het steeds gemakkelijker om goede resultaten te behalen met kunstvormen zoals audio-opname. Het is mijn doel om de meest kosteneffectieve manier van