Mục lục:

Trạm thời tiết Blynk: 7 bước
Trạm thời tiết Blynk: 7 bước

Video: Trạm thời tiết Blynk: 7 bước

Video: Trạm thời tiết Blynk: 7 bước
Video: Hướng dẫn sử dụng blynk iot - new blynk 2.0 - node mcu esp8266 - điều khiển thiết bị qua internet 2024, Tháng mười một
Anonim
Trạm thời tiết Blynk
Trạm thời tiết Blynk

Nhận cập nhật thời tiết trực tiếp đến thiết bị di động của bạn từ trạm thời tiết của riêng bạn! Xây dựng nhanh chóng và dễ dàng đáng kinh ngạc với xChips.

Bước 1: Những thứ được sử dụng trong dự án này

Các thành phần phần cứng

  • XinaBox CW01 x 1
  • XinaBox SW01 x 1
  • XinaBox SL01 x 1
  • XinaBox OD01 x 1
  • XinaBox IP01 x 1
  • XinaBox XC10 x 1

Ứng dụng phần mềm và dịch vụ trực tuyến

  • Arduino IDE
  • Blynk

Bước 2: Câu chuyện

Giới thiệu

Tôi đã xây dựng dự án này bằng cách sử dụng XinaBox xChips và Arduino IDE. Đây là một dự án kéo dài 5 phút, cho phép bạn nhận dữ liệu thời tiết trên điện thoại của mình thông qua ứng dụng Blynk và trên màn hình OLED của OD01. Dự án này rất hữu ích vì bạn có thể theo dõi thời tiết ở bất cứ đâu bạn chọn và nhận thông tin cập nhật trực tiếp trên điện thoại của mình thông qua ứng dụng. Tôi chọn sử dụng xChips vì chúng thân thiện với người dùng, chúng cũng loại bỏ nhu cầu hàn và thiết kế mạch nghiêm túc. Sử dụng Arduino IDE, tôi có thể dễ dàng lập trình xChips.

Bước 3: Tải xuống thư viện

  • Truy cập Github.xinabox
  • Tải xuống xCore ZIP
  • Cài đặt nó vào Arduino IDE bằng cách đi tới "Phác thảo", "Bao gồm Thư viện", sau đó "Thêm Thư viện. ZIP". Như đã thấy bên dưới

Hình 1: Thêm thư viện ZIP

  • Tải xuống xSW01 ZIP
  • Thêm thư viện giống như cách bạn đã làm đối với xCore.
  • Lặp lại cho xSL01 và xOD01
  • Bạn cũng cần cài đặt thư viện Blynk để có thể sử dụng ứng dụng. bạn có thể tìm thấy nó ở đây
  • Trước khi có thể lập trình, bạn cần đảm bảo rằng bạn đang sử dụng đúng bảng. Trong dự án này, tôi sử dụng Generic ESP8266 trong CW01 xChip. Bạn có thể tải thư viện bảng tại đây.

Bước 4: Lập trình

Kết nối IP01, CW01, SW01, SL01 và OD01 bằng cách sử dụng Kết nối xBUS. Đảm bảo rằng tên của xChips được định hướng chính xác

Hình 2: Các xChips được kết nối

  • Bây giờ, hãy cắm IP01 và xChips đã kết nối vào một cổng USB có sẵn.
  • Tải xuống hoặc sao chép và dán mã từ tiêu đề "CODE" vào IDE Arduino của bạn. Nhập mã thông báo xác thực, tên WiFi và mật khẩu của bạn vào nơi được chỉ định.
  • Ngoài ra, bạn có thể tạo mã của riêng mình bằng cách sử dụng các nguyên tắc có liên quan để đạt được cùng một mục tiêu
  • Để đảm bảo không có lỗi, hãy biên dịch mã.

Bước 5: Thiết lập Blynk

  • Sau khi cài đặt ứng dụng Blynk miễn phí từ cửa hàng ứng dụng của bạn, đã đến lúc thiết lập dự án.
  • Trước khi nhấp vào "Đăng nhập" sau khi nhập địa chỉ email và mật khẩu của bạn, hãy đảm bảo "Cài đặt Máy chủ" của bạn được đặt thành "BLYNK".

Hình 3: Cài đặt Máy chủ

  • Đăng nhập.
  • Tạo dự án mới.
  • Chọn thiết bị "ESP8266"

Hình 4: Chọn thiết bị / bo mạch

  • Gán tên dự án
  • Nhận thông báo "Mã xác thực" và email có chứa "Mã thông báo xác thực".

Hình 5: Thông báo Auth Token

Đi tới "Hộp tiện ích con"

Hình 6: Hộp widget

  • Thêm 4 "Nút" và 4 "Hiển thị Giá trị"
  • Gán các "Nút" và "Giá trị Hiển thị" tương ứng Ghim ảo của chúng như được chỉ định trong "MÃ". Tôi đã sử dụng số chẵn cho "Nút" và số lẻ tương ứng cho "Màn hình giá trị"
  • Thiết lập này có thể được điều chỉnh để phù hợp với nhu cầu của bạn khi bạn điều chỉnh mã của mình.

Hình 7: Bảng điều khiển dự án (Tuyên bố từ chối trách nhiệm: Bỏ qua các giá trị, đây là ảnh chụp màn hình sau khi tôi kiểm tra trạm thời tiết. Của bạn cũng tương tự, chỉ với các mặt trống như V7)

Bước 6: Tải lên mã

  • Sau khi biên dịch thành công ở Bước 2 (không tìm thấy lỗi), bạn có thể tải mã lên xChips của mình. Đảm bảo các công tắc hướng về phía "B" và "DCE" tương ứng trước khi tải lên.
  • Sau khi tải lên thành công, hãy mở ứng dụng Blynk trên thiết bị di động của bạn.
  • Mở dự án của bạn từ Bước 3.

Hình 8

  • Nhấn phát và nhấn "Các nút" tương ứng để dữ liệu có thể được hiển thị trong ứng dụng của bạn và trên màn hình OLED.
  • Bây giờ trạm thời tiết Blynk của bạn đã sẵn sàng để ĐI!

Bước 7: Mã

Blynk_Weather_Station.ino Arduino Mã Arduino cho Trạm thời tiết với Blynk và xCHIPS. Mã này cho phép bạn điều khiển không dây trạm thời tiết từ thiết bị di động của mình và nhận cập nhật dữ liệu thời tiết trực tiếp đến thiết bị di động của bạn từ trạm thời tiết xCHIP

#include // bao gồm thư viện lõi

#include // bao gồm thư viện cảm biến thời tiết #include // bao gồm thư viện cảm biến ánh sáng #include // bao gồm thư viện ESP8266 cho WiFi #include // bao gồm thư viện Blynk để sử dụng với ESP8266 #include // include OLED libraryxSW01 SW01; // xSL01 SL01; float TempC; phao Độ ẩm; nổi tia UVA; float UV_Index; // mã thông báo xác thực đã được gửi qua email cho bạn // sao chép và dán mã thông báo vào giữa dấu ngoặc kép char auth = "mã thông báo xác thực của bạn"; // thông tin đăng nhập wifi của bạn char WIFI_SSID = "tên WiFi của bạn"; // nhập tên wifi của bạn vào giữa dấu ngoặc kép char WIFI_PASS = "mật khẩu WiFi của bạn"; // nhập mật khẩu wifi của bạn giữa dấu ngoặc kép BlynkTimer timer; // VirtualPin cho Nhiệt độ BLYNK_WRITE (V2) {int pinValue = param.asInt (); // gán giá trị đến từ chân V1 cho một biến if (pinValue == 1) {Blynk.virtualWrite (V1, TempC); OD01.println ("Temp_C:"); OD01.println (TempC); } else {}} // VirtualPin cho độ ẩm BLYNK_WRITE (V4) {int pin_value = param.asInt (); // gán giá trị đến từ chân V3 cho một biến if (pin_value == 1) {Blynk.virtualWrite (V3, Humidity); OD01.println ("Độ ẩm:"); OD01.println (Độ ẩm); } else {}} // VirtualPin cho UVA BLYNK_WRITE (V6) {int pinvalue = param.asInt (); // gán giá trị đến từ chân V5 cho một biến if (pinvalue == 1) {Blynk.virtualWrite (V5, UVA); OD01.println ("UVA:"); OD01.println (UVA); } else {}} // VirtualPin cho UV_Index BLYNK_WRITE (V8) {int pin_Value = param.asInt (); // gán giá trị đến từ chân V7 cho một biến if (pin_Value == 1) {Blynk.virtualWrite (V7, UV_Index); OD01.println ("UV_Index:"); OD01.println (UV_Index); } else {}} void setup () {// Bảng điều khiển gỡ lỗi TempC = 0; Serial.begin (115200); Wire.begin (2, 14); SW01.begin (); OLED.begin (); SL01.begin (); Blynk.begin (auth, WIFI_SSID, WIFI_PASS); chậm trễ (2000); } void loop () {SW01.poll (); TempC = SW01.getTempC (); Độ ẩm = SW01.getHumidity (); SL01.poll (); UVA = SL01.getUVA (); UV_Index = SL01.getUV Chỉ số (); Blynk.run (); }

Đề xuất: