Mục lục:

Máy chủ web theo dõi thời tiết ESP8266 (Không có Arduino): 4 bước
Máy chủ web theo dõi thời tiết ESP8266 (Không có Arduino): 4 bước

Video: Máy chủ web theo dõi thời tiết ESP8266 (Không có Arduino): 4 bước

Video: Máy chủ web theo dõi thời tiết ESP8266 (Không có Arduino): 4 bước
Video: [Lập trình ESP8266]Bài 6 - Xây dựng web server cơ bản trên ESP8266 2024, Tháng mười một
Anonim
Máy chủ web theo dõi thời tiết ESP8266 (Không có Arduino)
Máy chủ web theo dõi thời tiết ESP8266 (Không có Arduino)

“Internet vạn vật” (IoT) đang ngày càng trở thành một chủ đề trò chuyện ngày càng gia tăng. Đó là một khái niệm không chỉ có tiềm năng tác động đến cách chúng ta sống mà còn cả cách chúng ta làm việc. Từ máy công nghiệp đến thiết bị đeo - sử dụng cảm biến tích hợp để thu thập dữ liệu và thực hiện hành động trên dữ liệu đó trên mạng.

Vì vậy, chúng tôi quyết định xây dựng một dự án rất đơn giản nhưng thú vị với khái niệm - IoT.

Hôm nay, chúng ta sẽ xây dựng một máy chủ web cơ bản để theo dõi thời tiết xung quanh chúng ta. Chúng ta có thể xem các giá trị độ ẩm và nhiệt độ trên thiết bị di động và máy tính xách tay của mình. Như tôi đã nói, đây là một trang web đơn giản và cơ bản để cung cấp cho bạn ý tưởng về nó. Bạn có thể tích hợp và sửa đổi dự án theo nhu cầu của mình, giống như bạn có thể thu thập dữ liệu và sử dụng nó để sử dụng trong tương lai, bạn có thể tạo ra một ngôi nhà tự động hóa bằng cách điều khiển các thiết bị gia dụng của bạn hoặc bất cứ điều gì bạn có thể tưởng tượng. Hãy luôn nhớ - Sức mạnh của trí tưởng tượng khiến chúng ta trở nên vô hạn (của John Muir).

Vì vậy, chúng ta hãy bắt đầu !!

Bước 1: Thu thập công cụ của bạn !

Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!
Thu thập công cụ của bạn !!

1 Cảm biến độ ẩm và nhiệt độ SHT25

Cảm biến nhiệt độ và độ ẩm có độ chính xác cao SHT25 của Sensirion đã trở thành tiêu chuẩn công nghiệp về yếu tố hình thức và độ thông minh: Được nhúng trong gói dây dẫn kép phẳng không hàn lại có thể hàn lại (DFN) có chân in 3 x 3mm và chiều cao 1,1mm mà nó cung cấp đã được hiệu chỉnh, tín hiệu cảm biến tuyến tính hóa ở định dạng kỹ thuật số, I2C.

1 quả Adafruit Huzzah ESP8266

Bộ xử lý ESP8266 của Espressif là bộ vi điều khiển 80 MHz với giao diện người dùng WiFi đầy đủ (cả máy khách và điểm truy cập) và ngăn xếp TCP / IP cũng có hỗ trợ DNS. ESP8266 là một nền tảng đáng kinh ngạc để phát triển ứng dụng IoT. ESP8266 cung cấp một nền tảng hoàn thiện để giám sát và điều khiển các ứng dụng sử dụng Ngôn ngữ dây Arduino và Arduino IDE.

1 Bộ lập trình USB ESP8266

Bộ điều hợp máy chủ ESP8266 này được thiết kế đặc biệt cho phiên bản Adafruit Huzzah của ESP8266, cho phép giao diện I²C.

1 cáp kết nối I2C

Bước 2: Kết nối phần cứng.

Đang kết nối phần cứng.
Đang kết nối phần cứng.
Đang kết nối phần cứng.
Đang kết nối phần cứng.
Đang kết nối phần cứng.
Đang kết nối phần cứng.

Lấy ESP8266 và nhẹ nhàng đẩy nó qua Bộ lập trình USB. Sau đó kết nối một đầu của cáp I2C với cảm biến SHT25 và đầu kia với Bộ lập trình USB. Và bạn đã hoàn thành. Có, bạn đọc nó đúng. Không đau đầu, nghe rất tuyệt. Bên phải !!

Với sự trợ giúp của Bộ lập trình USB ESP8266, rất dễ dàng để lập trình ESP. Tất cả những gì bạn cần làm là cắm cảm biến vào Bộ lập trình USB và bạn đã sẵn sàng. Chúng tôi thích sử dụng dòng sản phẩm này hơn vì nó giúp kết nối phần cứng dễ dàng hơn rất nhiều. Nếu không có bộ lập trình USB plug and play này sẽ có rất nhiều nguy cơ kết nối sai. Hệ thống dây điện không tốt có thể giết chết wifi cũng như cảm biến của bạn.

Không phải lo lắng về việc hàn các chân của ESP với cảm biến hoặc đọc sơ đồ chân và biểu dữ liệu. Chúng tôi có thể sử dụng và làm việc trên nhiều cảm biến đồng thời, bạn chỉ cần tạo một dây chuyền.

Tại đây bạn kiểm tra toàn bộ phạm vi sản phẩm của họ.

Lưu ý: Trong khi thực hiện kết nối, hãy đảm bảo rằng dây màu nâu của cáp kết nối được kết nối với đầu nối đất của cảm biến và tương tự đối với Bộ lập trình USB.

Bước 3: Mã

Mã số
Mã số
Mã số
Mã số
Mã số
Mã số
Mã số
Mã số

Có thể tải xuống mã ESP8266 cho SHT25 từ kho lưu trữ github của chúng tôi

Trước khi tiếp tục mã, hãy đảm bảo rằng bạn đã đọc các hướng dẫn được cung cấp trong tệp Readme và thiết lập ESP8266 của bạn theo nó. Chỉ mất 5 phút để thiết lập ESP.

Bây giờ, hãy tải xuống (hoặc git pull) mã và mở nó trong Arduino IDE.

Biên dịch và tải lên mã và xem kết quả trên Serial Monitor.

Lưu ý: Trước khi tải lên, hãy đảm bảo bạn nhập mạng SSID và mật khẩu của mình vào mã.

Sao chép địa chỉ IP của ESP8266 từ Serial Monitor và dán vào trình duyệt web của bạn.

Bạn sẽ thấy một máy chủ web có đọc độ ẩm và nhiệt độ. Đầu ra của cảm biến trên Serial Monitor và Web Server được hiển thị trong hình trên.

Để tạo sự thoải mái, bạn có thể sao chép mã ESP đang hoạt động cho cảm biến này từ đây:

#bao gồm

#bao gồm

#bao gồm

#bao gồm

// Địa chỉ I2C SHT25 là 0x40 (64)

#define Addr 0x40

const char * ssid = "mạng ssid của bạn";

const char * password = "mật khẩu của bạn"; độ ẩm nổi, cTemp, fTemp;

Máy chủ ESP8266WebServer (80);

void xử lý ()

{dữ liệu int không dấu [2];

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr); // Gửi lệnh đo độ ẩm, NO HOLD master Wire.write (0xF5); // Dừng truyền I2C Wire.endTransmission (); chậm trễ (500);

// Yêu cầu 2 byte dữ liệu

Wire.requestFrom (Addr, 2);

// Đọc 2 byte dữ liệu

// độ ẩm msb, độ ẩm lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read ();

// Chuyển đổi dữ liệu

độ ẩm = (((dữ liệu [0] * 256.0 + dữ liệu [1]) * 125.0) / 65536.0) - 6;

// Xuất dữ liệu ra Serial Monitor

Serial.print ("Độ ẩm Tương đối:"); Serial.print (độ ẩm); Serial.println ("% RH"); }

// Bắt đầu truyền I2C

Wire.beginTransmission (Addr); // Gửi lệnh đo nhiệt độ, NO HOLD master Wire.write (0xF3); // Dừng truyền I2C Wire.endTransmission (); chậm trễ (500);

// Yêu cầu 2 byte dữ liệu

Wire.requestFrom (Addr, 2);

// Đọc 2 byte dữ liệu

// temp msb, temp lsb if (Wire.available () == 2) {data [0] = Wire.read (); data [1] = Wire.read ();

// Chuyển đổi dữ liệu

cTemp = (((dữ liệu [0] * 256.0 + dữ liệu [1]) * 175.72) / 65536.0) - 46.85; fTemp = (cTemp * 1.8) + 32;

// Xuất dữ liệu ra Serial Monitor

Serial.print ("Nhiệt độ tính bằng độ C:"); Serial.print (cTemp); Serial.println ("C"); Serial.print ("Nhiệt độ tính bằng Fahrenheit:"); Serial.print (fTemp); Serial.println ("F"); } // Xuất dữ liệu ra máy chủ web server.sendContent ("<meta http-equiv = 'refresh' content = '5'""

KIỂM SOÁT MỌI THỨ

www.controleverything.com

Bộ cảm biến SHT25 I2C Mini Module

"); server.sendContent ("

Độ ẩm Tương đối = "+ String (độ ẩm) +"% RH "); server.sendContent ("

Nhiệt độ tính bằng độ C = "+ String (cTemp) +" C "); server.sendContent ("

Nhiệt độ tính bằng Fahrenheit = "+ String (fTemp) +" F "); delay (300);}

void setup ()

{// Khởi tạo giao tiếp I2C dưới dạng MASTER Wire.begin (2, 14); // Khởi tạo giao tiếp nối tiếp, đặt tốc độ baud = 115200 Serial.begin (115200);

// Kết nối với mạng WiFi

WiFi.begin (ssid, mật khẩu);

// Chờ kết nối

while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } Serial.println (""); Serial.print ("Đã kết nối với"); Serial.println (ssid);

// Lấy địa chỉ IP của ESP8266

Serial.print ("Địa chỉ IP:"); Serial.println (WiFi.localIP ());

// Khởi động máy chủ

server.on ("/", handleroot); server.begin (); Serial.println ("Máy chủ HTTP đã khởi động"); }

void loop ()

{server.handleClient (); }

Bước 4: Kết luận

Dòng cảm biến nhiệt độ và độ ẩm SHT25 đưa công nghệ cảm biến lên một tầm cao mới với hiệu suất cảm biến chưa từng có, nhiều biến thể và tính năng mới. Phù hợp với nhiều loại thị trường, chẳng hạn như thiết bị gia dụng, y tế, IoT, HVAC hoặc công nghiệp. Với sự trợ giúp của ESP8266, chúng tôi có thể tăng công suất của nó lên một chiều dài lớn hơn. Chúng tôi có thể kiểm soát các thiết bị của mình và theo dõi hiệu suất ở đó, sổ ghi chép và thiết bị di động của chúng tôi. Chúng tôi có thể lưu trữ và quản lý dữ liệu trực tuyến và nghiên cứu chúng bất cứ lúc nào để sửa đổi.

Chúng ta có thể sử dụng những ý tưởng như vậy trong các ngành y tế, tạm thời chỉ cần nói điều khiển hệ thống thông gió trong phòng bệnh nhân khi độ ẩm và nhiệt độ tự động tăng lên. Các nhân viên y tế có thể theo dõi dữ liệu trực tuyến mà không cần đến phòng.

Hy vọng bạn thích nỗ lực và suy nghĩ về nhiều khả năng hơn với nó. Giống như tôi đã nói ở trên, Trí tưởng tượng là Chìa khóa.:)

Để biết thêm thông tin về SHT25 và ESP8266, hãy xem các liên kết bên dưới:

  • Bảng dữ liệu cảm biến nhiệt độ và độ ẩm SHT25
  • Biểu dữ liệu ESP8266

Để biết thêm thông tin, hãy truy cập ControlEverything.

Đề xuất: