Mục lục:

Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266: 3 bước
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266: 3 bước

Video: Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266: 3 bước

Video: Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266: 3 bước
Video: [WEBINAR 29/07/2022] JABLOTRON - GIẢI PHÁP AN NINH TOÀN DIỆN ĐẾN TỪ CHÂU ÂU 2024, Tháng bảy
Anonim
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266
Báo động ngập nước ở tầng hầm công suất cực thấp với ESP8266

Xin chào, chào mừng đến với hướng dẫn đầu tiên của tôi.

Tầng hầm của ngôi nhà của tôi bị ngập lụt trong vài năm một lần vì nhiều lý do khác nhau như giông bão mùa hè lớn, nước ngầm cao hoặc thậm chí là vỡ đường ống. Mặc dù đó không phải là một nơi đẹp, nhưng lò hơi sưởi trung tâm của tôi nằm ở dưới đó và nước có thể gây hại cho các bộ phận điện tử của nó, vì vậy tôi cần phải bơm nước ra càng sớm càng tốt. Thật khó khăn và không thoải mái khi kiểm tra tình hình sau một cơn giông bão mùa hè lớn, vì vậy tôi quyết định đặt một cảnh báo dựa trên ESP8266 để gửi cho tôi e-mail trong trường hợp có lũ lụt. (Khi lũ lụt do nước ngầm dâng cao, mực nước thường nhỏ hơn 10 cm không gây hại cho bình nóng lạnh và không nên bơm ra ngoài vì dù sao nó cũng sẽ quay trở lại và càng bơm thì nước ngầm sẽ càng nhiều lần sau. Nhưng thật tốt nếu biết về tình hình.)

Trong ứng dụng này, thiết bị có thể ở trạng thái "ngủ" trong nhiều năm và nếu mọi thứ hoạt động như kế hoạch, chỉ hoạt động trong vài giây. Sử dụng chế độ ngủ sâu là không thực tế vì nó tạo ra quá nhiều dòng điện nếu chúng ta muốn ngủ trong thời gian rất dài và ESP8266 chỉ có thể ngủ tối đa khoảng 71 phút.

Tôi quyết định sử dụng công tắc phao để bật nguồn của ESP. Với giải pháp này, ESP không được cấp nguồn khi công tắc mở, do đó, điện năng tiêu thụ chỉ là quá trình tự xả của pin, giúp hệ thống luôn sẵn sàng báo động trong nhiều năm.

Khi mực nước chạm đến công tắc phao, ESP sẽ khởi động bình thường, kết nối với mạng WiFi của tôi, gửi cho tôi e-mail và chuyển sang chế độ ngủ vĩnh viễn với ESP. Deepsleep (0) cho đến khi tắt nguồn và bật lại. Nếu nó không thể kết nối với WiFi hoặc không thể gửi e-mail, nó sẽ chuyển sang chế độ ngủ trong 20 phút và thử lại cho đến khi thành công.

Ý tưởng này tương tự như giải pháp được mô tả bởi Andreas Spiess trong video này. Nhưng do bản chất của lũ lụt và công tắc phao, chúng tôi không cần thêm MOSFET để giữ cho ESP được bật cho đến khi nó hoàn thành nhiệm vụ của nó, vì công tắc phao sẽ đóng nếu mực nước vượt quá mức kích hoạt.

Bước 1: Sơ đồ:

Sơ đồ
Sơ đồ

Các bộ phận

  • D1: BAT46 Schottky-diode để đánh thức giấc ngủ sâu. Tôi có trải nghiệm tốt hơn với điốt Schottky hơn là điện trở giữa D0 và RST.
  • Công tắc phao: Ống sậy đơn giản $ 1,2 và công tắc phao dựa trên nam châm từ eBay. Vòng có nam châm có thể được đảo ngược để thay đổi giữa chuyển đổi mức chất lỏng cao và thấp. Liên kết eBay
  • Giá đỡ pin: cho 2x pin AAA 1.5V
  • P1: 2x 2P 5,08mm (200mil) đầu cuối vít để kết nối dây từ pin và công tắc phao.
  • Tụ C1: 1000uF 10V để tăng độ ổn định của ESP khi radio đang bật. Xin lưu ý, nếu ESP đang ở trạng thái ngủ sâu, năng lượng tích trữ trong tụ điện đủ để cung cấp năng lượng cho nó trong 3-4 phút. Trong khoảng thời gian đó, hoạt động của công tắc phao không thể khởi động lại ESP vì tụ điện tiếp tục bật nguồn khi đang ở trạng thái ngủ sâu. Điều này chỉ thú vị trong quá trình thử nghiệm.
  • U1: Vi điều khiển LOLIN / Wemos D1 Mini Pro ESP8266. Đây là phiên bản chuyên nghiệp với đầu nối ăng-ten bên ngoài, có thể hữu ích khi nó được đặt trong tầng hầm. Xin lưu ý, bạn nên hàn lại "điện trở" SMD 0 ohm để chọn ăng-ten ngoài thay vì ăng-ten gốm tích hợp mặc định. Tôi khuyên bạn nên mua bộ vi điều khiển LOLIN từ cửa hàng LOLIN AliExpress chính thức vì có rất nhiều bo mạch Wemos / LOLIN phiên bản cũ hoặc giả mạo trên thị trường.
  • Bảng đục lỗ: Một bảng proto 50mm * 50mm sẽ đủ để lắp tất cả các bộ phận. Mạch quá đơn giản để tạo ra một PCB.:)

Xin lưu ý, pin được kết nối với đầu vào 3.3V. Mặc dù D1 Mini có LDO tích hợp cho hoạt động USB / LiPo, chúng tôi không cần điều đó khi nó được cấp nguồn từ 3V của pin kiềm 2xAAA. Với kết nối này, D1 Mini của tôi cũng có thể hoàn thành nhiệm vụ của nó chỉ với điện áp cung cấp 1,8V.

Bước 2: Mã

Chương trình có thể đẹp hơn hoặc đơn giản hơn, nhưng các phần của nó đã được chứng minh rõ ràng trong các dự án khác của tôi.

Bản phác thảo sử dụng các thư viện sau:

ESP8266WiFi.h: Mặc định cho bo mạch ESP8266.

Gsender.h: Thư viện người gửi Gmail từ Borya, có thể tải xuống từ đây.

Luồng chương trình khá đơn giản.

  • ESP bắt đầu.
  • Đọc bộ nhớ RTC để kiểm tra xem đây có phải là lần khởi động đầu tiên hay không
  • Kết nối với WiFi bằng cách sử dụng hàm smartwifi (). Điều này kết nối với WiFi bằng cách sử dụng địa chỉ MAC của bộ định tuyến (BSSID) và số kênh để kết nối nhanh hơn, thử lại mà không có những lần thử sau 100 lần thử không thành công và chuyển sang chế độ ngủ sau 600 lần thử. Chức năng này có nguồn gốc từ bản phác thảo trình tiết kiệm điện năng tiêu thụ WiFi của OppoverBakke, nhưng không lưu dữ liệu kết nối vào phần RTC trong ứng dụng này.
  • Kiểm tra điện áp pin bằng các tính năng ESP được tích hợp trong ADC_MODE (ADC_VCC) / ESP.getVcc (). Điều này không yêu cầu bộ chia điện áp bên ngoài hoặc bất kỳ dây dẫn nào đến A0. Hoàn hảo cho điện áp dưới 3,3V, đó là trường hợp của chúng tôi.
  • Gửi một e-mail ngắn với Gsender.h. Tôi đã thêm các biến và văn bản tùy chỉnh vào chủ đề và chuỗi thông báo để báo cáo điện áp pin, thời gian đã trôi qua kể từ lần phát hiện đầu tiên và lời khuyên liên quan đến việc thay pin. Xin đừng quên thay đổi địa chỉ e-mail của người nhận.

    • Ngủ

      • Nếu thành công, nó sẽ ngủ "mãi mãi" với ESP.deepSleep (0); Về mặt vật lý, nó sẽ ở chế độ ngủ cho đến khi mực nước cao. Về mặt kỹ thuật, thời gian này là vài giờ hoặc tối đa là vài ngày, điều này sẽ không làm tiêu hao pin với dòng điện ngủ ít uA. Khi hết nước, công tắc phao sẽ mở và ESP sẽ được tắt hoàn toàn, và mức tiêu thụ hiện tại sẽ là 0.
      • Nếu không thành công, nó sẽ chuyển sang chế độ ngủ trong 20 phút, sau đó thử lại. Có thể bị mất điện xoay chiều trong trường hợp giông bão mùa hè. Nó đếm số lần khởi động lại và lưu trữ trong bộ nhớ RTC. Thông tin này được sử dụng để báo cáo thời gian đã trôi qua kể từ lần báo động đầu tiên. (Xin lưu ý, khi kiểm tra nó với nguồn USB và màn hình nối tiếp, RTC cũng có thể giữ giá trị đếm chu kỳ giữa các lần tải xuống.)

Bước 3: Lắp ráp và cài đặt

Lắp ráp và cài đặt
Lắp ráp và cài đặt
Lắp ráp và cài đặt
Lắp ráp và cài đặt
Lắp ráp và cài đặt
Lắp ráp và cài đặt

Sau khi kiểm tra mã trên một breadboard, tôi hàn nó vào một mảnh nhỏ của perfboard.

Tôi đã sử dụng 2 mảnh thiết bị đầu cuối vít 2 cực có kích thước 5,08mm được khâu lại với nhau, một đầu nối cái cho ESP, một tụ điện và một vài jumper.

Xin lưu ý, điện trở SMD có số "0" bên cạnh ăng-ten gốm nên được hàn lại vào các miếng đệm trống bên cạnh nó để chọn ăng-ten bên ngoài.

Sau đó, tôi đặt toàn bộ vào một hộp nối điện IP55 nhỏ. Các dây dẫn từ công tắc phao được kết nối với máng cáp.

Hộp được đặt ở độ cao an toàn, nơi mà nước có thể (hy vọng) không bao giờ chạm tới được, vì vậy tôi đã sử dụng một cặp dây đồng tương đối dày 1mm ^ 2 (17AWG) để kết nối công tắc phao. Với thiết lập này, ESP có thể khởi động và gửi tin nhắn ngay cả với điện áp đầu vào 1,8V.

Sau khi cài đặt, trạm gác im lặng này đang được bảo vệ, nhưng tôi hy vọng nó không phải gửi báo động sớm…

Đề xuất: