Mục lục:
- Bước 1: Yêu cầu
- Bước 2: Thiết lập phần cứng
- Bước 3: Thiết lập Arduino IDE
- Bước 4: Tìm hiểu mã
- Bước 5: Đăng nhập vào Ubidots
- Bước 6: Tạo Trang tổng quan trong Ubidots
- Bước 7: Tóm tắt
Video: Cách xây dựng Trạm thời tiết bằng XinaBox và Ubidots qua HTTP: 7 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Mô-đun Wi-Fi và lõi ESP8266 (xChip CW01) cho phép người dùng gửi dữ liệu từ xChips mô-đun của XinaBox lên đám mây. Dữ liệu này có thể được theo dõi từ xa trong Ubidots, nơi người dùng có thể tận dụng hàng loạt công cụ IoT của họ.
Cảm biến thời tiết nâng cao xChip SW01 (Bosch BME280) đo nhiệt độ, độ ẩm và áp suất khí quyển, từ đó cũng có thể tính được độ cao, nền mây và điểm sương.
Trong hướng dẫn này, chúng tôi sử dụng giao thức HTTP để gửi dữ liệu cảm biến tới Ubidots. Điều này cũng có thể được thực hiện bằng giao thức MQTT.
Đến cuối hướng dẫn này, bạn sẽ có thể theo dõi và đo lường điều kiện thời tiết tại thiết bị XinaBox của mình từ bất kỳ đâu bằng cách sử dụng Ubidots.
Bước 1: Yêu cầu
- 1x CW01 - lõi WiFi (ESP8266 / ESP-12F)
- 1x IP01 - Giao diện lập trình USB (FT232R)
- 1x SW01 - Cảm biến thời tiết nâng cao (BME280)
- 1x XC10 - 10 gói kết nối xBUS
- Arduino IDE
- Tài khoản ubidots
Bước 2: Thiết lập phần cứng
Kết nối CW01, SW01 và IP01 với nhau bằng đầu nối XC10 xBUS. Bạn có thể kết nối nó như thể hiện trong sơ đồ bên dưới. Vui lòng xem hướng dẫn này về cách lắp ráp xChips nói chung.
Sau đó, kết nối thiết bị và PC của bạn thông qua USB của IP01. Đối với điều này, bạn sẽ cần sử dụng phần mềm xFlasher để flash mã khi đã sẵn sàng. Xem hướng dẫn này về cách sử dụng xFlasher.
Bước 3: Thiết lập Arduino IDE
1. Cài đặt Arduino IDE 1.8.8
2. Cài đặt các thư viện này vào Arduino: ESP8266 Arduino, Ubidots ESP8266, xCore, xSW01.
LƯU Ý: Nếu bạn chưa biết cách Cài đặt thư viện, vui lòng tham khảo liên kết: Cài đặt thư viện Arduino
3. Với nền tảng ESP8266 được cài đặt, hãy chọn thiết bị ESP8266 mà bạn đang làm việc. Trong trường hợp này, chúng tôi đang làm việc với “CW01 (mô-đun ESP12F)”. Để chọn bảng của bạn từ Arduino IDE, hãy chọn Công cụ> Bảng “NodeMCU 1.0 (mô-đun ESP12E)”.
LƯU Ý: ESP12F và ESP12E có thể hoán đổi cho nhau cho mục đích này.
Bước 4: Tìm hiểu mã
Bao gồm các thư viện:
#include "UbidotsMicroESP8266.h"
#include #include
Nhập thông tin đăng nhập Wi-Fi và Ubidots của bạn:
#define TOKEN "Your-Token" // Đặt ở đây TOKEN Ubidots của bạn
#define WIFISSID "Your-SSID" // Đặt tại đây Wi-Fi SSID của bạn #define PASSWORD "password-of-ssid" // Đặt ở đây mật khẩu Wi-Fi của bạn
Ubidots TOKEN duy nhất của bạn được lấy từ tài khoản Ubidots của bạn. Tham khảo liên kết sau để biết nơi tìm Ubidots TOKEN của bạn.
Thiết lập một lần, hãy xem các nhận xét để tự giải thích:
void setup () {
// Gỡ lỗi tại 115200 bằng cách sử dụng màn hình nối tiếp Serial.begin (115200); // Kết nối với Access Point client.wifiConnection (WIFISSID, PASSWORD); // Giao tiếp I2C bắt đầu Wire.begin (); // Khởi động SW01 Sensor SW01.begin (); // Giới thiệu một số độ trễ, độ trễ 2-3 giây (DELAY_TIME); }
Lặp lại hoạt động, để giữ cho nó chạy và cập nhật liên tục:
void loop () {
// Tạo một biến để lưu dữ liệu đọc được từ SW01 float tempC, ẩm độ, áp suất, alt; // Tạo biến vùng nhớ tempC = 0; độ ẩm = 0; áp suất = 0; alt=0; // Cảm biến thăm dò để thu thập dữ liệu SW01.poll (); // Lưu dữ liệu vào biến vùng nhớ tempC = SW01.getTempC (); // Nhiệt độ tính bằng độ C Serial.println ("Nhiệt độ:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); độ ẩm = SW01.getHumidity (); Serial.println ("Độ ẩm:"); Serial.print (độ ẩm); Serial.println ("%"); Serial.println (); áp suất = SW01.getPressure (); Serial.println ("Áp suất:"); Serial.print (áp suất); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Cao độ:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Tạo biến ubidots client.add ("Nhiệt độ (* C)", tempC); chậm trễ (500); client.add ("Độ ẩm (%)", độ ẩm); chậm trễ (500); client.add ("Áp suất (Pa)", áp suất); chậm trễ (500); client.add ("Cao độ (m)", alt); // Gửi tất cả các dấu chấm client.sendAll (true); // độ trễ giữa các lần đọc cảm biến để ổn định độ trễ (DELAY_TIME); }
Mã hoàn chỉnh:
#include "UbidotsMicroESP8266.h"
#include #include #define TOKEN "Your-Token" // Đặt Ubidots TOKEN của bạn #define WIFISSID "Your-SSID" // Đặt tại đây Wi-Fi SSID #define PASSWORD "password-of-ssid" // Đặt ở đây ứng dụng khách Ubidots mật khẩu Wi-Fi của bạn (TOKEN); const int DELAY_TIME = 2000; xSW01 SW01; // Tạo đối tượng của cảm biến SW01 void setup () {Serial.begin (115200); client.wifiConnection (WIFISSID, MẬT KHẨU); Wire.begin (); // Khởi động SW01 Sensor SW01.begin (); chậm trễ (DELAY_TIME); } void loop () {// Tạo một biến để lưu dữ liệu đọc được từ SW01 float tempC, Moisturiser, pressure, alt; tempC = 0; độ ẩm = 0; áp suất = 0; alt=0; // Cảm biến thăm dò để thu thập dữ liệu SW01.poll (); // Lưu dữ liệu vào biến bộ nhớ tempC = SW01.getTempC (); // Nhiệt độ tính bằng độ C Serial.println ("Nhiệt độ:"); Serial.print (tempC); Serial.println ("* C"); Serial.println (); độ ẩm = SW01.getHumidity (); Serial.println ("Độ ẩm:"); Serial.print (độ ẩm); Serial.println ("%"); Serial.println (); áp suất = SW01.getPressure (); Serial.println ("Áp suất:"); Serial.print (áp suất); Serial.println ("Pa"); Serial.println (); alt=SW01.getAltitude (101325); Serial.println ("Cao độ:"); Serial.print (alt); Serial.println ("m"); Serial.println (); // Tạo biến ubidots client.add ("Nhiệt độ (* C)", tempC); chậm trễ (500); client.add ("Độ ẩm (%)", độ ẩm); chậm trễ (500); client.add ("Áp suất (Pa)", áp suất); chậm trễ (500); client.add ("Cao độ (m)", alt); // Gửi tất cả các dấu chấm client.sendAll (true); // độ trễ giữa các lần đọc cảm biến để ổn định độ trễ (DELAY_TIME); }
Bước 5: Đăng nhập vào Ubidots
1. Mở tài khoản Ubidots của bạn. Bạn sẽ thấy một thiết bị có tên “ESP8266” với 4 biến (xem hình bên dưới).
Hình ảnh hóa thiết bị
Hình ảnh hóa các biến
Nếu bạn muốn thay đổi tên của thiết bị, hãy sử dụng mã:
client.setDataSourceName ("Tên_mới");
Bước 6: Tạo Trang tổng quan trong Ubidots
Trang tổng quan (tĩnh và động) là giao diện người dùng để tổ chức và trình bày dữ liệu của thiết bị cũng như thông tin chi tiết thu được từ dữ liệu. Trang tổng quan chứa các tiện ích con hiển thị dữ liệu dưới dạng biểu đồ, chỉ báo, điều khiển, bảng, đồ thị và các kích thước, hình dạng và biểu mẫu khác.
Để tạo Trang tổng quan mới trong tài khoản Ubidots của bạn, hãy tham khảo hướng dẫn Ubidots sau đây để tìm hiểu cách thực hiện.
Chỉ như một tài liệu tham khảo, khi Trang tổng quan Ubidots của bạn được tạo, bạn sẽ có một cái gì đó tương tự như hình ảnh bên dưới:
MẸO CHUYÊN NGHIỆP: Ngoài ra còn có một loạt các công cụ lập đồ thị và báo cáo. Nếu bạn muốn tìm hiểu thêm về điều này, chúng tôi khuyên bạn nên xem hướng dẫn này.
Bước 7: Tóm tắt
Trong hướng dẫn này, chúng tôi đã chỉ ra cách viết mã và kết nối trạm Thời tiết XinaBox với Ubidots. Điều này cho phép giám sát từ xa và có thể hoàn thành trong vòng 10-15 phút.
Những người đọc khác cũng thấy hữu ích…
- UbiFunctions: Tích hợp dữ liệu từ Nền tảng AmbientWeather vào Ubidots
- Analytics: Khái niệm cơ bản về biến tổng hợp
- Kiểm soát nhiệt độ với Ubidots MQTT và NodeMcu
Đề xuất:
Trạm thời tiết NaTaLia: Trạm thời tiết sử dụng năng lượng mặt trời Arduino Đã thực hiện đúng cách: 8 bước (có hình ảnh)
Trạm thời tiết NaTaLia: Trạm thời tiết sử dụng năng lượng mặt trời Arduino Đã hoàn thành đúng cách: Sau 1 năm hoạt động thành công trên 2 địa điểm khác nhau, tôi đang chia sẻ kế hoạch dự án trạm thời tiết sử dụng năng lượng mặt trời của mình và giải thích cách nó phát triển thành một hệ thống thực sự có thể tồn tại trong thời gian dài thời kỳ từ năng lượng mặt trời. Nếu bạn theo dõi
Hướng dẫn: Cách xây dựng mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X bằng cách sử dụng Arduino UNO: 3 bước
Hướng dẫn: Cách xây dựng Mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X bằng cách sử dụng Arduino UNO: Mô tả: Hướng dẫn này sẽ hiển thị chi tiết cho tất cả các bạn về cách xây dựng máy dò khoảng cách bằng cách sử dụng Mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X và Arduino UNO và nó sẽ chạy giống như bạn muốn. Làm theo hướng dẫn và bạn sẽ hiểu gia sư này
Xây dựng Bảng điều khiển thời tiết bằng API Dark Sky: 5 bước (có Hình ảnh)
Xây dựng Bảng điều khiển thời tiết bằng API Dark Sky: Dark Sky chuyên về dự báo và hình dung thời tiết. Khía cạnh thú vị nhất của Dark Sky là API thời tiết của họ mà chúng ta có thể sử dụng để truy xuất dữ liệu thời tiết từ hầu hết mọi nơi trên thế giới. Không chỉ thời tiết mưa hay nắng mà cả thời tiết
Trạm thời tiết tự làm bằng DHT11, BMP180, Nodemcu với Arduino IDE qua máy chủ Blynk: 4 bước
DIY Weather Station sử dụng DHT11, BMP180, Nodemcu với Arduino IDE Over Blynk Server: Github: DIY_Weather_Station Hackster.io: Weather Station Bạn sẽ thấy Ứng dụng Thời tiết phải không? Giống như, khi bạn mở nó ra, bạn sẽ biết các điều kiện thời tiết như Nhiệt độ, Độ ẩm, v.v. Những giá trị đó là giá trị trung bình của một giá trị lớn là
Acurite 5 trong 1 Trạm thời tiết sử dụng Raspberry Pi và Weewx (các trạm thời tiết khác tương thích): 5 bước (có Hình ảnh)
Trạm thời tiết Acurite 5 trong 1 Sử dụng Raspberry Pi và Weewx (các Trạm thời tiết khác Tương thích): Khi tôi mua trạm thời tiết Acurite 5 trong 1, tôi muốn có thể kiểm tra thời tiết tại nhà của mình khi tôi đi vắng. Khi tôi về nhà và thiết lập nó, tôi nhận ra rằng tôi phải có màn hình kết nối với máy tính hoặc mua trung tâm thông minh của họ,