repo นี้มีคำแนะนำการสร้างสำหรับอุปกรณ์เซ็นเซอร์ ESP8266 อเนกประสงค์สำหรับโครงการ IoT ที่บ้าน
บอร์ด V5 มีประชากรบางส่วน ภาพที่สร้างขึ้นใน KICAD
บอร์ดเซ็นเซอร์นี้ตรงกับความต้องการฮาร์ดแวร์อัตโนมัติที่บ้านของฉันส่วนใหญ่ มันพอดีกับสิ่งที่แนบมาราคาถูกและมีอยู่อย่างกว้างขวาง (ไม่จำเป็นต้องพิมพ์ 3 มิติ) และสามารถขับเคลื่อนด้วยแบตเตอรี่ Li-ion (การตรวจสอบแรงดันไฟฟ้า, การชาร์จ, การย้อนกลับโพลาไรซ์และวงจรป้องกันรวมอยู่ด้วย) หรือ USB พร้อมการแบ่งปันพลังงานที่เหมาะสมหาก USB และแบตเตอรี่เชื่อมต่อกัน ในด้านซอฟต์แวร์ฉันได้เก็บสิ่งต่าง ๆ ให้อยู่ในระดับสูงที่สุดเท่าที่จะทำได้: Tasmota สำหรับสถานการณ์การใช้งานส่วนใหญ่ micropython ที่จำเป็น การสื่อสารใช้โปรโตคอล MQTT ผ่าน Wi-Fi หรือ LORA (ฉันใช้บอร์ดเป็นทั้งเซ็นเซอร์ LORA ระยะไกลและเป็นสะพาน Lora-MQTT)
บอร์ดได้รับการออกแบบมาสำหรับเซ็นเซอร์ต่อไปนี้รวมถึงการควบคุมมอเตอร์/ปั๊ม (สำหรับการรดน้ำพืชอัตโนมัติ) หมุด GPIO ยังคงเข้าถึงได้ง่ายดังนั้นบอร์ดนี้ยังสามารถใช้เป็นพื้นฐานสำหรับเซ็นเซอร์อื่น ๆ อีกมากมาย
การใช้ ESP8266 มาพร้อมกับข้อ จำกัด บางอย่างโดยเฉพาะรอบ ๆ GPIO ที่มีอยู่และพอร์ต ADC เพียงหนึ่งพอร์ต ซึ่งหมายความว่าไม่มีฟังก์ชั่นที่อาจเกิดขึ้นทั้งหมดในเวลาเดียวกัน ใช่ข้อ จำกัด เหล่านี้สามารถเอาชนะได้ด้วยตัวแยกพอร์ตหรือโดยใช้ไมโครคอนโทรลเลอร์ที่แตกต่างกันเช่น ESP32; อย่างไรก็ตามส่วนหนึ่งของความสนุกสำหรับฉันคือการเห็นว่าฉันสามารถทำอะไรได้มากแค่ไหนกับ ESP8266 และผลลัพธ์สุดท้ายที่เหมาะกับกรณีการใช้งานทั้งหมดของฉัน
![]() | ![]() |
|---|---|
| V4, ด้วย BME280 (อุณหภูมิ, ความดันและความชื้น), BH1750 (LUX) และเซ็นเซอร์ความชื้น (ผ่านปลั๊กเสียง) พร้อมสำหรับปั๊มรดน้ำ (ล่างขวา); ไม่ได้เชื่อมต่อในปัจจุบัน | V5 ด้วยเซ็นเซอร์ BME280 และ MH-Z19C (CO 2 ) |
![]() |
|---|
| การจัดส่งใหม่ของบอร์ด V5 |
คุณสามารถ (ควร?!) ใช้อย่างอื่น ตอนแรกฉันออกแบบสิ่งนี้เป็นวิธีการเรียนรู้เกี่ยวกับเซ็นเซอร์ IoT และการออกแบบ/การผลิตวงจร ฉันติดอยู่กับมันเพราะมันมีข้อได้เปรียบหลายประการเหนือบอร์ดนอกชั้นวาง:
บอร์ดสามารถขับเคลื่อนได้โดยตรงจาก USB หรือจากแบตเตอรี่ Li-ion บอร์ด V4 และ Micro-USB ที่ใช้ก่อนหน้านี้ V5 ใช้ USB-C คัตเอาท์ทางด้านซ้ายของบอร์ดได้รับการออกแบบมาเพื่อรองรับเคส 1 เซลล์ 18650-battery เช่นนี้ (ลิงก์ซื้อ) ขั้วต่อแบตเตอรี่เป็น 2 พิน JST-PH (ระยะห่าง 2 มม.) แต่ถ้าคุณต้องการเพียงแค่ประสานสายไฟไปยังขั้วต่อโดยตรง
หากทั้งแบตเตอรี่และ USB เชื่อมต่อพร้อมกันวงจรการแชร์พลังงานจะช่วยให้มั่นใจได้ว่า USB เท่านั้นที่ให้อำนาจบอร์ด แบตเตอรี่ใช้ร่วมกับสำเนาของโมดูลที่ใช้ TP4056 3-Chip ทั่วไปสำหรับการชาร์จ มีสวิตช์ให้บริการหากคุณไม่ได้ใช้แบตเตอรี่และต้องการข้ามวงจรนี้ (หรือถ้าคุณไม่ต้องการให้แบตเตอรี่ชาร์จในขณะที่เชื่อมต่อ USB) โมดูลรวมถึงการป้องกันที่สูงเกินไปการจ่ายมากเกินไปกระแสไฟฟ้าล้นและลัดวงจร โปรดทราบว่าการป้องกันกระแสเกินและการลัดวงจรถูกข้ามไปยังส่วนที่เหลือของบอร์ด (ไม่ใช่แบตเตอรี่) เมื่อเชื่อมต่อ USB และวงจรการแบ่งปันพลังงานจึงทำงานอยู่ โมดูลการชาร์จมาตรฐานไม่รวมถึงการป้องกันการใช้แบตเตอรี่-โพลาไรซ์ดังนั้นฉันจึงเพิ่มสิ่งนั้นด้วย
การตรวจสอบแรงดันไฟฟ้าของแบตเตอรี่จะพร้อมใช้งานเมื่อมีการเชื่อมต่อ Jumper JP5 (ด้านหน้า) หรือ JP6 (ด้านหลัง) สิ่งนี้เชื่อมต่อขั้วแบตเตอรี่บวกผ่านตัวแบ่งแรงดันไฟฟ้าไปยังพิน ADC ของ ESP เพียงอย่างเดียว การเชื่อมต่อนี้เป็นตัวเลือกเนื่องจากเซ็นเซอร์ความชื้น (และแน่นอนเซ็นเซอร์อื่น ๆ ) ยังต้องเข้าถึง ADC ด้วยเหตุนี้จึงเป็นไปไม่ได้ที่จะตรวจสอบทั้งแรงดันไฟฟ้าของแบตเตอรี่และเซ็นเซอร์ความชื้นในดินในเวลาเดียวกันกับบอร์ด V5
หมายเหตุ
มีช่วงเวลาที่เป็นไปได้ของ LDO ที่เป็นไปได้ให้เลือก ฉันตัดสินบน XC6203P332PRPR เนื่องจากเอาต์พุตปัจจุบันที่ค่อนข้างสูงและแรงดันดรอปเอาท์ต่ำ บอร์ด V4 มีรอยเท้าสำหรับหน่วยงานกำกับดูแลทางเลือกสองตัวซึ่งฉันวางแผนที่จะทดสอบความมั่นคง แต่สิ่งเหล่านี้ไม่จำเป็นและถูกลบออกใน V5
ใน PCB เวอร์ชัน 4 ฉันจับคู่ตัวเก็บประจุ1μF Tantalum สองตัวกับ XC6203 ต่อแผ่นข้อมูล ฉันมีตัวเก็บประจุล้มเหลวบนบอร์ดสองบอร์ดเหล่านี้หลังจากใช้งานสองสามสัปดาห์ทำให้เกิดการลัดวงจรและควันจำนวนมาก (บอร์ดกำลังขับเคลื่อนด้วย USB ในเวลานั้น) หลังจากอ่านเรื่องราวสยองขวัญแทนทาลัมออนไลน์ฉันตัดสินใจที่จะทดลองใช้การแลกเปลี่ยนเป็นเซรามิกส์ใน V5 และไม่มีปัญหาอีกต่อไป ฉันค้นพบในภายหลังว่าความล้มเหลวทั้งสองเป็นความผิดของฉัน: ฉันติดตั้งชิ้นส่วนในสิ่งที่ตรงกันข้าม! ฉันแน่ใจว่ามีเหตุผลที่ดีว่าทำไมวงดนตรีมาร์คเกอร์ขั้วในแทนทาลัมหมายถึงบวกในขณะที่อยู่ในตัวเก็บประจุอลูมิเนียมและไดโอดมันหมายถึงลบ แต่พวกเขาก็สะดุดมือใหม่นี้
สะดวก XC6203p332pr สามารถใช้งานได้กับบอร์ดอะแดปเตอร์ ESP-12F สีขาว มันเล็กกว่ารอยเท้าที่ให้ไว้ แต่ยังสามารถบัดกรีลงบนมันด้วยปัญหาเล็กน้อย ตรวจสอบให้แน่ใจว่าคุณลบตัวต้านทานศูนย์ศูนย์กลางศูนย์กลางที่ด้านหน้าของบอร์ดหากใช้ตัวควบคุมที่ติดตั้งบอร์ด
ฉันเรียนรู้วิธีที่ยากเกี่ยวกับความไวต่อไฟฟ้าของ ESP8266: บน V3 ของบอร์ดมันจะรีบูตเมื่อใดก็ตามที่มอเตอร์รดน้ำเปิดใช้งาน ฉันเอาชนะสิ่งนี้ใน V4 ด้วยการเปลี่ยนตำแหน่งส่วนประกอบ (การเคลื่อนย้ายมอเตอร์ไปยังปลายสุดห่างจากไมโครคอนโทรลเลอร์) เพิ่มตัวเก็บประจุเพิ่มเติมถัดจากการเชื่อมต่อมอเตอร์เพิ่มความกว้างการติดตามพลังงานเทียบกับร่องรอยของสัญญาณ
บอร์ดได้รับการออกแบบมาสำหรับ ESP-12F ฉันมักจะแฟลชชิปในบอร์ดโปรแกรมเมอร์ก่อนที่จะบัดกรีเพื่อตรวจสอบว่ามันใช้งานได้
เมื่อติดตั้งแล้วมันสามารถฉายในวิธีปกติโดยเชื่อมต่อบอร์ดอินเตอร์เฟส USB-Uart เข้ากับพินที่เหมาะสม
| เข็มหมุด# | ท่าเรือ | การเชื่อมต่อบอร์ด | ตัวต้านทาน* |
|---|---|---|---|
| 1 | ครั้งแรก | ปุ่มรีเซ็ต | |
| 2 | ADC | ADC (ความชื้นหรือแบตเตอรี่) | |
| 3 | en | เปิดชิป | หัวหน้างานหรือ e-pu |
| 4 | io16 | deepsleep | |
| 5 | io14 | I2C SCL หรือ SPI SCK | |
| 6 | io12 | ความชื้น VCC หรือ SPI SDO-MISO | |
| 7 | io13 | i2c sda หรือ spi mosi | |
| 8 | VCC | ||
| 15 | gnd | ||
| 16 | io15 | Lora NSS | E-PD |
| 17 | io2 | Onboard LED & SPI SS | |
| 18 | io0 | ปุ่มแฟลช | E-pu |
| 19 | IO4 | สวิตช์โหมด (GND: ใช้สลีป) | E-pu |
| 20 | io5 | ปั๊มน้ำหรือ Lora Dio | E-PD |
| 21 | RXD | CO 2 TX | |
| 22 | TXD | CO 2 RX |
* ตัวต้านทานที่แนบมากับ PIN: i: ภายใน, e: ภายนอก, pu: pull-up, pd: pull-down
ดูเหมือนว่าจะมีการอภิปรายออนไลน์เกี่ยวกับวิธีที่ดีที่สุดในการเชื่อมต่อ RST กับ GPIO16 เพื่อใช้ฟังก์ชันการทำงานของ DeepSleep ของ ESP8266 ฉันผิดพลาดที่ด้านข้างของความระมัดระวังและเพิ่มไดโอดระหว่างทั้งสอง
ESP8266 มีความอ่อนไหวต่อการออกสีน้ำตาลหากแรงดันไฟฟ้าต่ำเกินไป (คำอธิบายที่ดีของปัญหานี้สามารถพบได้ที่นี่) ร่วมกับแรงดันไฟฟ้าที่เพิ่มขึ้นอย่างไม่เกิดขึ้นจริงจากตัวควบคุมเมื่อใช้พลังงานเป็นครั้งแรกซึ่งสามารถนำไปสู่ปัญหาการบูต เพื่อป้องกันสิ่งนี้ฉันได้รวมหัวหน้างานแรงดันไฟฟ้าเสริม (TPS3839G33DBZ) ซึ่งจะตั้งค่าพินที่สามารถเปิดชิปได้สูงเมื่อแรงดันไฟฟ้าสูงกว่าเกณฑ์ที่เหมาะสม อย่างไรก็ตามฉันยังไม่ได้สังเกตว่า Brown-outs เป็นปัญหาดังนั้นบางครั้งฉันก็ข้ามองค์ประกอบนี้
อุปกรณ์ที่มีอุปกรณ์ครบครันของ Lora ในเปลือกหุ้มของพวกเขา
การรวม ESP8266 เข้ากับโมดูล LORA นั้นยืดออกเมื่อพูดถึง GPIO ที่มีอยู่ บอร์ดนี้ได้รับการออกแบบมาเพื่อทำงานกับโมดูล SX1276 LORA (ลิงก์ตัวอย่าง) และโน้มตัวลงอย่างมากในการออกแบบจากที่นี่ซึ่งลดพอร์ตที่จำเป็นโดยการเชื่อมโยงพินสามโมดูลของ Lora (DiO0, 1 และ 2) กับหนึ่งพิน ESP8266 ผ่านไดโอดสามไดโอด การกำหนดค่าการแชร์ไดโอนี้ต้องการการจัดการพิเศษในซอฟต์แวร์ อย่างไรก็ตามสำหรับการสื่อสาร LORA อย่างง่ายมีเพียง DIO0 เท่านั้นดังนั้นสำหรับบอร์ด LORA ของฉันจนถึงปัจจุบันฉันได้เชื่อมโยง D9 และทิ้ง D10 และ D11 ไว้
สำหรับการทดสอบคุณสามารถบัดกรีเสาอากาศแบบลวดแบบลวดลายได้โดยตรง (มักจะรวมอยู่กับการซื้อโมดูล) โดยตรงไปยังหมุดเสาอากาศของโมดูล ช่วงจะดูดแม้ว่า สำหรับช่วงที่ดีกว่าติดตั้งเสาอากาศที่สูงกว่า (ฉันใช้เสาอากาศ 5DBI ที่ซื้อที่นี่) ฉันรวมรอยเท้า ipex U.FL-R ที่ AE1 อีกวิธีหนึ่งตัวเชื่อมต่อที่ติดตั้งบนขอบ SMA นั้นพอดีกับขอบของบอร์ดผ่าน Footprint J5 สิ่งเหล่านี้สามารถใช้สายได้ดังต่อไปนี้ (ตัวอย่างนี้ใช้บอร์ด V4 แต่จะใช้งานได้สำหรับ V5): ด้านบนและด้านล่าง
หมายเหตุ
ADC เดียวมีอยู่ใน ESP8266 โดยมีช่วงการวัดตั้งแต่ 0V ถึง 1V สำหรับการวัดแรงดันไฟฟ้าที่สูงขึ้นจึงจำเป็นต้องมีตัวแบ่งแรงดันไฟฟ้า บนบอร์ด V5 สามารถใช้ ADC สำหรับอุปกรณ์ต่อพ่วงที่เชื่อมต่อกับแจ็คเสียงหรือตรวจสอบแรงดันไฟฟ้าของแบตเตอรี่หากปิด JP11 หรือ JP5
การเชื่อมต่อผ่านแจ็คเสียงจะผ่านตัวแบ่งด้วย R1 = 470 kΩ (ส่วนประกอบ R7), R2 = 200 kΩ (ส่วนประกอบ R8) สิ่งนี้อนุญาตให้ทำการวัดแรงดันไฟฟ้าสูงถึง 3.3V (3.3V ลดลงเหลือประมาณ 0.985V; ปรับเทียบสัญญาณเพื่อความแม่นยำที่สูงขึ้น)
การเชื่อมต่อแบตเตอรี่เพิ่มตัวต้านทานเพิ่มเติม 330 kΩ (ส่วนประกอบ R10) ในซีรีส์พร้อมส่วนประกอบ R7 นำไปสู่ R1 = 800 kΩ สิ่งนี้จะเพิ่มช่วงการวัดถึง 5V
ฉันเลือกใช้แจ็คเสียง 4 ขั้ว (รุ่น PJ313E) เพื่อเชื่อมต่อเซ็นเซอร์ความชื้นเข้ากับบอร์ด สำหรับตอนนี้มีเพียงสามในสี่ของเสาเท่านั้นที่เชื่อมต่อ; ที่สี่เป็นอะไหล่ที่มีการใช้งานในอนาคต เริ่มต้นจากฐานถึงปลายปลั๊กเสียงการเชื่อมต่อปัจจุบันคือ:
| เสา | การเชื่อมต่อ |
|---|---|
| 1 | gnd |
| 2 | ไม่มีการเชื่อมต่อ |
| 3 | 3.3V (จาก GPIO12 ผ่าน JP3) |
| 4 | ถึง ADC ผ่านตัวแบ่งแรงดันไฟฟ้า 3.3V |
ฉันประสบปัญหาหนึ่งอย่างกับซ็อกเก็ตที่ฉันเลือก (หรืออาจเป็นการรวมกันของซ็อกเก็ตและปลั๊กที่ฉันใช้): โดยค่าเริ่มต้นมันไม่สามารถเชื่อมต่อกับขั้วทั้งสี่ได้ สิ่งนี้สามารถเห็นได้ในภาพด้านบนที่นี่ซึ่งไม่มีการติดต่อที่ลึกที่สุด (ขั้ว 4) ที่ไม่เบี่ยงเบน ในการแก้ไขปัญหาฉันได้ทำการแอบ/ยื่นออกส่วนหน้าพลาสติกที่ยื่นออกมาของซ็อกเก็ต (ภาพล่าง)
ปั๊มน้ำขนาดเล็กและท่อที่มีความยืดหยุ่นที่จำเป็นมีให้กันอย่างกว้างขวาง ตามที่กล่าวไว้ข้างต้นพวกเขาเป็นบั๊กบั๊กที่ไม่เป็นกระแสไฟฟ้า ดังนั้นเหตุใดขั้วต่อสำหรับปั๊มจึงอยู่ที่มุมไกลของบอร์ดจาก ESP และป้องกันตัวเก็บประจุสองตัวของตัวเอง โดยปกติแล้วจะใช้พลังงานจาก GPIO5 ผ่าน N-Channel MOSFET หรือสามารถทำงานด้วยตนเองด้วยปุ่มเสริม SW5
เพื่อความเรียบง่ายและเนื่องจากปั๊มขนาดเล็กดูเหมือนจะสามารถทำงานได้ในช่วงแรงดันไฟฟ้าที่ค่อนข้างกว้างปั๊มจึงมาพร้อมกับแรงดันไฟฟ้าใดก็ตามที่กำลังเปิดใช้งานกระดาน (กำหนดโดยสถานะของวงจรการแบ่งปันพลังงาน): หาก USB เชื่อมต่อกัน หากใช้พลังงานจากแบตเตอรี่มันจะเป็นแรงดันไฟฟ้าของแบตเตอรี่ลบ D8 Drop ในทางปฏิบัติมันไม่ได้สร้างความแตกต่างมากนัก: น้ำจะถูกสูบลงเล็กน้อยในช่วงเวลาที่กำหนดเมื่อใช้พลังงานจากแบตเตอรี่ USB เทียบกับ
สำหรับการเชื่อมต่อบอร์ดของปั๊มมีรอยเท้าสำหรับซ็อกเก็ต DC-002 ฉันคิดว่าใช้ซ็อกเก็ต USB แต่ตัดสินใจว่าจะทำให้เข้าใจผิดเนื่องจากแรงดันไฟฟ้าเอาท์พุทไม่ใช่ 5V เสมอไปที่เราคาดหวังจาก USB บนบอร์ดภาพด้านบนฉันข้ามซ็อกเก็ตแจ็คพลังงานและเชื่อมต่อซ็อกเก็ตหัวพินคู่แทน
ฉันเลือกกล่องโครงการนี้เพราะราคาถูกมีให้เลือกมากมายและมีขนาดที่เหมาะสมสำหรับ PCB และแบตเตอรี่ 18650
จำเป็นต้องใช้สกรู 8 มม. M2.6 เพื่อแนบบอร์ดเข้ากับกล่องเช่นนี้
| คุณสมบัติ | โมดูล | การเชื่อมต่อบอร์ด | แผ่นข้อมูล | ลิงค์ซื้อ* |
|---|---|---|---|---|
| อุณหภูมิความดันความชื้น | BME280 | โดยตรง (ส่วนหัว 2.54 มม.) | การเชื่อมโยง | |
| ตู้นิรภัย | BH1750 | โดยตรง (ส่วนหัว 2.00 มม.) | การเชื่อมโยง | Alixpress |
| CO 2 | MH-Z19C | โดยตรง (ส่วนหัว 2.54 มม.) | การเชื่อมโยง | Alixpress |
| ความชื้น | “ เซ็นเซอร์ความชื้นในดิน capacitive v1.2” | ปลั๊กเสียง | ลิงค์ (เวอร์ชันเก่า) | Alixpress |
* ฉันซื้อจากลิงก์เหล่านั้นในอดีต แต่พวกเขาได้รับการรับประกัน ฉันยังไม่ได้วางแผนที่จะอัปเดตเมื่อพวกเขาหมดอายุอย่างหลีกเลี่ยงไม่ได้
นี่คืออุณหภูมิที่มีประโยชน์มากเซ็นเซอร์ความชื้นและความดัน ด้วยจุดเมาท์ปัจจุบันของเซ็นเซอร์มันอยู่ด้านนอกของตู้บางส่วน ฉันพบว่าสะดวกเพราะฉันไม่ต้องกังวลเกี่ยวกับการไหลเวียนของอากาศภายในกล่อง หากรูปทรงเรขาคณิตปัจจุบันทำให้คุณขุ่นเคืองหรือคุณต้องการอุปกรณ์ที่มีประสิทธิภาพมากขึ้นซึ่งเซ็นเซอร์จะไม่เสี่ยงต่อการได้รับความเสียหายให้พิจารณาการออกแบบใหม่บนจุดเชื่อมต่อหรือเลือกเซ็นเซอร์ทางเลือกที่มีกรงในตัว
คุณอาจพบว่าพินบัดกรีเข้ามาใกล้ฝาปิดฝาปิดอย่างถูกต้อง หากเป็นกรณีนี้คุณสามารถตัดแต่งได้ก่อนการบัดกรีเหมือนที่ฉันเคยทำที่นี่
เซ็นเซอร์สามารถสื่อสารโดย I2C หรือ SPI; คนส่วนใหญ่ดูเหมือนจะใช้ I2C ซึ่งคุณต้องทำการเปลี่ยนแปลงบอร์ด หากคุณต้องการอินเทอร์เฟซ SPI ให้ปิดสะพานประสานสองสามอันที่ด้านหลังเพื่อเชื่อมต่อพินเพิ่มเติม บนบอร์ด V5 หนึ่งในการเชื่อมต่อเหล่านี้ยังช่วยเพิ่มความชื้นให้กับเซ็นเซอร์ความชื้นดังนั้นการเปลี่ยนแปลงจะต้องใช้หากคุณต้องการเรียกใช้ทั้ง BME280 (พร้อมอินเทอร์เฟซ SPI) และเซ็นเซอร์ความชื้นพร้อมกัน
หมายเหตุ
นี่คือโฟโตไดโอดที่เรียบง่ายและเชื่อถือได้รวมกับอินเทอร์เฟซ I2C คุณสามารถซื้อได้ในรูปแบบต่าง ๆ โดยมีรุ่นเบาบอลที่สะดวกโดยเฉพาะอย่างยิ่งสำหรับวัตถุประสงค์ของเรา ตัดแต่งชิ้นส่วนพลาสติกของขั้วต่อในตัวและตอนนี้สามารถเสียบเข้ากับส่วนหัวพิน 2 มม. มาตรฐานได้โดยตรงซึ่งรวมอยู่ในบอร์ด V5 ลูกบอลแสงสามารถโผล่ออกมาจากเซ็นเซอร์และติดตั้งโดยตรงไว้ที่ด้านบนของตู้
หมายเหตุ
นี่คือเซ็นเซอร์ที่มีราคาแพงที่สุดที่ฉันใช้ แต่ฉันคิดว่ามันคุ้มค่ากับทางเลือก VOC ที่ถูกกว่า มันสื่อสารผ่านรถบัส UART (ดังนั้น ESP8266 PINS RX และ TX) ดังนั้นคุณต้องการให้แน่ใจว่าเซ็นเซอร์ไม่ได้เชื่อมต่อหากคุณพยายามแฟลช ESP หรือใช้อินเทอร์เฟซอนุกรม
ในการใช้ MH-Z19C บนบอร์ด V5 คุณต้องเชื่อมต่อสะพานประสานสองซุปที่ด้านหลัง ในการเข้าใจถึงปัญหาหลังเหตุการณ์ฉันไม่สามารถนึกถึงกรณีการใช้งานที่ดีเมื่อคุณไม่ต้องการสายรัดเหล่านั้นดังนั้นฉันอาจจะสลับแผ่นแผ่นเพื่อร่องรอยต่อเนื่องในรุ่นอนาคต
หมายเหตุ
เพื่อที่จะหยุดเซ็นเซอร์ความชื้นทำงานอย่างต่อเนื่องและระบายแบตเตอรี่มันขับเคลื่อนโดยตรงโดย GPIO12 สะพานแผ่นด้านขวาของ JP3 ไปยังแผ่นกลางเพื่อทำการเชื่อมต่อนั้น มันไม่ได้เป็นกระแสมากนักดังนั้นฉันจึงไม่มีปัญหาในการขับเคลื่อนเซ็นเซอร์โดยตรงจากพิน GPIO โดยตรง หากมันกลายเป็นปัญหาสีน้ำตาลออก/เสถียรภาพในอนาคตการเชื่อมต่อนี้จะต้องถูกแทนที่ด้วย mosfet
คณะกรรมการได้รับการออกแบบใน KICAD และผลิตโดย JLCPCB ไฟล์ KICAD และข้อมูลที่ JLCPCB ต้องการในไดเรกทอรี board_v*
กรุณาทำความเข้าใจกับแผนผัง ฉันรู้ว่ามันน่าเกลียดและต้องการแยกออกเป็นหลายส่วน จำไว้ว่านี่คือการออกแบบ PCB ครั้งแรกของฉัน!

เค้าโครงบอร์ด V5
เพื่อความสะดวกฉันใช้ Tasmota สำหรับอุปกรณ์ทั้งหมดที่เป็นไปได้ Tasmota ไม่สามารถจัดการ LORA ได้ดังนั้นสำหรับอุปกรณ์เหล่านี้ฉันใช้ micropython
ลิงค์ติดตั้งเว็บ
ตรวจสอบให้แน่ใจว่าคุณติดตั้งรูปภาพ Tasmota เวอร์ชัน "เซ็นเซอร์"
นี่คือภาพหน้าจอ Tasmota จากอุปกรณ์ V4 ที่อยู่ด้านบนของ readme นี้
- 
นี่คือการตั้งค่าหลักที่ฉันเปลี่ยนจากค่าเริ่มต้นในอินเทอร์เฟซควบคุม อ่านเกี่ยวกับการตั้งค่าเหล่านี้และอื่น ๆ ที่นี่
หมายเหตุ
POWER2 ON คำสั่งOutput Hi แทนที่จะเป็น Relay 2 จากนั้นจะถูกตั้งค่าสูงในช่วงต้นของกระบวนการบูตของ Tasmota และยังคงปิดเมื่อไมโครคอนโทรลเลอร์เข้าสู่การนอนหลับลึกดูที่นี่สำหรับซอฟต์แวร์และคำแนะนำของฉัน Lora Micropython: https://github.com/brev-dev/lora_esp8266_sensor_mqtt_bridge
แม้ว่าจะไม่ได้รับการคุ้มครองโดย repo นี้ แต่นี่คือบันทึกย่อบางอย่างเกี่ยวกับที่อุปกรณ์เหล่านี้นั่งในการตั้งค่าบ้านเต็มรูปแบบของฉัน
การตั้งค่าบ้านของฉันได้รับการออกแบบมาเพื่อให้บรรลุเป้าหมายเหล่านี้:
เพื่อเปิดใช้งานการควบคุมอุณหภูมิในแต่ละห้องหม้อน้ำจะถูกเสียบเข้ากับปลั๊กสมาร์ท ESP8285 TASMOTIZED
"ฮับ" เป็นราสเบอร์รี่ Pi 4 ที่ติดตั้งด้วยยุง, ผงก, influxdb และ grafana การไหลของการผงกของฉันอาจจะง่ายขึ้นโดยแทนที่ส่วนใหญ่ด้วยเช่น homeAssistant แต่ฉันไม่ได้มองว่า การรวมกันของ InfluxDB และ Grafana ใช้ในการจัดเก็บและแสดงภาพข้อมูลในอดีต (ตัวอย่างด้านล่าง) พร้อมกับแอพ "MQTT Dash" บนโทรศัพท์ของเราเพื่อตรวจสอบสถานะปัจจุบันและการเปลี่ยนแปลงอุณหภูมิและระดับทริกเกอร์ความชื้น สแต็กซอฟต์แวร์ RPI ใช้ Docker และ IoTStack เพื่อความสะดวกในการกำหนดค่าและการบำรุงรักษา Andreas Spiess มีวิดีโอที่ยอดเยี่ยมในหัวข้อรวมถึง: #255, #295 และ #352


