Isi kandungan:

Cara Membina Stesen Cuaca Menggunakan XinaBox dan Ubidots Melalui HTTP: 7 Langkah
Cara Membina Stesen Cuaca Menggunakan XinaBox dan Ubidots Melalui HTTP: 7 Langkah

Video: Cara Membina Stesen Cuaca Menggunakan XinaBox dan Ubidots Melalui HTTP: 7 Langkah

Video: Cara Membina Stesen Cuaca Menggunakan XinaBox dan Ubidots Melalui HTTP: 7 Langkah
Video: IOT Project : Sistem monitoring suhu, kelembaban, tekanan berbasis web server dan aplikasi Bynk 2024, Julai
Anonim
Cara Membina Stesen Cuaca Menggunakan XinaBox dan Ubidots Melalui HTTP
Cara Membina Stesen Cuaca Menggunakan XinaBox dan Ubidots Melalui HTTP

Ketahui cara membuat Stesen Cuaca anda sendiri di Ubidots, menggunakan XinaBox xChips (IP01, CW01 dan SW01)

Imej
Imej

Modul Teras dan Wi-Fi ESP8266 (xChip CW01) membolehkan pengguna menghantar data dari xChip modular XinaBox ke awan. Data ini dapat dipantau dari jauh di Ubidots, di mana pengguna dapat memanfaatkan rangkaian alat IoT mereka.

Sensor Cuaca Lanjutan xChip SW01 (Bosch BME280) mengukur suhu, kelembapan dan tekanan atmosfera, dari mana ketinggian, dasar awan dan titik embun juga dapat dikira.

Dalam tutorial ini kami menggunakan protokol HTTP untuk mengirim data sensor ke Ubidots. Ini juga dapat dilakukan dengan menggunakan protokol MQTT.

Pada akhir panduan ini, anda akan dapat memantau dan mengukur keadaan cuaca pada peranti XinaBox anda dari mana sahaja dengan jarak jauh menggunakan Ubidots.

Langkah 1: Keperluan

  • 1x CW01 - Teras WiFi (ESP8266 / ESP-12F)
  • 1x IP01 - Antaramuka Pengaturcaraan USB (FT232R)
  • 1x SW01 - Sensor Cuaca Lanjutan (BME280)
  • 1x XC10 - Penyambung xBUS 10-Pek
  • Arduino IDE
  • Akaun Ubidots

Langkah 2: Persediaan Perkakasan

Sambungkan CW01, SW01 dan IP01 bersama-sama menggunakan penyambung XC10 xBUS. Anda boleh menghubungkannya seperti dalam rajah di bawah. Lihat panduan ini mengenai cara memasang xChips secara am.

Imej
Imej

Kemudian, sambungkan peranti dan PC anda melalui USB IP01. Untuk ini, anda perlu menggunakan perisian xFlasher untuk memancarkan kod setelah siap. Lihat panduan ini mengenai penggunaan xFlasher.

Langkah 3: Menyiapkan Arduino IDE

1. Pasang Arduino IDE 1.8.8

2. Pasang perpustakaan ini ke Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.

CATATAN: Sekiranya anda tidak biasa dengan cara Memasang perpustakaan, sila rujuk pautan: Memasang perpustakaan Arduino

3. Dengan platform ESP8266 dipasang, pilih peranti ESP8266 yang anda gunakan. Dalam hal ini, kami bekerja dengan "CW01 (modul ESP12F)". Untuk memilih papan anda dari Arduino IDE, pilih Alat> Papan "NodeMCU 1.0 (modul ESP12E)".

CATATAN: ESP12F dan ESP12E boleh ditukar ganti untuk tujuan ini.

Langkah 4: Memahami Kod

Termasuk perpustakaan:

#sertakan "UbidotsMicroESP8266.h"

#sertakan #sertakan

Masukkan Kredensial Wi-Fi dan Ubidots anda:

#tentukan TOKEN "Token Anda" // Letakkan di sini TOKEN Ubidots anda

#define WIFISSID "Your-SSID" // Letakkan di sini Wi-Fi SSID anda #define PASSWORD "password-of-ssid" // Masukkan di sini kata laluan Wi-Fi anda

TOKEN Ubidots unik anda diperoleh dari akaun Ubidots anda. Rujuk pautan berikut untuk mengetahui di mana mencari TOKEN Ubidots anda.

Satu kali persediaan, lihat komen untuk penjelasan sendiri:

batal persediaan () {

// Menyahpepijat pada 115200 menggunakan monitor bersiri Serial.begin (115200); // Sambungkan ke Access Point client.wifiConnection (WIFISSID, PASSWORD); // Komunikasi I2C bermula Wire.begin (); // Mulakan Sensor SW01 SW01.begin (); // Memperkenalkan kelewatan, kelewatan 2-3 saat (DELAY_TIME); }

Gelung operasi, untuk terus berjalan dan dikemas kini secara berterusan:

gelung kosong () {

// Buat pemboleh ubah untuk menyimpan data yang dibaca dari SW01 float tempC, kelembapan, tekanan, alt; // Membuat pemboleh ubah peranti tempC = 0; kelembapan = 0; tekanan = 0; alt=0; // Poll Sensor untuk mengumpulkan data SW01.poll (); // Menyimpan data ke pemboleh ubah peranti tempC = SW01.getTempC (); // Suhu dalam Celsius Serial.println ("Suhu:"); Serial.print (tempC); Serial.println ("* C"); Bersiri.println (); kelembapan = SW01.getHumidity (); Serial.println ("Kelembapan:"); Cetakan bersiri (kelembapan); Serial.println ("%"); Bersiri.println (); tekanan = SW01.getPressure (); Serial.println ("Tekanan:"); Cetakan bersiri (tekanan); Serial.println ("Pa"); Bersiri.println (); alt=SW01.getAltitude (101325); Serial.println ("Ketinggian:"); Cetakan bersiri (alt); Serial.println ("m"); Bersiri.println (); // Buat pemboleh ubah ubidots client.add ("Temperature (* C)", tempC); kelewatan (500); client.add ("Kelembapan (%)", kelembapan); kelewatan (500); client.add ("Tekanan (Pa)", tekanan); kelewatan (500); client.add ("Ketinggian (m)", alt); // Hantar semua titik pelanggan.sendAll (benar); // kelewatan antara bacaan sensor untuk menstabilkan kelewatan (DELAY_TIME); }

Kod lengkap:

#sertakan "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // Letakkan di sini Ubidots TOKEN #define WIFISSID "Your-SSID" // Letakkan di sini Wi-Fi SSID #define PASSWORD "password-of-ssid" // Letakkan di sini pelanggan Ubidots kata laluan Wi-Fi anda (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Membuat objek penyediaan kekosongan sensor SW01 () {Serial.begin (115200); client.wifiConnection (WIFISSID, PASSWORD); Wire.begin (); // Mulakan Sensor SW01 SW01.begin (); kelewatan (DELAY_TIME); } gelung void () {// Buat pemboleh ubah untuk menyimpan data yang dibaca dari SW01 float tempC, kelembapan, tekanan, alt; tempC = 0; kelembapan = 0; tekanan = 0; alt=0; // Poll Sensor untuk mengumpulkan data SW01.poll (); // Menyimpan data ke tempC memori pemboleh ubah = SW01.getTempC (); // Suhu dalam Celsius Serial.println ("Suhu:"); Serial.print (tempC); Serial.println ("* C"); Bersiri.println (); kelembapan = SW01.getHumidity (); Serial.println ("Kelembapan:"); Cetakan bersiri (kelembapan); Serial.println ("%"); Bersiri.println (); tekanan = SW01.getPressure (); Serial.println ("Tekanan:"); Cetakan bersiri (tekanan); Serial.println ("Pa"); Bersiri.println (); alt=SW01.getAltitude (101325); Serial.println ("Ketinggian:"); Cetakan bersiri (alt); Serial.println ("m"); Bersiri.println (); // Buat pemboleh ubah ubidots client.add ("Temperature (* C)", tempC); kelewatan (500); client.add ("Kelembapan (%)", kelembapan); kelewatan (500); client.add ("Tekanan (Pa)", tekanan); kelewatan (500); client.add ("Ketinggian (m)", alt); // Hantar semua titik pelanggan.sendAll (benar); // kelewatan antara bacaan sensor untuk menstabilkan kelewatan (DELAY_TIME); }

Langkah 5: Log masuk ke Ubidots

1. Buka akaun Ubidots anda. Anda akan melihat peranti bernama "ESP8266" dengan 4 pemboleh ubah (lihat gambar di bawah).

Visualisasi peranti

Imej
Imej

Visualisasi pemboleh ubah

Imej
Imej

Sekiranya anda ingin menukar nama peranti, gunakan kodnya:

client.setDataSourceName ("Nama_ Baru");

Langkah 6: Membuat Papan Pemuka di Ubidots

Papan pemuka (statik dan dinamik) adalah antara muka pengguna untuk mengatur dan menyajikan data peranti dan pandangan yang diperoleh dari data. Papan pemuka berisi widget yang menampilkan data sebagai carta, indikator, kontrol, tabel, grafik, dan ukuran, bentuk, dan bentuk lain.

Untuk membuat Dashboard baru di akaun Ubidots anda, rujuk tutorial Ubidots berikut untuk mengetahui cara melakukannya.

Sebagai rujukan, sebaik sahaja Ubidots Dashboard anda dibuat, anda harus mempunyai sesuatu yang serupa dengan gambar di bawah:

Imej
Imej

PETUA PRO: Terdapat juga pelbagai alat grafik dan pelaporan. Sekiranya anda ingin mengetahui lebih lanjut mengenai ini, kami mengesyorkan anda menyemak panduan ini.

Imej
Imej

Langkah 7: Ringkasan

Dalam tutorial ini, kami telah menunjukkan cara membuat kod dan menghubungkan stesen Cuaca XinaBox ke Ubidots. Ini membolehkan pemantauan jarak jauh dan dapat diselesaikan dalam masa 10-15 minit.

Pembaca lain juga mendapati berguna …

  • UbiFunctions: Mengintegrasikan data dari AmbientWeather Platform ke Ubidots
  • Analisis: Asas Pemboleh ubah Sintetik
  • Kawalan Suhu dengan Ubidots MQTT dan NodeMcu

Disyorkan: