Mục lục:

Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org: 4 bước
Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org: 4 bước

Video: Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org: 4 bước

Video: Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org: 4 bước
Video: Graph ESP8266 Data On a LIVE Web Page- TUTORIAL 2024, Tháng bảy
Anonim
Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org
Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org
Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org
Ghi dữ liệu và vẽ biểu đồ trực tuyến bằng NodeMCU, MySQL, PHP và Chartjs.org

Có thể hướng dẫn này mô tả cách chúng ta có thể sử dụng bảng Node MCU để thu thập dữ liệu từ nhiều cảm biến, gửi dữ liệu này đến tệp PHP được lưu trữ, sau đó thêm dữ liệu vào cơ sở dữ liệu MySQL. Dữ liệu sau đó có thể được xem trực tuyến dưới dạng biểu đồ, sử dụng chart.js.

Dự án này cần phải có kiến thức cơ bản về PHP và MySQL và bạn sẽ cần truy cập vào dịch vụ lưu trữ web với những thiết lập này để có thể tạo và xem đồ thị của riêng mình. Tôi cũng giả sử bạn có kiến thức cơ bản về cách sử dụng bảng Node MCU và tải lên các bản phác thảo cho nó. (Tôi sử dụng Arduino IDE cho việc này)

Bước 1: Xây dựng mạch

Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch
Xây dựng mạch

Vì Node MCU chỉ có một chân tương tự, chúng tôi sẽ sử dụng ghép kênh để có thể đọc dữ liệu từ nhiều cảm biến. (Một số tài liệu hướng dẫn trình bày chi tiết hơn về khái niệm này nên tôi sẽ không đi sâu vào vấn đề đó ở đây). Trong ví dụ này, tôi đã sử dụng hai cảm biến (cho ánh sáng và nhiệt độ) nhưng bạn có thể thay đổi chúng thành bất cứ thứ gì bạn muốn và thêm nhiều cảm biến hơn nếu cần. Tôi đã sử dụng một điện trở nhạy sáng, một nhiệt điện trở, hai điốt chỉnh lưu, một điện trở 330 ohm và một điện trở 10K và một vài dây nhảy. Sơ đồ Fritzing đính kèm cho thấy tất cả chúng được kết nối như thế nào trên breadboard.

Bước 2: Chỉnh sửa và tải Sketch lên Node MCU

Sử dụng tệp.ino đính kèm này. Bạn sẽ cần chỉnh sửa điều này bằng tên và mật khẩu mạng WiFi của riêng mình để Node MCU có thể kết nối với mạng của riêng bạn.

Ở cuối bản phác thảo này, dòng 'delay (60000);' đưa ra độ trễ một phút giữa các lần đọc cảm biến nhưng điều này có thể được điều chỉnh để phù hợp với yêu cầu của riêng bạn. Tôi khuyên bạn nên để lại ít nhất 10 giây để cho phép kết nối với tệp 'updater.php' mỗi lần.

Bạn cũng sẽ phải chỉnh sửa đường dẫn đến nơi bạn sẽ lưu trữ hai tệp.php và hai tệp javascript được yêu cầu. Bạn có thể tải xuống những thứ này trong bước tiếp theo.

Bước 3: Cơ sở dữ liệu và tệp web

Tạo kho dữ liệu MySql của bạn. Tạo một bảng có tên 'temp_light' (bạn có thể thay đổi điều này nhưng sẽ cần chỉnh sửa hai tệp php để phản ánh bất kỳ thay đổi nào bạn thực hiện). Cho bảng bốn trường. Một trường tăng tự động chính. Trường số nguyên được gọi là 'tạm thời', trường số nguyên được gọi là 'ánh sáng' và trường có tên 'date_time' sẽ là dấu thời gian và giá trị mặc định 'CURRENT_TIMESTAMP'

Bây giờ hãy tải xuống tệp.zip đính kèm và giải nén nó. Điều này sẽ cung cấp cho bạn hai tệp php và một thư mục có tên 'script' chứa các tệp.js mà tôi lấy từ chartjs.org. Hai tệp.js không cần phải được chỉnh sửa và thư mục 'script' phải được lưu trữ ở cùng một vị trí với hai tệp php của bạn. cả hai tệp php sẽ cần được chỉnh sửa bằng tên cơ sở dữ liệu, mật khẩu và I. P máy chủ lưu trữ của riêng bạn. Địa chỉ.

Trong tệp index.php, bạn sẽ thấy dòng 50: $ Adjust_temp = ($ temp * 0,0623);

Tính toán này là để chuyển đổi số đọc cho nhiệt độ gần nhất với độ C.

Bây giờ lưu trữ cả hai tệp php và thư mục 'script' chứa hai tệp.js cùng nhau trong cùng một thư mục. Duyệt đến thư mục đó và bạn sẽ thấy biểu đồ của riêng mình với dữ liệu được gửi từ bảng Node MCU của bạn.

Bước 4: Kết quả hoàn thành

Ban đầu tôi thực hiện dự án này khoảng hai năm trước nhưng chưa bao giờ hoàn thành việc viết một hướng dẫn cho nó cho đến bây giờ. Bạn có thể xem biểu đồ được tạo bởi thử nghiệm của tôi tại đây:

Mức tăng đột biến lớn trong biểu đồ là nơi mặt trời chiếu qua cửa sổ vào hai cảm biến và sự suy giảm chậm lại là khi mặt trời từ từ khuất khỏi tầm nhìn.

Đề xuất: