Mục lục:

CloudyData - ESP8266 với Google Trang tính được thực hiện đơn giản: 10 bước (có hình ảnh)
CloudyData - ESP8266 với Google Trang tính được thực hiện đơn giản: 10 bước (có hình ảnh)

Video: CloudyData - ESP8266 với Google Trang tính được thực hiện đơn giản: 10 bước (có hình ảnh)

Video: CloudyData - ESP8266 với Google Trang tính được thực hiện đơn giản: 10 bước (có hình ảnh)
Video: Bài 5: Giải Pháp Google Firebase và Esp8266 Điều Khiển Xe Ở Mọi Nơi Trên Thế Giới - Phần 1 2024, Tháng mười một
Anonim
CloudyData - ESP8266 để Google Trang tính trở nên đơn giản
CloudyData - ESP8266 để Google Trang tính trở nên đơn giản

Tôi đã tìm kiếm dữ liệu đám mây lưu trữ trong một thời gian dài trong những năm qua: thật thú vị khi theo dõi dữ liệu từ bất kỳ loại cảm biến nào, nhưng sẽ thú vị hơn nếu những dữ liệu này có sẵn ở mọi nơi mà không gặp bất kỳ khó khăn nào về lưu trữ chẳng hạn như sử dụng thẻ SD hoặc tương tự, trong lưu trữ cục bộ. Tôi đã từng lưu trữ cục bộ dữ liệu tốc độ gió trên thẻ SD nhiều năm trước, trước khi IoT và các dịch vụ đám mây bắt đầu dễ sử dụng: bây giờ có thể vượt một bước với những khó khăn cụ thể, ngay cả khi bạn không phải là chuyên gia IoT hay nhà phát triển.

Trong tài liệu hướng dẫn này, tôi sẽ mô tả cách tôi theo dõi chất lượng không khí trong nhà, đặc biệt đề cập đến nồng độ bụi và hạt gần máy in 3D của tôi, cố gắng hiểu liệu quá trình in 3D có nguy hiểm về PM2.5 hay không và cách tôi sử dụng Google Trang tính để lưu trữ dữ liệu mà không cần bất kỳ dịch vụ phần thứ ba nào.

Bước 1: Mục tiêu chung

Mục tiêu chung
Mục tiêu chung

Tôi muốn biết nếu sống trong sự hiện diện của máy in 3D có thể gây nguy hiểm hay không.

Để làm được điều này, tôi cần dữ liệu và dữ liệu phải được lưu trữ trên đám mây.

Tôi muốn sử dụng Google Trang tính vì nó đơn giản và hiệu quả.

Tôi cũng muốn quyền riêng tư: vì vậy chia sẻ dữ liệu với Google không phải là lựa chọn đầu tiên của tôi nhưng tốt hơn là sử dụng các dịch vụ của bên thứ ba, như nhiều blogger vẫn làm.

Sử dụng Google Trang tính là một bước hướng tới việc tải dữ liệu lên bộ lưu trữ cục bộ cá nhân như Nextcloud trên một NAS đơn giản: điều này sẽ được mô tả trong một tài liệu hướng dẫn trong tương lai.

Bước 2: Bước đầu tiên: Cảm biến

Bước đầu tiên: Cảm biến
Bước đầu tiên: Cảm biến
Bước đầu tiên: Cảm biến
Bước đầu tiên: Cảm biến

Tôi sử dụng 2 cảm biến để theo dõi chất lượng không khí tại nhà của mình:

  • Mô-đun cảm biến phát hiện chất lượng không khí SDS011 của Nova PM Sensor, một phần cứng tuyệt vời, tương đối đơn giản để sử dụng với Arduino và các bo mạch tương tự. Arduino với các thư viện. Bạn có thể tìm thấy nhiều thông tin tại đây:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • một tấm chắn SHT30 từ Wemos, cho Wemos D1 mini: Tôi đã sử dụng phiên bản v1.0.0, phiên bản hiện tại là v2.1.0 nhưng chúng có cùng dấu chân, cùng chức năng

    wiki.wemos.cc/products:d1_mini_shields:sht…

Bước 3: Bước thứ hai: Kết nối với Vi điều khiển

Bước thứ hai: Kết nối với Vi điều khiển
Bước thứ hai: Kết nối với Vi điều khiển

Wemos D1 mini có lẽ là cách tốt nhất để tạo nguyên mẫu xung quanh ESP8266: đầu nối microUSB, đèn LED tích hợp, tấm chắn đẹp sẵn sàng sử dụng.

Tôi đã kết nối trực tiếp tấm chắn SHT30 trên Wemos D1 mini (chú ý định hướng!), Sau đó tôi kết nối Cảm biến không khí Nova với Wemos D1 mini như sau:

Chân Wemos GND Cảm biến Nova Air GND

Wemos chân 5V Nova Air cảm biến 5V

Chân Wemos D5 (chân RX) Cảm biến Nova Air TX

Chân Wemos D6 (chân TX) Cảm biến Nova Air RX

Bạn có thể xem ở đây để biết thêm thông tin:

www.hackair.eu/docs/sds011/

www.zerozone.it/tecnologia-e-sicurezza/nov…

www.instructables.com/id/Make-one-PM25-mon…

Bước 4: Bước thứ ba: Xây dựng bản phác thảo

Bây giờ bạn cần xây dựng một bản phác thảo: chúng tôi rất may mắn, một số người đã phát triển các thư viện cụ thể cho Nova Air Sensor để bạn có thể dễ dàng viết ra phần mềm của mình.

Của tôi cũng sử dụng thư viện SHT30 để đo và tải lên dữ liệu nhiệt độ và độ ẩm.

Tôi đã phối lại một số bản phác thảo mà tôi tìm thấy trên mạng, đặc biệt là bản phác thảo từ nishant_sahay7, có hướng dẫn hoàn chỉnh và đầy đủ thông tin. Bạn có thể tìm thấy nó ở đây.

Tôi đã sử dụng thư viện này:

Tôi sẽ chỉ nhận xét một vài dòng trong bản phác thảo mà tôi đã tạo:

dòng 76-77: đánh thức cảm biến bụi một lúc, sau đó nó sẽ chuyển sang chế độ ngủ lại, vì bảng dữ liệu cho biết nó dự định hoạt động trong khoảng 8000 giờ, là quá đủ, nhưng không phải là vô hạn

sds.wakeup (); trì hoãn (30000); // làm việc 30 giây

dòng 121: dữ liệu được gửi là nhiệt độ, độ ẩm, PM2.5 và PM10

sendData (t, h, pm2_5, pm10);

dòng 122-123: Tôi không sử dụng ESP.deepSleep, tôi sẽ thử trong tương lai; hiện tại, một độ trễ đơn giản (90000) sẽ đủ để gửi dữ liệu cứ sau 30 giây + 90 phút = 2 phút, nhiều hơn hoặc ít hơn

//ESP.deepSleep(dataPostDelay);

chậm trễ (90000);

dòng 143:

đây là dòng quan trọng nhất, thứ tự bạn tạo String_url để tải lên dữ liệu phải giống với thứ tự bạn sẽ sử dụng trong Google Script (xem các bước tiếp theo)

Chuỗi url = "/ macro / s /" + GAS_ID + "/ thi hành? Nhiệt độ =" + string_x + "& độ ẩm =" + string_y + "& PM2.5 =" + string_z + "& PM10 =" + string_k;

Bước 5: Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó

Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó
Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó
Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó
Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó
Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó
Bước thứ tư: Chuẩn bị Google Trang tính và Tập lệnh của nó

Các khoản tín dụng được chuyển đến nishant_sahay7, như tôi đã nói.

Tôi chỉ đăng lại ở đây tác phẩm của anh ấy, thêm một số mẹo để cải tiến và sửa đổi trong tương lai:

  1. Thiết lập Google Trang tính

    1. Mở Google Drive và Tạo Bảng tính mới và đặt tên cho nó, sau đó cung cấp cho các trường với các thông số bạn muốn xác định.
    2. ID trang tính được hiển thị trong hình 2
    3. Đi tới Tools-Script Editor (hình 3)
    4. Đặt tên giống như của Bảng tính (hình 4)
    5. Chọn mã từ đây và dán vào Cửa sổ Trình chỉnh sửa Tập lệnh (hình 5)

      Thay thế var sheet_id bằng ID Bảng tính của bạn từ bước 2

    6. Chuyển đến Xuất bản - Triển khai dưới dạng Ứng dụng web (hình 6)
    7. Thay đổi kiểu truy cập thành bất kỳ ai, kể cả ẩn danh và triển khai (hình 7)
    8. Đi tới Quyền xem xét (hình 8)
    9. Chọn Nâng cao (hình 9)
    10. Chọn Đi tới (tên tệp) và sau đó cho phép (hình 10)
    11. Sao chép URL ứng dụng web hiện tại và nhấp vào OK (hình 11)
  2. Nhận ID Google Script

    • URL được sao chép sẽ có dạng: https://script.google.com/macros/s/AKfycbxZGcTwqe… liên kết ở trên có dạng: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec Vì vậy, ở đây Google Script ID là: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ Nó sẽ được sử dụng để đẩy dữ liệu lên Google Trang tính: Ví dụ:

      script.google.com/macros/s/AKfycbxZGcTwqeD…

      Dán liên kết trên vào một cửa sổ mới và nhấn enter sẽ gửi dữ liệu đến Google Trang tính và thông báo xác nhận sẽ xuất hiện trong cửa sổ. Dữ liệu được gửi sẽ được

      • nhiệt độ = 1
      • độ ẩm = 2
      • PM2,5 = 3
      • PM10 = 33,10
  3. Thay đổi theo nhu cầu của bạn

    bạn phải thay đổi Google Script VÀ bản phác thảo Arduino cho phù hợp, để thêm hoặc xóa các giá trị và cột: so sánh hình 5 và hình 5b

Bước 6: Bước thứ năm: Kết nối tất cả với nhau

Bước thứ năm: Kết nối tất cả với nhau
Bước thứ năm: Kết nối tất cả với nhau

Giờ đây, bạn có một thiết bị gửi dữ liệu đến Google Trang tính, một Google Script có thể nhận và phân bổ dữ liệu, một trình duyệt đủ để xem dữ liệu, trên máy tính hoặc điện thoại thông minh hoặc bất cứ thứ gì bạn thích.

Cách tốt nhất là quản lý một ít dữ liệu này, chỉ hiển thị một số ít cần thiết.

Bước 7: Bước thứ sáu: Lập biểu đồ dữ liệu

Bước thứ sáu: Vẽ đồ thị dữ liệu
Bước thứ sáu: Vẽ đồ thị dữ liệu
Bước thứ sáu: Vẽ đồ thị dữ liệu
Bước thứ sáu: Vẽ đồ thị dữ liệu

Để có một bảng điều khiển đơn giản nhưng thú vị và hữu ích, tôi đã tổ chức dữ liệu của mình theo cách này:

  1. trang tính gốc của google, trang tính chính, được sử dụng để lấy ID của nó để nhập vào Google Script, PHẢI được giữ nguyên và duy trì thứ tự của nó
  2. Tôi đã tạo hai trang tính khác, sau trang tính chính

    1. một để chỉ trích xuất một vài dữ liệu từ toàn bộ nội dung, ví dụ 24 giờ qua Để trích xuất dữ liệu, tôi đã sử dụng Hàm SORT và QUERY, chèn vào ô đầu tiên của dữ liệu được trích xuất

      = SORT (QUERY (Foglio1! A2: Z, "đặt hàng theo A giới hạn mô tả 694"), 1, 1)

    2. cái còn lại để tạo đồ thị để hiển thị các giá trị, tạo một bảng điều khiển đơn giản

Bước 8: Bước thứ bảy: Phân tích dữ liệu

Bước thứ bảy: Phân tích dữ liệu
Bước thứ bảy: Phân tích dữ liệu

Tôi đã thực hiện một vài phân tích và tôi có thể nói rằng, hiện tại, sẽ không có bất kỳ mối nguy hiểm nào khi sử dụng máy in 3D (vật liệu: PLA) về PM2.5 và PM10., chỉ một lúc: Tôi nghĩ rằng điều này là do bụi lắng đọng trước đó trên giường máy in 3D, vì vậy khi quạt hiệu ứng chạm đến tấm, nó bắt đầu bay xung quanh. Sau một vài phút, bụi bay đi vì quạt tiếp tục thổi và các giá trị PM2.5 và PM10 giảm xuống các giá trị thấp hơn.

Thực sự cần có thêm dữ liệu và phân tích.

Đề xuất: