สารบัญ:
วีดีโอ: สัญญาณเตือนน้ำท่วมชั้นใต้ดินพลังงานต่ำพิเศษด้วย ESP8266: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:06
สวัสดียินดีต้อนรับสู่การสอนครั้งแรกของฉัน
ชั้นใต้ดินของบ้านของฉันถูกน้ำท่วมทุกๆ สองสามปีด้วยเหตุผลต่างๆ เช่น พายุฝนฟ้าคะนองในฤดูร้อนอย่างหนัก น้ำบาดาลสูง หรือแม้แต่ท่อประปาแตก แม้ว่าจะไม่ใช่สถานที่ที่ดี แต่หม้อต้มน้ำร้อนจากส่วนกลางของฉันอยู่ด้านล่าง และน้ำอาจเป็นอันตรายต่อชิ้นส่วนอิเล็กทรอนิกส์ของมัน ดังนั้นฉันจึงจำเป็นต้องสูบน้ำออกโดยเร็วที่สุด การตรวจสอบสถานการณ์หลังจากพายุฝนฟ้าคะนองในฤดูร้อนนั้นยากและไม่สบายใจ ดังนั้นฉันจึงตัดสินใจสร้างสัญญาณเตือนตาม ESP8266 ซึ่งจะส่งอีเมลถึงฉันในกรณีที่เกิดน้ำท่วม (เมื่อน้ำท่วมเกิดจากน้ำบาดาลสูง ระดับน้ำปกติจะน้อยกว่า 10 เซนติเมตร ซึ่งไม่เป็นอันตรายต่อฮีตเตอร์ และไม่แนะนำให้สูบออกเพราะว่าจะกลับมาอีก และยิ่งสูบน้ำบาดาลก็ยิ่งมา คราวหน้าแต่รู้สถานการณ์ก็ดี)
ในแอปพลิเคชันนี้ อุปกรณ์อาจอยู่ใน "โหมดสลีป" เป็นเวลาหลายปี และหากทุกอย่างเป็นไปตามแผนที่วางไว้ จะทำงานเพียงไม่กี่วินาที การใช้โหมดหลับลึกนั้นไม่มีประโยชน์ เนื่องจากจะดึงกระแสไฟมากเกินไป หากเราต้องการนอนหลับเป็นระยะเวลานานมาก และ ESP8266 สามารถนอนหลับได้ไม่เกิน 71 นาทีเท่านั้น
ฉันตัดสินใจใช้สวิตช์ลูกลอยเพื่อเปิดเครื่อง ESP ด้วยวิธีแก้ปัญหานี้ ESP จะไม่ได้รับพลังงานเมื่อเปิดสวิตช์ ดังนั้นการใช้พลังงานจึงเป็นเพียงการคายประจุของแบตเตอรี่เองเท่านั้น ซึ่งช่วยให้ระบบพร้อมสำหรับการแจ้งเตือนเป็นเวลาหลายปี
เมื่อระดับน้ำถึงโฟลตสวิตช์ ESP จะเริ่มทำงานตามปกติ เชื่อมต่อกับเครือข่าย WiFi ของฉัน ส่งอีเมลถึงฉันและเข้าสู่โหมดสลีปตลอดไปด้วย ESPDeepsleep(0) จนกว่าเครื่องจะปิดและเปิดใหม่อีกครั้ง หากไม่สามารถเชื่อมต่อกับ WiFi หรือส่งอีเมลไม่ได้ อุปกรณ์จะเข้าสู่โหมดสลีปเป็นเวลา 20 นาที และลองอีกครั้งจนกว่าจะสำเร็จ
แนวคิดนี้คล้ายกับวิธีแก้ปัญหาที่ Andreas Spiess อธิบายไว้ในวิดีโอนี้ แต่เนื่องจากธรรมชาติของน้ำท่วมและลูกลอย เราไม่จำเป็นต้องเพิ่ม MOSFET เพื่อให้ ESP เปิดทำงานจนกว่ามันจะทำงานเสร็จ เพราะสวิตช์ลูกลอยจะปิดถ้าระดับน้ำเกินระดับทริกเกอร์.
ขั้นตอนที่ 1: แผนผัง:
อะไหล่
- D1: BAT46 Schottky-diode สำหรับการตื่นนอนลึก ฉันมีประสบการณ์ที่ดีกว่ากับไดโอด Schottky มากกว่าตัวต้านทานระหว่าง D0 และ RST
- สวิตช์ลูกลอย: หลอดกกแบบธรรมดาราคา 1.2 เหรียญและสวิตช์ลอยตัวแบบแม่เหล็กจาก eBay วงแหวนที่มีแม่เหล็กสามารถย้อนกลับเพื่อเปลี่ยนระหว่างการสลับระดับของเหลวสูงและต่ำได้ ลิงค์อีเบย์
- ที่ใส่แบตเตอรี่: สำหรับแบตเตอรี่ AAA 1.5V 2 ก้อน
- P1: 2x 2P 5.08 มม. (200mil) ขั้วสกรูสำหรับเชื่อมต่อสายไฟจากแบตเตอรี่และสวิตช์ลูกลอย
- C1: 1000uF 10V ตัวเก็บประจุเพื่อเพิ่มความเสถียรของ ESP ในขณะที่วิทยุเปิดอยู่ โปรดทราบว่าหาก ESP อยู่ในโหมดสลีป พลังงานที่เก็บไว้ในตัวเก็บประจุจะเพียงพอสำหรับการจ่ายไฟเป็นเวลา 3-4 นาที ในช่วงเวลานั้น การทำงานของสวิตช์ลูกลอยไม่สามารถรีสตาร์ท ESP ได้ เนื่องจากตัวเก็บประจุเปิดไว้ในขณะที่อยู่ในโหมดสลีป สิ่งนี้น่าสนใจเฉพาะระหว่างการทดสอบ
- U1: ไมโครคอนโทรลเลอร์ LOLIN / Wemos D1 Mini Pro ESP8266 นี่คือรุ่นโปรที่มีขั้วต่อเสาอากาศภายนอก ซึ่งอาจเป็นประโยชน์เมื่อวางไว้ในห้องใต้ดิน โปรดทราบว่าคุณควรบัดกรี "ตัวต้านทาน" 0 โอห์ม SMD อีกครั้งเพื่อเลือกเสาอากาศภายนอกแทนเสาอากาศเซรามิกในตัวที่เป็นค่าเริ่มต้น ฉันแนะนำให้ซื้อไมโครคอนโทรลเลอร์ LOLIN จากร้านค้า LOLIN AliExpress อย่างเป็นทางการ เพราะมีบอร์ด Wemos / LOLIN รุ่นเก่าหรือปลอมจำนวนมาก
- Perfboard: บอร์ดโปรโต 50 มม. * 50 มม. จะเพียงพอสำหรับใส่ชิ้นส่วนทั้งหมด วงจรง่ายเกินไปที่จะสร้าง PCB:)
โปรดทราบว่าแบตเตอรี่เชื่อมต่อกับอินพุต 3.3V แม้ว่า D1 Mini จะมี LDO ในตัวสำหรับการทำงานของ USB / LiPo แต่เราไม่ต้องการสิ่งนี้เมื่อใช้พลังงานจากแบตเตอรี่อัลคาไลน์ขนาด 3V ของ 2xAAA ด้วยการเชื่อมต่อนี้ D1 Mini ของฉันสามารถทำงานให้เสร็จได้ด้วยแรงดันไฟเพียง 1.8V เช่นกัน
ขั้นตอนที่ 2: รหัส
โปรแกรมอาจจะดีกว่าหรือง่ายกว่านี้ก็ได้ แต่ส่วนต่างๆ ได้รับการพิสูจน์อย่างดีในโครงการอื่นๆ ของฉัน
ร่างนี้ใช้ไลบรารีต่อไปนี้:
ESP8266WiFi.h: ค่าเริ่มต้นสำหรับบอร์ด ESP8266
Gsender.h: ห้องสมุดผู้ส่ง Gmail จาก Borya สามารถดาวน์โหลดได้จากที่นี่
การไหลของโปรแกรมค่อนข้างง่าย
- อีเอสพีเริ่มทำงาน
- อ่านหน่วยความจำ RTC เพื่อตรวจสอบว่าเป็นการเริ่มต้นครั้งแรกหรือไม่
- เชื่อมต่อกับ WiFi โดยใช้ฟังก์ชัน smartwifi() การดำเนินการนี้จะเชื่อมต่อกับ WiFi โดยใช้ที่อยู่ MAC ของเราเตอร์ (BSSID) และหมายเลขช่องสัญญาณเพื่อการเชื่อมต่อที่รวดเร็วยิ่งขึ้น ลองใหม่โดยไม่ผ่าน 100 ครั้งและเข้าสู่โหมดสลีปหลังจากพยายาม 600 ครั้ง ฟังก์ชันนี้มาจากร่างการประหยัดพลังงาน WiFi ของ OppoverBakke แต่ไม่มีการบันทึกข้อมูลการเชื่อมต่อไปยังส่วน RTC ในแอปพลิเคชันนี้
- ตรวจสอบแรงดันไฟของแบตเตอรี่ด้วยคุณสมบัติ ESP ที่สร้างขึ้นใน ADC_MODE(ADC_VCC) / ESP.getVcc() ไม่ต้องใช้ตัวแบ่งแรงดันไฟภายนอกหรือสายไฟใดๆ กับ A0 เหมาะสำหรับแรงดันไฟฟ้าที่ต่ำกว่า 3.3V ซึ่งเป็นกรณีของเรา
-
ส่งอีเมลแจ้งเตือนด้วย Gsender.h ฉันเพิ่มตัวแปรและข้อความที่กำหนดเองไปที่หัวเรื่องและสตริงข้อความเพื่อรายงานแรงดันแบตเตอรี่ เวลาที่ผ่านไปตั้งแต่การตรวจจับครั้งแรกและคำแนะนำเกี่ยวกับการเปลี่ยนแบตเตอรี่ โปรดอย่าลืมเปลี่ยนที่อยู่อีเมลของผู้รับ
-
นอน
- หากประสบความสำเร็จ มันจะหลับ "ตลอดไป" ด้วย ESP.deepSleep(0); โดยร่างกายจะอยู่ในโหมดสลีปจนกว่าระดับน้ำจะสูง ในทางเทคนิคแล้วจะใช้เวลาสองสามชั่วโมงหรือสูงสุดสองสามวัน ซึ่งจะไม่ทำให้แบตเตอรี่หมดด้วยกระแสไฟสลีปของ uA เพียงเล็กน้อย เมื่อน้ำหมด สวิตช์ลูกลอยจะเปิดขึ้นและ ESP จะปิดโดยสมบูรณ์ และปริมาณการใช้กระแสไฟฟ้าจะเป็น 0
- หากไม่สำเร็จ จะเข้าสู่โหมดสลีปเป็นเวลา 20 นาที แล้วลองอีกครั้ง อาจเกิดไฟฟ้าดับได้ในกรณีที่เกิดพายุฝนฟ้าคะนองในฤดูร้อน นับการรีสตาร์ทและเก็บไว้ในหน่วยความจำ RTC ข้อมูลนี้ใช้เพื่อรายงานเวลาที่ผ่านไปตั้งแต่การพยายามเตือนครั้งแรก (โปรดทราบว่าเมื่อทำการทดสอบด้วยพลังงาน USB และจอภาพแบบอนุกรม RTC อาจเก็บค่าจำนวนรอบระหว่างการดาวน์โหลดไว้ด้วย)
-
ขั้นตอนที่ 3: การประกอบและติดตั้ง
หลังจากทดสอบโค้ดบนเขียงหั่นขนมแล้ว ฉันบัดกรีมันให้เป็นแผ่นไม้อัดชิ้นเล็กๆ
ฉันใช้ขั้วต่อสกรู 2 ขั้วระยะพิทช์ 5.08 มม. 2 ชิ้นที่เย็บเข้าด้วยกัน ส่วนหัวของตัวเมียสำหรับ ESP ตัวเก็บประจุ และจัมเปอร์สองสามตัว
โปรดทราบว่าตัวต้านทาน SMD ที่มีหมายเลข "0" ถัดจากเสาอากาศเซรามิกควรบัดกรีใหม่กับแผ่นเปล่าข้างๆ เพื่อเลือกเสาอากาศภายนอก
จากนั้นฉันก็ใส่สิ่งทั้งหมดลงในกล่องรวมสัญญาณไฟฟ้า IP55 ขนาดเล็ก สายไฟจากสวิตช์ลูกลอยเชื่อมต่อกับรางเคเบิลแกลนด์
กล่องถูกวางไว้ในความสูงที่ปลอดภัย โดยที่น้ำ (หวังว่า) จะไม่ถึง ดังนั้นฉันจึงใช้ลวดทองแดงขนาด 1 มม. ^ 2 (17AWG) ที่ค่อนข้างหนาเพื่อเชื่อมต่อสวิตช์ลูกลอย ด้วยการตั้งค่านี้ ESP สามารถเริ่มต้นและส่งข้อความได้แม้จะมีแรงดันไฟฟ้าขาเข้า 1.8V
หลังการติดตั้ง ยามเงียบนี้กำลังเฝ้าระวังอยู่ แต่ฉันหวังว่ามันจะไม่ต้องส่งสัญญาณเตือนในเร็วๆ นี้…
แนะนำ:
วิธีการแฟลชหรือโปรแกรม ESP8266 AT Firmware โดยใช้ ESP8266 Flasher และ Programmer, IOT Wifi Module: 6 ขั้นตอน
วิธีการแฟลชหรือโปรแกรม ESP8266 AT Firmware โดยใช้ ESP8266 Flasher และ Programmer, IOT Wifi Module: คำอธิบาย:โมดูลนี้เป็นอะแดปเตอร์ USB / โปรแกรมเมอร์สำหรับโมดูล ESP8266 ประเภท ESP-01 หรือ ESP-01S ติดตั้งสะดวกด้วยเฮดเดอร์ตัวเมีย 2.54 มม. ขนาด 2x4P เพื่อเสียบ ESP01 นอกจากนี้ยังแยกหมุดทั้งหมดของ ESP-01 ออกผ่านช่องต่อตัวผู้ขนาด 2.54 มม. 2x4P 2.54 มม.
ESP8266 - การชลประทานในสวนด้วยตัวจับเวลาและรีโมทคอนโทรลผ่านอินเทอร์เน็ต / ESP8266: 7 ขั้นตอน (พร้อมรูปภาพ)
ESP8266 - การชลประทานในสวนด้วยตัวจับเวลาและรีโมทคอนโทรลผ่านอินเทอร์เน็ต / ESP8266: ESP8266 - การชลประทานควบคุมด้วยรีโมทและกำหนดเวลาสำหรับสวนผัก สวนดอกไม้ และสนามหญ้า ใช้วงจร ESP-8266 และวาล์วไฮดรอลิก/ไฟฟ้าสำหรับการจ่ายน้ำ ข้อดี: เข้าถึงด่วนราคาประหยัด (~US$ 30,00) คำสั่ง ov
ESP8266 - เซ็นเซอร์ประตูและหน้าต่าง - ESP8266 การช่วยเหลือผู้สูงอายุ (ขี้ลืม): 5 ขั้นตอน
ESP8266 - เซ็นเซอร์ประตูและหน้าต่าง - ESP8266 ความช่วยเหลือผู้สูงอายุ (หลงลืม): ESP8266 - เซ็นเซอร์ประตู / หน้าต่างโดยใช้ GPIO 0 และ GPIO 2 (IOT) สามารถดูได้บนเว็บหรือบนเครือข่ายท้องถิ่นด้วยเบราว์เซอร์ มองเห็นได้ผ่านทาง "HelpIdoso Vxapp" แอปพลิเคชัน. ใช้แหล่งจ่ายไฟ 110/220 VAC สำหรับ 5Vdc, 1 รีเลย์ / แรงดันไฟฟ้า
หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 - โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: 5 ขั้นตอน
หาเวลาจากอินเทอร์เน็ตโดยใช้ ESP8266 | โครงการนาฬิกา NTP ด้วย ESP8266 Nodemcu: ในบทช่วยสอนนี้ เราจะมาดูวิธีหาเวลาโดยใช้ ESP8266/nodemcu กับ Arduino IDE การหาเวลามีประโยชน์อย่างยิ่งในการบันทึกข้อมูลเพื่อประทับเวลาการอ่านของคุณ หากโปรเจ็กต์ ESP8266 ของคุณมีการเข้าถึงอินเทอร์เน็ต คุณสามารถใช้เวลาโดยใช้ Network T
ESP8266 NODEMCU BLYNK IOT บทช่วยสอน - Esp8266 IOT โดยใช้ Blunk และ Arduino IDE - การควบคุมไฟ LED ผ่านอินเทอร์เน็ต: 6 ขั้นตอน
ESP8266 NODEMCU BLYNK IOT บทช่วยสอน | Esp8266 IOT โดยใช้ Blunk และ Arduino IDE | การควบคุม LEDs ผ่านอินเทอร์เน็ต: สวัสดีทุกคนในคำแนะนำนี้ เราจะเรียนรู้วิธีใช้ IOT กับ ESP8266 หรือ Nodemcu ของเรา เราจะใช้แอป blynk สำหรับสิ่งนั้น ดังนั้นเราจะใช้ esp8266/nodemcu ของเราเพื่อควบคุมไฟ LED ผ่านอินเทอร์เน็ต ดังนั้นแอป Blynk จะเชื่อมต่อกับ esp8266 หรือ Nodemcu ของเรา