สารบัญ:

เครื่องบันทึกอุณหภูมิขนาดเล็ก ESP8266 (Google ชีต): 15 ขั้นตอน
เครื่องบันทึกอุณหภูมิขนาดเล็ก ESP8266 (Google ชีต): 15 ขั้นตอน

วีดีโอ: เครื่องบันทึกอุณหภูมิขนาดเล็ก ESP8266 (Google ชีต): 15 ขั้นตอน

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

นี่คือคำแนะนำเกี่ยวกับวิธีการสร้างเครื่องบันทึกอุณหภูมิขนาดเล็กที่เปิดใช้งาน WiFi ของคุณเอง มันใช้โมดูล ESP-01 และเซ็นเซอร์อุณหภูมิดิจิตอล DS18B20 บรรจุในกล่องพิมพ์ 3 มิติที่แน่นหนาพร้อมแบตเตอรี่ลิเธียม 200mAh และเครื่องชาร์จ micro USB

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

หากใครสร้างขึ้นมา ฉันชอบที่จะเห็นมันและคุณใช้มันเพื่ออะไร จนถึงตอนนี้ฉันได้ใช้มันเพื่อกำหนดวัฏจักรการทำงานของแอร์ของฉันในวันฤดูร้อนทั่วไป (50 นาที, 20 นาที) และจะใช้ เพื่อคอยติดตามอุณหภูมิไส้กรอกในฤดูหนาว…

ขั้นตอนที่ 1: วัสดุ/อุปกรณ์

วัสดุ/อุปกรณ์
วัสดุ/อุปกรณ์

แม้ว่าส่วนประกอบจะมีน้อยและแผนผังค่อนข้างง่าย แต่ก็ต้องใช้ความพยายามอย่างมากในการทำให้ส่วนประกอบเหล่านี้มีรูปแบบที่ดีและใช้งานได้…

ส่วนประกอบที่คุณต้องการคือ:

  • หนึ่ง ESP01
  • แบตเตอรี่ LiPo 200mAh หนึ่งก้อน
  • โมดูลเครื่องชาร์จ LiPo TP4056 หนึ่งโมดูล
  • ตัวควบคุมแรงดันไฟฟ้า HT7333A 3.3V หนึ่งตัว
  • เซ็นเซอร์อุณหภูมิ DS18B20 หนึ่งตัว
  • ตัวต้านทาน SMD 4.7kΩ สองตัว
  • ปุ่มกดเล็ก ๆ สองปุ่ม

เครื่องมือ/อุปกรณ์ที่คุณต้องการคือ:

  • ลวดหุ้มฉนวนแบบบาง (ฉันใช้ลวดพันลวด)
  • หัวแร้ง/สถานี, บัดกรี, ฟลักซ์ และปั๊ม Desoldering
  • Snips / Wire Strippers, แหนบ
  • คอมพิวเตอร์
  • บอร์ดการเขียนโปรแกรม ESP01
  • เครื่องพิมพ์ 3 มิติ
  • กาวซุปเปอร์กลู/ไซยาโนอะคริเลต

ขั้นตอนที่ 2: การบัดกรี: Tiny Deep_Sleep Wire

การบัดกรี: Tiny Deep_Sleep Wire
การบัดกรี: Tiny Deep_Sleep Wire
การบัดกรี: Tiny Deep_Sleep Wire
การบัดกรี: Tiny Deep_Sleep Wire
การบัดกรี: Tiny Deep_Sleep Wire
การบัดกรี: Tiny Deep_Sleep Wire

คุณลักษณะสำคัญอย่างหนึ่งที่เครื่องมือบันทึกที่ใช้แบตเตอรี่ต้องมีคือโหมดพลังงานต่ำเพื่อให้สามารถใช้งานได้นานที่สุด ESP8266 มี ESP. DeepSleep(); ตัวเลือก แต่ต้องใช้ GPIO_16 เพื่อเชื่อมต่อกับพิน EXT_RSTB (รีเซ็ต) ซึ่งน่าเสียดายสำหรับเราที่ไม่ได้แยกออกเป็นโมดูล ESP01 ซึ่งหมายความว่าเราจำเป็นต้องประสานลวดเส้นเล็กกับพินที่ถูกต้องบนชิป SMD ESP8266 สิ่งนี้ค่อนข้างท้าทาย แต่สามารถทำได้โดยใช้หัวแร้งธรรมดาและความอดทนและมือที่มั่นคง GPIO_16 เป็นพินสุดท้ายที่ด้านข้างของชิปใกล้กับตัวเก็บประจุแบบแยกส่วน เนื่องจากมันอยู่ที่ขอบทำให้บัดกรีได้ง่ายขึ้นมาก โชคดี!

ขั้นตอนที่ 3: ต้นแบบ

ต้นแบบ
ต้นแบบ
ต้นแบบ
ต้นแบบ

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

ขั้นตอนที่ 4: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม
การเขียนโปรแกรม
การเขียนโปรแกรม
การเขียนโปรแกรม
การเขียนโปรแกรม

ในการตั้งโปรแกรม ESP8266 คุณสามารถใช้โมดูลการเขียนโปรแกรมราคาถูกจากประเทศจีนโดยมีการดัดแปลงเล็กน้อยโดยเพิ่มปุ่มกดเพื่อเชื่อมต่อ GPIO_2 กับกราวด์ การกะพริบของ ESP8266 อยู่นอกขอบเขตของคำแนะนำนี้ แต่สามารถทำได้ง่ายด้วยภาพร่าง Arduino ที่พบในหน้า GitHub ตรวจสอบให้แน่ใจว่าได้ติดตั้ง ArduinoJSON และไลบรารี OneWire และแน่นอนว่าได้ติดตั้งแกน ESP

สำคัญ! อย่าลืมอัพโหลดข้อมูล SPIFFS ลงบนบอร์ด ตัวบันทึกจะไม่สามารถบู๊ตได้หากไม่มีไฟล์การกำหนดค่าที่เก็บไว้ในหน่วยความจำ SPIFFS

github.com/Luigi-Pizzolito/ESP8266-Temperatu…

ขั้นตอนที่ 5: Interwebz: Google ฟอร์ม

Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม
Interwebz: Google ฟอร์ม

แบ็กเอนด์ของตัวตัดไม้ของเราจะเสร็จสิ้นด้วย Google ฟอร์มและชีตและ IFTTT ในระหว่างนั้น เพียงทำตามรูปภาพจากที่นี่เป็นสิ่งที่ง่ายที่สุดที่จะทำ

  1. สร้างแบบฟอร์มใหม่
  2. บันทึกคำขอตอบกลับแบบฟอร์มด้วยเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของ Google Chrome
  3. หมายเหตุ URL ขอและขอข้อมูล
  4. เชื่อมต่อแบบฟอร์มเพื่ออัปเดต Google ชีตอัตโนมัติ
  5. เพิ่มกราฟลงในแผ่นงาน

ขั้นตอนที่ 6: Interwebz: IFTTT Webhooks

Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks
Interwebz: IFTTT Webhooks

จริงๆเพียงทำตามภาพทีละขั้นตอน ณ จุดนี้

  1. สร้างแอปเพล็ต IFTTT ใหม่
  2. เลือกทริกเกอร์เป็นเหตุการณ์คำขอ Webhook จดชื่อเหตุการณ์
  3. เลือกการดำเนินการที่จะขอ Webhook
  4. วาง URL คำขอจากเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จากแบบฟอร์ม Google
  5. ตั้งค่าวิธีการขอเป็น POST
  6. ตั้งค่าประเภทเนื้อหาเป็น 'application/x-www-urlencoded'
  7. วางข้อมูลคำขอดิบจากเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จากแบบฟอร์ม Google
  8. ค้นหาฟิลด์สำหรับอุณหภูมิและแรงดันไฟฟ้า และแทนที่ด้วย 'ส่วนผสม' ค่า1 & ค่า2.
  9. เสร็จสิ้นแอปเพล็ต

ขั้นตอนที่ 7: Interwebz: ตั้งค่า Logger ของคุณ

Interwebz: ตั้งค่า Logger ของคุณ
Interwebz: ตั้งค่า Logger ของคุณ
Interwebz: ตั้งค่า Logger ของคุณ
Interwebz: ตั้งค่า Logger ของคุณ
Interwebz: ตั้งค่า Logger ของคุณ
Interwebz: ตั้งค่า Logger ของคุณ

ติดตามภาพ…

  1. เยี่ยมชมเอกสาร IFTTT Maker Webhooks ที่นี่:
  2. คัดลอก URL ทริกเกอร์ของคุณ หลังจากป้อนชื่อเหตุการณ์
  3. เข้าสู่โหมดการตั้งค่าบน TinyTempLogger ของคุณโดยกดปุ่มตั้งค่าค้างไว้แล้วกดปุ่มรีเซ็ต เชื่อมต่อกับ ESP_Logger แล้วเปิด 192.168.4.1
  4. ป้อน URL ของคุณ แบ่งเป็น Host และ URI
  5. ป้อน 'value1' และ 'value2' เป็นชื่อของพารามิเตอร์
  6. คลิกที่บันทึกแล้วรีเซ็ต

ขณะนี้คนตัดไม้ของคุณควรโพสต์ข้อมูลไปยัง Google ชีตได้ผ่านการส่งต่อ IFTTT

ขั้นตอนที่ 8: การบัดกรี: แบตเตอรี่ เครื่องชาร์จ และตัวควบคุม

การบัดกรี: แบตเตอรี่ เครื่องชาร์จ และตัวควบคุม
การบัดกรี: แบตเตอรี่ เครื่องชาร์จ และตัวควบคุม
การบัดกรี: แบตเตอรี่ เครื่องชาร์จ และตัวควบคุม
การบัดกรี: แบตเตอรี่ เครื่องชาร์จ และตัวควบคุม

เมื่อถึงจุดนี้ คุณควรมีต้นแบบที่ใช้งานได้อย่างสมบูรณ์บน breadboard/perf-board ในช่วงไม่กี่ขั้นตอนถัดไป เราจะประสานรูปแบบ Dead-bug ของส่วนประกอบทั้งหมดลงในฟอร์มแฟคเตอร์ที่เล็กที่สุดที่เราสามารถทำได้

เริ่มต้นด้วยการบัดกรีแบตเตอรี่ ตัวควบคุม และเครื่องชาร์จเข้าด้วยกันตามแผนผัง

แผนผังยังสามารถพบได้ในหน้า GitHub

ขั้นตอนที่ 9: การบัดกรี: ลบส่วนหัวของพิน

การบัดกรี: ลบส่วนหัวของพิน
การบัดกรี: ลบส่วนหัวของพิน
การบัดกรี: ลบส่วนหัวของพิน
การบัดกรี: ลบส่วนหัวของพิน
การบัดกรี: ลบส่วนหัวของพิน
การบัดกรี: ลบส่วนหัวของพิน

สำคัญ! ก่อนถอดส่วนหัวของพิน ตรวจสอบให้แน่ใจว่าคุณได้แฟลชโปรแกรมและ SPIFFS และได้สร้างต้นแบบของวงจรและยืนยันว่าใช้งานได้! ความจำกระพริบหลังขั้นตอนนี้จะปวดใจ!!

ดำเนินการเท่านั้นหากวงจรทำงานได้อย่างสมบูรณ์เหมือนต้นแบบ

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

ขั้นตอนที่ 10: การบัดกรีตัวต้านทาน SMD การเปลี่ยนกระแสของโมดูลเครื่องชาร์จ

การบัดกรีตัวต้านทาน SMD การเปลี่ยนกระแสของโมดูลเครื่องชาร์จ
การบัดกรีตัวต้านทาน SMD การเปลี่ยนกระแสของโมดูลเครื่องชาร์จ
การบัดกรีตัวต้านทาน SMD การเปลี่ยนกระแสของโมดูลเครื่องชาร์จ
การบัดกรีตัวต้านทาน SMD การเปลี่ยนกระแสของโมดูลเครื่องชาร์จ

ก่อนที่เราจะใช้โมดูลการชาร์จ LiPo กับแบตเตอรี่ขนาดเล็ก 200mAh เราจำเป็นต้องแก้ไขก่อน โดยค่าเริ่มต้น โมดูลเหล่านี้จะชาร์จเซลล์ที่ 500mA ซึ่งสูงเกินไปสำหรับแบตเตอรี่ขนาดเล็ก ด้วยการเปลี่ยนตัวต้านทานชุดกระแสไฟ SMD จาก 1.2kΩ (122) เป็น 4.7kΩ (472) เราสามารถลดกระแสลงเหลือ ~ 150mA วิธีนี้จะทำให้เซลล์ของเรามีอายุยืนยาวขึ้น

ขั้นตอนที่ 11: การบัดกรี: ปุ่ม

การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม
การบัดกรี: ปุ่ม

สิ่งแรกที่ฉันบัดกรีกับ ESP-01 คือปุ่มกด ฉันเพิ่งใช้ลวดพันลวดแบบบางและปุ่มกดยึดพื้นผิว เพียงทำตามแผนผังและเก็บทุกอย่างให้เล็กที่สุด

ขั้นตอนที่ 12: การบัดกรี: DS18B20

การบัดกรี: DS18B20
การบัดกรี: DS18B20
การบัดกรี: DS18B20
การบัดกรี: DS18B20
การบัดกรี: DS18B20
การบัดกรี: DS18B20

ต่อไปฉันบัดกรีเซ็นเซอร์อุณหภูมิ DS18B20 ก่อนอื่นฉันตัดแต่งตะกั่วและบัดกรีตัวต้านทาน4.7kΩที่ติดบนพื้นผิวระหว่างหมุด VCC และ DATA จากนั้นเพียงทำตามแผนผังเพื่อเชื่อมต่อกับ ESP

ขั้นตอนที่ 13: การบัดกรี: แนบทั้งหมดเข้าด้วยกัน

การบัดกรี: แนบทั้งหมดเข้าด้วยกัน
การบัดกรี: แนบทั้งหมดเข้าด้วยกัน
การบัดกรี: แนบทั้งหมดเข้าด้วยกัน
การบัดกรี: แนบทั้งหมดเข้าด้วยกัน
การบัดกรี: แนบทั้งหมดเข้าด้วยกัน
การบัดกรี: แนบทั้งหมดเข้าด้วยกัน

สิ่งสุดท้ายที่เหลือในการบัดกรีอย่างชาญฉลาดคือการต่อสายไฟที่มาจากแบตเตอรี่ไปยัง ESP จากนั้นการบัดกรีก็เสร็จสิ้นในที่สุด!

ขั้นตอนที่ 14: เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย

เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย
เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย
เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย
เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย
เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย
เวลาการพิมพ์ 3 มิติและการประกอบขั้นสุดท้าย

เพื่อให้การประกอบเสร็จสิ้นหลังจากตรวจสอบให้แน่ใจว่าทุกอย่างยังคงทำงานหลังจากบัดกรีแล้ว ก็ถึงเวลาพิมพ์ 3D เคสสำหรับมัน ฉันเริ่มต้นด้วยการวัดขนาดและสร้างแบบจำลองใน Fusion 360 เว้นแต่ว่าคุณจะสามารถปรับขนาดของคุณให้เล็กหรือเท่ากับของฉันได้ คุณอาจต้องปรับแต่งรุ่น Fusion 360 มิฉะนั้น STL สำหรับด้านบนและด้านล่างของเคสและแผ่นรองปุ่มจะพร้อมสำหรับการพิมพ์ ฉันใช้ Cura เพื่อหั่นที่ความละเอียด 0.1 มม., ไส้ 20%, ไส้หลอด ABS และเปิดใช้งาน "พิมพ์ผนังบาง" ตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน มิฉะนั้น การรวมแบบบางที่จัดตำแหน่งสองส่วนของเคสจะไม่ถูกพิมพ์

ไฟล์ STL และฟิวชัน 360 อยู่ใน GitHub

github.com/Luigi-Pizzolito/ESP8266-Temperatu…

หลังจากพิมพ์แล้ว มันเป็นเพียงเคส (ปุนตั้งใจ) ของการบรรจุทุกอย่างลงในนั้นและปิดด้วยซุปเปอร์กาว มันแน่นมากและต้องใช้ความอดทนอย่างมาก ฉันแนะนำบางอย่างเช่น Scotch Weld เพราะมันหนากว่าเล็กน้อย ซุปเปอร์กลูมักจะบางมากและปกปิดทุกอย่างและติดทุกที่ (รวมถึงนิ้ว)

ขั้นตอนที่ 15: เสร็จสมบูรณ์

สมบูรณ์
สมบูรณ์
สมบูรณ์
สมบูรณ์
สมบูรณ์
สมบูรณ์

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

แนะนำ: