สารบัญ:

CloudyData - ESP8266 ไปยัง Google ชีตทำได้ง่าย: 10 ขั้นตอน (พร้อมรูปภาพ)
CloudyData - ESP8266 ไปยัง Google ชีตทำได้ง่าย: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: CloudyData - ESP8266 ไปยัง Google ชีตทำได้ง่าย: 10 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: CloudyData - ESP8266 ไปยัง Google ชีตทำได้ง่าย: 10 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: NodeMCU ESP8266 ส่งค่าอุณหภูมิและความชื้นไปเก็บใน Google Sheets อัตโนมัติ 2024, กรกฎาคม
Anonim
CloudyData - ESP8266 ไปยัง Google ชีตทำได้ง่าย
CloudyData - ESP8266 ไปยัง Google ชีตทำได้ง่าย

ฉันค้นหาข้อมูลบนคลาวด์ที่จัดเก็บข้อมูลมาเป็นเวลานานในช่วงหลายปีที่ผ่านมา: การตรวจสอบข้อมูลจากเซ็นเซอร์ประเภทใดก็ได้เป็นเรื่องที่น่าสนใจ แต่น่าสนใจกว่าหากข้อมูลเหล่านี้พร้อมใช้งานได้ทุกที่โดยไม่มีปัญหาในการจัดเก็บ เช่น การใช้การ์ด SD หรือ คล้ายกันในการจัดเก็บในท้องถิ่น ฉันเคยเก็บข้อมูลความเร็วลมของการ์ด SD ไว้ในเครื่องเมื่อหลายปีก่อน ก่อนที่ IoT และบริการระบบคลาวด์จะเริ่มใช้งานง่าย ตอนนี้ขั้นตอนที่เกินกว่านั้นเป็นไปได้ด้วยความยากลำบากโดยเฉพาะ แม้ว่าคุณจะไม่ใช่ผู้เชี่ยวชาญ IoT หรือนักพัฒนาก็ตาม

ในคำแนะนำนี้ ฉันจะอธิบายว่าฉันตรวจสอบคุณภาพอากาศภายในบ้านอย่างไร โดยเฉพาะอย่างยิ่งหมายถึงความเข้มข้นของฝุ่นและอนุภาคใกล้เครื่องพิมพ์ 3 มิติของฉัน พยายามเข้าใจว่ากระบวนการพิมพ์ 3 มิตินั้นอันตรายในแง่ของ PM2.5 หรือไม่ และฉันเป็นอย่างไร ใช้ Google ชีตเพื่อเก็บข้อมูลโดยไม่ต้องใช้บริการจากบุคคลที่สาม

ขั้นตอนที่ 1: เป้าหมายทั่วไป

เป้าหมายทั่วไป
เป้าหมายทั่วไป

ฉันต้องการทราบว่าการอยู่ต่อหน้าเครื่องพิมพ์ 3 มิติอาจเป็นอันตรายได้หรือไม่

ในการทำเช่นนี้ ฉันต้องการข้อมูล และข้อมูลจะต้องเก็บไว้ในระบบคลาวด์

ฉันต้องการใช้ Google ชีตเพราะมันง่ายและมีประสิทธิภาพ

ฉันต้องการความเป็นส่วนตัวด้วย ดังนั้นการแบ่งปันข้อมูลกับ Google ไม่ใช่ตัวเลือกแรกของฉัน แต่เป็นการดีกว่าการใช้บริการของบุคคลที่สาม อย่างที่บล็อกเกอร์หลายๆ คนทำกัน

การใช้ Google ชีตเป็นขั้นตอนหนึ่งในการอัปโหลดข้อมูลไปยังที่จัดเก็บข้อมูลส่วนบุคคลในตัวเครื่อง เช่น Nextcloud บน NAS แบบง่าย ซึ่งจะอธิบายไว้ในคำแนะนำในอนาคต

ขั้นตอนที่ 2: ขั้นตอนแรก: เซ็นเซอร์

ขั้นตอนแรก: เซ็นเซอร์
ขั้นตอนแรก: เซ็นเซอร์
ขั้นตอนแรก: เซ็นเซอร์
ขั้นตอนแรก: เซ็นเซอร์

ฉันใช้เซ็นเซอร์ 2 ตัวเพื่อตรวจสอบคุณภาพอากาศในบ้านของฉัน:

  • Nova PM Sensor SDS011 Air Quality Detection Sensor Module ซึ่งเป็นฮาร์ดแวร์ที่ยอดเยี่ยม ค่อนข้างใช้งานง่ายกับ Arduino และบอร์ดที่คล้ายกัน คุณสามารถใช้กับซอฟต์แวร์ของตัวเองได้ (เฉพาะ windows!:-() และอะแดปเตอร์ USB หรือเชื่อมต่อกับ Arduino พร้อมห้องสมุด ข้อมูลมากมายสามารถพบได้ที่นี่:

    • inovafitness.com/en/a/chanpinzhongxin/95.ht…
    • www-sd-nf.oss-cn-beijing.aliyuncs.com/%E5%…
    • aqicn.org/sensor/sds011/
  • เกราะป้องกัน SHT30 จาก Wemos สำหรับ Wemos D1 mini: ฉันใช้เวอร์ชัน v1.0.0 เวอร์ชันปัจจุบันคือ v2.1.0 แต่มีรอยเท้าเหมือนกัน มีฟังก์ชันการทำงานเหมือนกัน

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

ขั้นตอนที่ 3: ขั้นตอนที่สอง: การเชื่อมต่อกับไมโครคอนโทรลเลอร์

ขั้นตอนที่สอง: การเชื่อมต่อกับไมโครคอนโทรลเลอร์
ขั้นตอนที่สอง: การเชื่อมต่อกับไมโครคอนโทรลเลอร์

Wemos D1 mini น่าจะเป็นวิธีที่ดีที่สุดในการสร้างต้นแบบเกี่ยวกับ ESP8266: ขั้วต่อ microUSB, ไฟ LED ออนบอร์ด, แผงป้องกันที่ดีพร้อมใช้งาน

ฉันเชื่อมต่อ SHT30 shield บน Wemos D1 mini โดยตรง (ดูแลการวางแนว!) จากนั้นฉันเชื่อมต่อ Nova Air Sensor กับ Wemos D1 mini ดังนี้:

Wemos GND พิน Nova Air เซ็นเซอร์ GND

Wemos 5V พิน Nova Air เซ็นเซอร์ 5V

Wemos D5 พิน (พิน RX) เซ็นเซอร์ Nova Air TX

Wemos D6 พิน (พิน TX) เซ็นเซอร์ Nova Air RX

คุณสามารถดูข้อมูลเพิ่มเติมได้ที่นี่:

www.hackair.eu/docs/sds011/

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

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

ขั้นตอนที่ 4: ขั้นตอนที่สาม: สร้างภาพร่าง

ตอนนี้ คุณจำเป็นต้องสร้างภาพสเก็ตช์ เราโชคดีที่มีคนพัฒนาไลบรารีเฉพาะสำหรับ Nova Air Sensor เพื่อให้คุณสามารถจดซอฟต์แวร์ของคุณได้อย่างง่ายดาย

Mine ใช้ไลบรารี SHT30 เช่นกันเพื่อวัดและอัปโหลดข้อมูลอุณหภูมิและความชื้น

ฉันรีมิกซ์ภาพสเก็ตช์ที่ฉันพบทางออนไลน์ โดยเฉพาะแบบจาก nishant_sahay7 ซึ่งมีบทช่วยสอนที่สมบูรณ์และเต็มไปด้วยข้อมูล คุณสามารถหาได้ที่นี่

ฉันใช้ห้องสมุดนี้:

ฉันจะแสดงความคิดเห็นเพียงไม่กี่บรรทัดในภาพร่างที่ฉันสร้าง:

บรรทัดที่ 76-77: ปลุกเซนเซอร์ฝุ่นซักครู่แล้วจะเข้าสู่โหมดสลีปอีกครั้ง เนื่องจากแผ่นข้อมูลระบุว่าตั้งใจให้ทำงานประมาณ 8000 ชั่วโมง ซึ่งเกินพอแต่ไม่จำกัดจำนวน

sds.wakeup();ดีเลย์(30000); // ทำงาน 30 วินาที

บรรทัดที่ 121: ข้อมูลที่ส่งคือ อุณหภูมิ ความชื้น PM2.5 และ PM10

sendData(t, h, pm2_5, pm10);

บรรทัดที่ 122-123: ฉันไม่ได้ใช้ ESP.deepSleep ฉันจะลองในอนาคต ถึงตอนนี้การหน่วงเวลาอย่างง่าย (90000) จะเพียงพอที่จะส่งข้อมูลทุก ๆ 30 วินาที + 90 วินาที = 2 นาทีไม่มากก็น้อย

//ESP.deepSleep (dataPostDelay);

ล่าช้า (90000);

บรรทัดที่ 143:

นี่คือบรรทัดที่สำคัญที่สุด ลำดับที่คุณสร้าง String_url เพื่ออัปโหลดข้อมูลจะต้องเหมือนกับที่คุณจะใช้ใน Google Script (ดูขั้นตอนถัดไป)

String url = "/macros/s/" + GAS_ID + "/exec?temperature=" + string_x + "&humidity=" + string_y + "&PM2.5=" + string_z + "&PM10=" + string_k;

ขั้นตอนที่ 5: ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์

ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์
ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์
ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์
ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์
ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์
ขั้นตอนที่สี่: การเตรียม Google ชีตและสคริปต์

เครดิตไปที่ nishant_sahay7 ตามที่ฉันบอก

ฉันเพียงแค่เผยแพร่งานของเขาที่นี่อีกครั้ง โดยเพิ่มคำแนะนำสำหรับการปรับปรุงและม็อดในอนาคต:

  1. การตั้งค่า Google ชีต

    1. เปิด Google Drive และสร้างสเปรดชีตใหม่และตั้งชื่อ หลังจากนั้นให้ฟิลด์ที่มีพารามิเตอร์ที่คุณต้องการกำหนด
    2. Sheet ID แสดงในรูปที่ 2
    3. ไปที่ Tools-Script Editor (รูปที่ 3)
    4. ตั้งชื่อให้เหมือนกับสเปรดชีต (รูปที่ 4)
    5. เลือกรหัสจากที่นี่และวางในหน้าต่างตัวแก้ไขสคริปต์ (รูปที่ 5)

      แทนที่ var sheet_id ด้วยสเปรดชีต ID ของคุณจากขั้นตอนที่2

    6. ไปที่ Publish - Deploy as Web App (รูปที่ 6)
    7. เปลี่ยนประเภทการเข้าถึงให้ใครก็ได้ แม้กระทั่งไม่ระบุตัวตน และปรับใช้ (รูปที่ 7)
    8. ไปที่ตรวจสอบสิทธิ์ (รูปที่ 8)
    9. เลือกขั้นสูง (รูปที่ 9)
    10. เลือกไปที่ (ชื่อไฟล์) แล้วอนุญาต (รูปที่ 10)
    11. คัดลอก URL ของเว็บแอปปัจจุบันแล้วคลิกตกลง (รูปที่ 11)
  2. รับ Google Script ID

    • URL ที่คัดลอกมาจะเป็นดังนี้: https://script.google.com/macros/s/AKfycbxZGcTwqe… ลิงก์ด้านบนจะอยู่ในรูปแบบ: https://script.google.com/macros/s/AKfycbxZGcTwqe…/exec ดังนั้นรหัสสคริปต์ของ Google คือ: AKfycbxZGcTwqeDgF3MBMGj6FJeYD7mcUcyo2V6O20D6tRlLlP2M_wQ ซึ่งจะใช้เพื่อส่งข้อมูลไปยัง Google ชีต: ตัวอย่าง:

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

      การวางลิงก์ด้านบนไปที่หน้าต่างใหม่และกดปุ่ม Enter จะส่งข้อมูลไปยัง Google ชีต และข้อความยืนยันจะปรากฏในหน้าต่าง ข้อมูลที่ส่งจะเป็น

      • อุณหภูมิ=1
      • ความชื้น=2
      • PM2.5=3
      • PM10=33.10
  3. เปลี่ยนความต้องการของคุณ

    คุณต้องเปลี่ยนร่าง Google Script และ Arduino ตามลำดับ เพื่อเพิ่มหรือลบค่าและคอลัมน์: เปรียบเทียบรูปที่ 5 และรูปที่ 5b

ขั้นตอนที่ 6: ขั้นตอนที่ห้า: เชื่อมต่อทั้งหมดเข้าด้วยกัน

ขั้นตอนที่ห้า: เชื่อมต่อทั้งหมดเข้าด้วยกัน
ขั้นตอนที่ห้า: เชื่อมต่อทั้งหมดเข้าด้วยกัน

ตอนนี้คุณมีอุปกรณ์ส่งข้อมูลไปยัง Google ชีต Google Script ที่สามารถรับและจัดสรรข้อมูลได้ เบราว์เซอร์ก็เพียงพอที่จะดูข้อมูล บนคอมพิวเตอร์หรือสมาร์ทโฟนหรืออะไรก็ได้ที่คุณต้องการ

วิธีที่ดีที่สุดคือการจัดการข้อมูลเหล่านี้เพียงเล็กน้อย เพื่อแสดงข้อมูลที่จำเป็นเพียงเล็กน้อย

ขั้นตอนที่ 7: ขั้นตอนที่หก: การสร้างกราฟข้อมูล

ขั้นตอนที่หก: ข้อมูลกราฟ
ขั้นตอนที่หก: ข้อมูลกราฟ
ขั้นตอนที่หก: ข้อมูลกราฟ
ขั้นตอนที่หก: ข้อมูลกราฟ

เพื่อให้มีแผงข้อมูลที่เรียบง่ายแต่น่าสนใจและมีประโยชน์ ฉันได้จัดระเบียบข้อมูลด้วยวิธีนี้:

  1. Google ชีตเดิม อันหลัก ใช้ดึง ID เพื่อเข้าสู่ Google Script ต้องไม่ถูกแตะต้อง และรักษาความสงบเรียบร้อย
  2. ฉันสร้างแผ่นงานอีกสองแผ่นตามแผ่นหลัก

    1. อันหนึ่งเพื่อดึงข้อมูลเพียงเล็กน้อยจากข้อมูลทั้งหมด เช่น 24 ชั่วโมงที่แล้วในการดึงข้อมูล ฉันใช้ฟังก์ชัน SORT และ QUERY โดยแทรกเซลล์แรกของข้อมูลที่แยกออกมา

      =SORT(QUERY(Foglio1!A2:Z, "เรียงตามขีดจำกัด A desc 694"), 1, 1)

    2. อีกอันสร้างกราฟแสดงค่าทำแผงง่ายๆ

ขั้นตอนที่ 8: ขั้นตอนที่เจ็ด: การวิเคราะห์ข้อมูล

ขั้นตอนที่เจ็ด: การวิเคราะห์ข้อมูล
ขั้นตอนที่เจ็ด: การวิเคราะห์ข้อมูล

ฉันได้วิเคราะห์ไปบ้างแล้ว และบอกได้เลยว่า ณ ตอนนี้ การใช้เครื่องพิมพ์ 3 มิติ (วัสดุ: PLA) ไม่น่าจะเกิดอันตรายใดๆ ในแง่ของ PM2.5 และ PM10 ทุกครั้งที่ฉันเริ่มพิมพ์ค่าอนุภาคใหม่จะไปที่หลังคา เพียงชั่วขณะหนึ่ง: ฉันคิดว่านี่เป็นเพราะฝุ่นที่สะสมอยู่ก่อนหน้าบนเตียงเครื่องพิมพ์ 3 มิติ ดังนั้นเมื่อพัดลมเอฟเฟกต์ไปถึงจาน มันจะเริ่มบินไปรอบๆ หลังจากนั้นไม่กี่นาทีฝุ่นจะหายไปเนื่องจากพัดลมยังคงเป่าต่อไป และค่า PM2.5 และ PM10 จะลดลงเหลือค่าที่ต่ำกว่า

จำเป็นต้องมีข้อมูลและการวิเคราะห์เพิ่มเติมอย่างแน่นอน

แนะนำ: