สารบัญ:

วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: 7 ขั้นตอน
วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: 7 ขั้นตอน

วีดีโอ: วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: 7 ขั้นตอน

วีดีโอ: วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP: 7 ขั้นตอน
วีดีโอ: IoT based Weather Station using NodeMCU [2022] 2024, กรกฎาคม
Anonim
วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP
วิธีสร้างสถานีตรวจอากาศโดยใช้ XinaBox และ Ubidots ผ่าน HTTP
เรียนรู้วิธีสร้างสถานีตรวจอากาศของคุณเองที่ Ubidots โดยใช้ XinaBox xChips (IP01, CW01 และ SW01)

ภาพ
ภาพ

โมดูล ESP8266 Core และ Wi-Fi (xChip CW01) ช่วยให้ผู้ใช้สามารถส่งข้อมูลจาก xChips แบบโมดูลาร์ของ XinaBox ไปยังคลาวด์ได้ ข้อมูลนี้สามารถตรวจสอบได้จากระยะไกลใน Ubidots ซึ่งผู้ใช้สามารถใช้ประโยชน์จากเครื่องมือ IoT ของตนได้

xChip SW01 Advanced Weather Sensor (Bosch BME280) วัดอุณหภูมิ ความชื้น และความกดอากาศ ซึ่งสามารถคำนวณระดับความสูง ฐานเมฆ และจุดน้ำค้างได้

ในบทช่วยสอนนี้ เราใช้โปรโตคอล HTTP เพื่อส่งข้อมูลเซ็นเซอร์ไปยัง Ubidots สามารถทำได้โดยใช้โปรโตคอล MQTT

ในตอนท้ายของคู่มือนี้ คุณจะสามารถตรวจสอบและวัดสภาพอากาศที่อุปกรณ์ XinaBox ได้จากทุกที่โดยใช้ Ubidots จากระยะไกล

ขั้นตอนที่ 1: ข้อกำหนด

  • 1x CW01 - คอร์ WiFi (ESP8266/ESP-12F)
  • 1x IP01 - อินเทอร์เฟซการเขียนโปรแกรม USB (FT232R)
  • 1x SW01 - เซ็นเซอร์สภาพอากาศขั้นสูง (BME280)
  • 1x XC10 - ตัวเชื่อมต่อ xBUS 10 แพ็ค
  • Arduino IDE
  • บัญชี Ubidots

ขั้นตอนที่ 2: การตั้งค่าฮาร์ดแวร์

เชื่อมต่อ CW01, SW01 และ IP01 เข้าด้วยกันโดยใช้ขั้วต่อ XC10 xBUS คุณสามารถเชื่อมต่อได้ดังแสดงในแผนภาพด้านล่าง โปรดดูคู่มือนี้เกี่ยวกับวิธีการประกอบ xChips โดยทั่วไป

ภาพ
ภาพ

จากนั้นเชื่อมต่ออุปกรณ์และพีซีของคุณผ่าน USB ของ IP01 สำหรับสิ่งนี้ คุณจะต้องใช้ซอฟต์แวร์ xFlasher เพื่อแฟลชโค้ดเมื่อพร้อม ดูคู่มือนี้เกี่ยวกับการใช้ xFlasher

ขั้นตอนที่ 3: การตั้งค่า Arduino IDE

1. ติดตั้ง Arduino IDE 1.8.8

2. ติดตั้งไลบรารีเหล่านี้ลงใน Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01

หมายเหตุ: หากคุณไม่คุ้นเคยกับวิธีการติดตั้งไลบรารี่ โปรดดูที่ลิงค์: การติดตั้งไลบรารี Arduino

3. เมื่อติดตั้งแพลตฟอร์ม ESP8266 แล้ว ให้เลือกอุปกรณ์ ESP8266 ที่คุณใช้งานอยู่ ในกรณีนี้ เรากำลังทำงานกับ “CW01(โมดูล ESP12F)” ในการเลือกบอร์ดของคุณจาก Arduino IDE ให้เลือกเครื่องมือ > บอร์ด “NodeMCU 1.0 (โมดูล ESP12E)”

หมายเหตุ: ESP12F และ ESP12E สามารถใช้แทนกันได้เพื่อจุดประสงค์นี้

ขั้นตอนที่ 4: ทำความเข้าใจรหัส

รวมถึงห้องสมุด:

#รวม "UbidotsMicroESP8266.h"

#รวม #รวม

ป้อนข้อมูลรับรอง Wi-Fi และ Ubidots ของคุณ:

#define TOKEN "Your-Token" // ใส่ Ubidots TOKEN ของคุณที่นี่

#define WIFISSID "Your-SSID" // ใส่ Wi-Fi SSID ของคุณ #define PASSWORD "password-of-ssid" // ใส่รหัสผ่าน Wi-Fi ของคุณที่นี่

คุณจะได้รับ Ubidots TOKEN จากบัญชี Ubidots ของคุณ อ้างถึงลิงค์ต่อไปนี้เพื่อเรียนรู้ที่จะหา Ubidots TOKEN ของคุณ

ติดตั้งครั้งเดียว ดูความคิดเห็นเพื่ออธิบายตนเอง:

การตั้งค่าเป็นโมฆะ () {

// การดีบักที่ 115200 โดยใช้จอภาพอนุกรม Serial.begin (115200); //เชื่อมต่อกับจุดเชื่อมต่อ client.wifiConnection(WIFISSID, PASSWORD); // การสื่อสาร I2C เริ่มต้น Wire.begin(); // เริ่มเซ็นเซอร์ SW01 SW01.begin(); //แนะนำการหน่วงเวลา 2-3 วินาที (DELAY_TIME); }

วนรอบการดำเนินการเพื่อให้ทำงานและอัปเดตอย่างต่อเนื่อง:

วงเป็นโมฆะ () {

// สร้างตัวแปรเพื่อเก็บข้อมูลที่อ่านจาก SW01 float tempC, ความชื้น, ความดัน, alt; //การสร้างตัวแปรอุปกรณ์ tempC = 0; ความชื้น = 0; ความดัน = 0; alt=0; // Poll Sensor สำหรับเก็บข้อมูล SW01.poll(); //บันทึกข้อมูลไปยังตัวแปรอุปกรณ์ tempC = SW01.getTempC(); // อุณหภูมิในหน่วยเซลเซียส Serial.println("อุณหภูมิ: "); Serial.print(tempC); Serial.println(" *C"); Serial.println(); ความชื้น = SW01.getHumidity(); Serial.println("ความชื้น: "); Serial.print(ความชื้น); Serial.println(" %"); Serial.println(); ความดัน = SW01.getPressure(); Serial.println("ความดัน: "); Serial.print(ความดัน); Serial.println (" Pa"); Serial.println(); alt=SW01.getAltitude(101325); Serial.println("ระดับความสูง: "); Serial.print(alt); Serial.println("m"); Serial.println(); //สร้างตัวแปร ubidots client.add("Temperature (*C)", tempC); ล่าช้า (500); client.add("ความชื้น (%)", ความชื้น); ล่าช้า (500); client.add("ความดัน (Pa)", ความดัน); ล่าช้า (500); client.add("ระดับความสูง (m)", alt); //ส่งจุดทั้งหมด client.sendAll(จริง); // หน่วงเวลาระหว่างเซ็นเซอร์อ่านเพื่อให้เกิดความล่าช้า (DELAY_TIME); }

รหัสที่สมบูรณ์:

#รวม "UbidotsMicroESP8266.h"

#include #include #define TOKEN "Your-Token" // ใส่ Ubidots TOKEN ของคุณที่นี่ #define WIFISSID "Your-SSID" // ใส่ Wi-Fi SSID ของคุณ #define PASSWORD "password-of-ssid" // ใส่ที่นี่ รหัสผ่าน Wi-Fi ไคลเอนต์ Ubidots (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // การสร้างวัตถุของการตั้งค่าโมฆะเซ็นเซอร์ SW01 () { Serial.begin (115200); client.wifiConnection (WIFISSID, รหัสผ่าน); Wire.begin(); // เริ่มเซ็นเซอร์ SW01 SW01.begin(); ล่าช้า (DELAY_TIME); } void loop() {// สร้างตัวแปรเพื่อเก็บข้อมูลที่อ่านจาก SW01 float tempC, ความชื้น, ความดัน, alt; อุณหภูมิ C = 0; ความชื้น = 0; ความดัน = 0; alt=0; // Poll Sensor สำหรับเก็บข้อมูล SW01.poll(); //บันทึกข้อมูลลงในตัวแปรหน่วยความจำ tempC = SW01.getTempC(); // อุณหภูมิในหน่วยเซลเซียส Serial.println("อุณหภูมิ: "); Serial.print(tempC); Serial.println(" *C"); Serial.println(); ความชื้น = SW01.getHumidity(); Serial.println("ความชื้น: "); Serial.print(ความชื้น); Serial.println(" %"); Serial.println(); ความดัน = SW01.getPressure(); Serial.println("ความดัน: "); Serial.print(ความดัน); Serial.println (" Pa"); Serial.println(); alt=SW01.getAltitude(101325); Serial.println("ระดับความสูง: "); Serial.print(alt); Serial.println("m"); Serial.println(); //สร้างตัวแปร ubidots client.add("Temperature (*C)", tempC); ล่าช้า (500); client.add("ความชื้น (%)", ความชื้น); ล่าช้า (500); client.add("ความดัน (Pa)", ความดัน); ล่าช้า (500); client.add("ระดับความสูง (m)", alt); //ส่งจุดทั้งหมด client.sendAll(จริง); // หน่วงเวลาระหว่างเซ็นเซอร์อ่านเพื่อให้เกิดความล่าช้า (DELAY_TIME); }

ขั้นตอนที่ 5: เข้าสู่ระบบ Ubidots

1. เปิดบัญชี Ubidots ของคุณ คุณจะเห็นอุปกรณ์ชื่อ “ESP8266” พร้อมตัวแปร 4 ตัว (ดูภาพด้านล่าง)

การสร้างภาพอุปกรณ์

ภาพ
ภาพ

การสร้างภาพตัวแปร

ภาพ
ภาพ

หากคุณต้องการเปลี่ยนชื่ออุปกรณ์ ใช้รหัส:

client.setDataSourceName("ชื่อใหม่");

ขั้นตอนที่ 6: การสร้างแดชบอร์ดใน Ubidots

แดชบอร์ด (สแตติกและไดนามิก) คืออินเทอร์เฟซผู้ใช้เพื่อจัดระเบียบและนำเสนอข้อมูลของอุปกรณ์และข้อมูลเชิงลึกที่ได้รับจากข้อมูล แดชบอร์ดประกอบด้วยวิดเจ็ตที่แสดงข้อมูลเป็นแผนภูมิ ตัวบ่งชี้ ตัวควบคุม ตาราง กราฟ และขนาด รูปร่าง และแบบฟอร์มอื่นๆ

ในการสร้างแดชบอร์ดใหม่ในบัญชี Ubidots ของคุณ โปรดอ่านบทช่วยสอน Ubidots ต่อไปนี้เพื่อเรียนรู้วิธีการทำ

เพื่อเป็นข้อมูลอ้างอิง เมื่อสร้างแดชบอร์ด Ubidots ของคุณแล้ว คุณควรมีสิ่งที่คล้ายกันกับภาพด้านล่าง:

ภาพ
ภาพ

เคล็ดลับระดับมืออาชีพ: นอกจากนี้ยังมีเครื่องมือสร้างกราฟและการรายงานอีกด้วย หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้ เราขอแนะนำให้คุณตรวจสอบคู่มือนี้

ภาพ
ภาพ

ขั้นตอนที่ 7: สรุป

ในบทช่วยสอนนี้ เราได้แสดงวิธีเขียนโค้ดและเชื่อมต่อสถานี XinaBox Weather กับ Ubidots ซึ่งช่วยให้สามารถตรวจสอบจากระยะไกลและดำเนินการให้เสร็จสิ้นได้ภายใน 10-15 นาที

ผู้อ่านคนอื่นพบว่ามีประโยชน์เช่นกัน …

  • UbiFunctions: รวมข้อมูลจากแพลตฟอร์ม AmbientWeather เข้ากับ Ubidots
  • การวิเคราะห์: ข้อมูลพื้นฐานเกี่ยวกับตัวแปรสังเคราะห์
  • การควบคุมอุณหภูมิด้วย Ubidots MQTT และ NodeMcu

แนะนำ: