Talaan ng mga Nilalaman:

Water Leakage Sensor sa ESP8266 + Micropython + Domoticz: 16 Hakbang (na may Mga Larawan)
Water Leakage Sensor sa ESP8266 + Micropython + Domoticz: 16 Hakbang (na may Mga Larawan)

Video: Water Leakage Sensor sa ESP8266 + Micropython + Domoticz: 16 Hakbang (na may Mga Larawan)

Video: Water Leakage Sensor sa ESP8266 + Micropython + Domoticz: 16 Hakbang (na may Mga Larawan)
Video: Water leakage sensor on ESP8266 + micropython + Domoticz 2024, Hulyo
Anonim
Water Leakage Sensor sa ESP8266 + Micropython + Domoticz
Water Leakage Sensor sa ESP8266 + Micropython + Domoticz
Water Leakage Sensor sa ESP8266 + Micropython + Domoticz
Water Leakage Sensor sa ESP8266 + Micropython + Domoticz

Ilang oras ang nakakalipas, tinanong ako ng aking asawa na gumawa ng isang water leakage sensor. Natakot siya na ang hose sa boiler room ay maaaring maging leaky, at ang tubig ay magbaha sa bagong nakalatag na sahig na gawa sa kahoy. At ako bilang isang tunay na inhinyero ay nagsagawa ng tulad ng isang sensor na gagawin.

Mula sa aking 15 taong karanasan bilang isang medikal na inhenyero, alam ko na ang pinakamadaling paraan ng pagtuklas ng tubig ay ang mga metal na pin na pinaikling tubig. Ang prinsipyo ng pagpapatakbo ng pinakasimpleng mga sensor ay ang tubig ay kailangang maikli ang dalawa (o higit pa) na mga metal na pin, at sa sandaling mangyari ito, ang mga nag-aalarma ng alarma.

Hakbang 1: Hardware

Hardware
Hardware

Para sa proyektong ito kailangan namin:

1. module ng ESP8266 - 01

2. HT7333 3.3V MS Mababang Dropout Linear Regulator Power Supply modu

Kailangan namin ang modyul na ito upang mabawasan ang boltahe mula sa baterya hanggang sa katanggap-tanggap na antas para sa ESP8266. Ayon sa datasheet dapat mayroong 3V hanggang 3.6V input. Binibigyan tayo ng modyul na ito ng 3.3V.

3. Baterya. Gumagamit ako ng 3, 7V Li-ion 400mAh na baterya. Sa totoo lang maaari mong gamitin ang anumang iba pang naaangkop na mapagkukunan ng kuryente. Ang 18650 na baterya ay isang mahusay na pagpipilian din. Kapag pumipili ka ng isang baterya tandaan na ang "kumakain" ng ESP tungkol sa 200mA na paghawak sa WiFi network, at halos 60mA ang ginagamit kapag ang board ay nag-a-upload ng data sa server.

4. TP4056 Lipo baterya ng pagsingil ng baterya.

5. Pololu mini pushbutton Power Switch Napaka-kagiliw-giliw na maliit na board. Hinahayaan lamang namin itong ilipat ang module ng ESP kapag nakita ang tubig. Hindi mo kailangang panatilihing ON ANG ESP. Kaya't mabuti para sa pag-save ng singil ng baterya.

6. Pabahay7. Dobleng micro-switch na ON-OFF. Naghahain ang isang linya upang buksan ang aparato. Ang pangalawang linya ay para sa pagsubok - ito ay maikling circuit na walang tubig, upang ipaalam lamang sa amin na gumagana ang aparato o hindi.

8. Raspberry Pi micro computer

Gumagamit ako ng Raspberry Pi Zero. Ito ay sapat na malakas para sa pagpapatakbo ng Domoticz server.

Hakbang 2: Software

Sa iyong PC:

1. naka-install na esptool, para sa buro ng mga module at flashing firmware

2. Naka-install ang Ampy, para sa pag-flashing ng iyong programa

Inirerekumenda ang 3 Python 3.6 o mas mataas

4. Anumang code editor na gusto mo. Pinakasimpleng - Python IDLE na karaniwang naka-install sa Python. Gumagamit ako ng Pycharm / Atom o Anaconda Spyder On raspberry Pi

5. Naka-install ang Domoticz server sa Raspberry Pi (o karaniwang PC sa ilalim ng Windows o Linux)

Hakbang 3: Ihanda ang Raspberry Pi - I-install ang Domoticz

Kaya, kunin ang iyong RPi at i-install ang operating system na angkop para sa pagpapatakbo ng Domoticz server.

Maaari mong sundin ang mga tagubiling ito.

Gumagamit ako ng Raspbian Stretch sa Desktop mula dito:

Susunod na hakbang ay ang pag-install ng Domoticz server sa iyong PC. Maaari kang gumamit ng mga tagubilin dito o dito:). Huwag matakot, hindi ito mahirap. Malinaw na kailangan mong tumakbo sa iyong terminal:

curl -L install.domoticz.com | sudo bash

At iyan lang:) higit pa o mas kaunti. Pag-setup ng Domoticz

Ngayon na handa na ang aming server, mai-access namin ito mula sa anumang web browser, kabilang ang mula sa isang tablet sa pamamagitan ng pagpasok ng sumusunod na URL: https:// IP_domoticz: 8080

Hakbang 4: Domoticz Setup

Domoticz Setup
Domoticz Setup

Ngayon na handa na ang aming server, mai-access namin ito mula sa anumang web browser, kabilang ang mula sa isang tablet sa pamamagitan ng pagpasok ng sumusunod na URL: https:// IP_domoticz: 8080

Hakbang 5: Ayusin ang Mga Setting ng Application

Ayusin ang Mga Setting ng Application
Ayusin ang Mga Setting ng Application
Ayusin ang Mga Setting ng Application
Ayusin ang Mga Setting ng Application

Mayroong iba't ibang mga setting ng application na maaaring maitakda sa pamamagitan ng Pag-setup | Menu ng mga setting.

Ang menu ng Pagtatakda na may iba't ibang mga tab ay nagbibigay-daan sa iyo upang magpasok ng mga personal na parameter na kinakailangan para sa isang mas mahusay na paggana ng system. Matapos ipasok ang data sa mga patlang, kailangan mong i-save ang mga ito sa pamamagitan ng pagpindot sa pulang pindutan na "Ilapat ang Mga Setting". Matapos ang pagkilos na ito ang lahat ng mga patlang ng Password, na walang laman sa unang pag-access, lilitaw na may isang mahabang string ng mga asterisk, kahit na hindi ito nagamit.

Matapos mong magawa ang pangunahing pag-set up sa pahina ng "System", i-click ang "Mga Abiso". Narito kailangan naming ayusin kung anong uri ng mga notification ang gagamitin namin.

Hakbang 6: Mga Abiso sa Pag-setup

Mga Abiso sa Pag-setup
Mga Abiso sa Pag-setup

Maaaring ipadala ang mga abiso halimbawa kung ang isang switch ay naitulak, ang paggamit ng kuryente ay masyadong mataas, temperatura sa mataas at para sa maraming iba pang mga pagpipilian.

Sa aming kaso ang mga notification ay kailangang maipadala sa sandaling ang tubig ay napansin ng sensor. Kaya't buksan lamang ang mga iyon, nais mong gamitin. Karaniwan din na kailangan mo ng API key para gumana ang notification. Tumatakbo nang kaunti, sasabihin ko na sinubukan ko ang Pushover, Pushsafer at Pushbullet. At nanatili ako sa Pushover. Huling sasabihin ko kung bakit.

Ilang mga salita tungkol sa kung paano gumagana ang mga notification. Kailangan mong magkaroon ng isang account sa Pushbullet, Pushover o ibang mga pahina na nais mong gamitin. Gayundin kakailanganin mo ang isang app sa iyong cell phone o PC.

Kumuha ng API key, at ipasok ito sa pahina sa itaas. Maaari mong subukan ang abiso sa pamamagitan ng pag-click sa "Pagsubok". Kung tama ang API key, dapat kang makakuha ng mga notification sa pagsubok sa iyong cell phone.

Sa sandaling ang pakiramdam ng tubig ng sensor, ang ESP ay nakabukas at nagpapadala ng kahilingan sa Domoticz server sa format na JSON. Kaysa kung nasiyahan ang mga kundisyon para sa pagpapalit ng isang kaganapan (pagpapadala ng abiso sa iyo ng cell phone), ipinapadala ni Domoticz ang abiso.

Mamaya babalik ako sa "mga kaganapan".

Hakbang 7: I-set up ang (Mga) Device ng Komunikasyon

I-setup ang (Mga) Komunikasyon sa Hardware
I-setup ang (Mga) Komunikasyon sa Hardware
I-setup ang (Mga) Komunikasyon sa Hardware
I-setup ang (Mga) Komunikasyon sa Hardware
I-setup ang (Mga) Komunikasyon sa Hardware
I-setup ang (Mga) Komunikasyon sa Hardware

Bago mo magamit ang application na Domoticz upang makontrol ang mga aparato o magbasa ng mga sensor dapat mong i-set up ang komunikasyon sa (mga) aparato sa hardware. Piliin ang Pag-setup | Hardware upang magdagdag ng hardware. Hindi lalabas ang mga aparato hangga't hindi maidaragdag ang naaangkop na hardware.

Sinusuportahan ng application ng Domoticz ang maraming mga aparato sa hardware nang natural. Sa aming kaso upang mabasa ang aming sensor ng baha kailangan naming idagdag ang tinatawag na "Dummy" na hardware mula sa listahan ng hardware.

Kapag naidagdag ang hardware ang pangkalahatang-ideya ng lahat ng tinukoy na hardware ay ipapakita. Maaaring hindi paganahin o tanggalin ang hardware.

Ang bagong hardware ay dapat na nasa listahan at dapat mayroong isang pindutan na "Lumikha ng Mga Virtual Sensor".

I-click ang pindutang ito at piliin ang Uri ng Sensor na "Alert". Ngayon kailangan naming idagdag ang aparato sa Domoticz upang maging aktibo.

Hakbang 8: Idagdag ang Device sa Domoticz upang Maging Aktibo

Idagdag ang Device sa Domoticz upang Maging Aktibo
Idagdag ang Device sa Domoticz upang Maging Aktibo
Idagdag ang Device sa Domoticz upang Maging Aktibo
Idagdag ang Device sa Domoticz upang Maging Aktibo
Idagdag ang Device sa Domoticz upang Maging Aktibo
Idagdag ang Device sa Domoticz upang Maging Aktibo

Mangyaring tandaan ang numero sa ibaba "IDX". Ito ang natatanging sanggunian sa aparatong ito at kailangan namin ito sa paglaon sa aming script sa Python upang tugunan ang abiso. Sa kasong ito ang numero ng IDX ay 1.

Paganahin ang aparato sa pamamagitan ng pag-click sa berdeng arrow sa kaliwa (sa aking larawan sa ibaba ito ay asul, dahil sa naka-on ang aparato).

Punan ang pangalan ng aparato, at i-click ang "idagdag".

Mag-navigate sa menu na "Mga utility" at dapat nakalista ang iyong aparato doon.

Ngayon kailangan naming mag-program ng "kaganapan" para sa aming sensor. Nangangahulugan ito, na kailangan nating sabihin sa server, kung ano ang gagawin kung sakaling mayroon itong mensahe mula sa sensor. At sinabi nating pinakahirap na lugar para sa akin:).

Hakbang 9: Hindi Ito gagana sa Paraang Ito …

Hindi Ito gagana sa Paraang Ito…
Hindi Ito gagana sa Paraang Ito…

Nagsimula ako sa pamamagitan ng pagsubok sa programa ng kaganapan sa / aparato / pahina. Ang sa ibaba ay hindi sa akin, ngunit ok na ilarawan.

Kung naniniwala kang susuriin mo ang ilang mga check box at gagana ito, mali ka:) Hindi ito gagana sa ganitong paraan. Sa palagay ko ang tampok na ito dito ay hindi pa tapos. Huwag kalimutan - ito ay bukas na mapagkukunan ng software. O, makalipas ang maraming oras natagpuan ko ang solusyon. Kailangan naming gumamit ng "Mga Kaganapan" mula sa drop-down na menu na "Setup".

Pagkatapos ng pag-click sa "Mga Kaganapan" maaari kang lumikha ng iyong sariling kaganapan. Maaari mo itong bilhin sa pagsulat ng isang code sa Python o LUA, o sa pamamagitan lamang ng paggamit ng bagay na tinatawag na "Blockly". Pinili kong gumamit ng Blockly. Mayroong dalawang paraan upang pilitin ang server na gawin ang nais mo.

Hakbang 10: Bumuo ng Kaganapan sa isang Tamang Paraan 1

Bumuo ng Kaganapan sa isang Tamang Paraan 1
Bumuo ng Kaganapan sa isang Tamang Paraan 1

1. Ipatupad ang panlabas na file sa pamamagitan ng "Mga Kaganapan", sa pamamagitan ng paggamit ng Blockly message na "Start script"

Gumagana ito para sa akin sa makina ng Windows na perpekto. Ngunit hindi ako nagtagumpay sa ito sa Raspbian sa aking Raspberry Pi. Pinaghihinalaan ko na mayroong isyu sa mga pahintulot.

Hakbang 11: Bumuo ng Kaganapan sa isang Tamang Paraan 2

Bumuo ng Kaganapan sa isang Tamang Paraan 2
Bumuo ng Kaganapan sa isang Tamang Paraan 2

2. Gamitin ang mensahe na "Magpadala ng abiso na may paksa". Gumagana ito sa Raspbian. Sinusuportahan ng pagpipiliang ito ang pagpapadala ng mga abiso sa Pushsafe at Pushover.

Ang bentahe ng paggamit ng 1st way, ay na mas may kakayahang umangkop. Maaari kang pumili ng icon na ipapakita sa iyong display, tunog at iba pa. Ang aking "kaganapan" ay ipinapakita sa larawan sa itaas.

Susunod, programa natin ang module ng ESP.

Hakbang 12: Programming ESP8266-01 Modyul

Programming ESP8266-01 Modyul
Programming ESP8266-01 Modyul

Magsimula tayo mula sa pag-flash ng aming module na ESP8266. Karaniwan ang mga modyul na iyon ay may firmware ng pabrika. posible na makipag-usap sa mga module sa pamamagitan ng paggamit ng tinatawag na AT utos. At gayundin ang software na ito ay hindi pinapayagan na gumamit ng mga modyul tulad ng mga standalone Controller. Upang magamit ang mga ito tulad ng mga nakapag-iisang tagapamahala kailangan naming burahin ang firmware ng pabrika at mag-install ng bago.

Upang magawa ito gagamitin namin ang esptool. Kaysa kailangan naming ikonekta ang aming module sa PC upang burahin ang firmware. Upang magawa ito kailangan mo ng TTL converter + ilang karagdagang mga sangkap. Ngunit may isang mas madaling paraan:). Bumili lamang sa aliexpress o ebay USB sa ESP8266 ESP-01 Wi-Fi Adapter Module w / CH340G Driver.

I-plug ang module na ESP8266 sa TTL converter tulad ng ipinakita sa larawan, at ikonekta ito sa USB port.

Kung mayroon kang parehong converter tulad ng sa akin, pagkatapos ay sa sarili mo kailangan mong baguhin ang switch sa posisyon na "Prog". Alamin kung saan naka-install ang esptool (karaniwang sa isang lugar tulad ng C: / Program Files (x86) Python36-32 / Scripts. Pumunta sa folder na ito, ilunsad ang prompt ng utos doon. Type: python esptool.exe --port COM5 erase_flash

Syempre pumili ng tamang port. Sa aking kaso ito ay COM5. Maaari mong suriin ang port kung saan naka-install ang ESP mula sa Control panel - System - Device manager.

I-install ang firmware (Kinuha ko ito mula dito: https://micropython.org/download#esp8266) sa pamamagitan ng pag-type:

python esptool.exe --port COM5 --baud 460800 write_flash --flash_size = detect 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin

Ok, handa na kami ngayon sa pag-upload ng mga micropython script sa ESP8266.

Gumagamit ako ng Adafruit MicroPython Tool (sapat) para dito.

Ngunit sa panahong ito ay may isa pang pagpipilian na tinatawag na Esplorer. Ito ay isang app na may interface ng gumagamit, pinapayagan na mag-upload ng mga file sa mga module ng ESP.

Maaari kang makahanap ng mga tagubilin kung paano mag-install ng sapat dito. Kaya, ilagay ang switch sa TTL converter sa posisyon na "UART". Kakailanganin naming mag-upload ng mga file:

  • wifimgr.py - manager ng wifi para sa pagkonekta sa wifi network
  • main.py - ang aming pangunahing script

Sa uri ng command line: sapat --port COM5 ilagay ang C: / path sa iyong file

Pindutin ang "ipasok". Pagkatapos ng ilang segundo dapat mong makita ang walang laman na linya ng utos. Nangangahulugan ito na na-upload na ang file. Maaari mong suriin ang listahan ng mga file sa ESP sa pamamagitan ng sapat na utos:

sapat --port COM5 ls

Mula sa aking karanasan mas mahusay na mag-upload ng main.py pagkatapos mong mai-upload ang lahat ng kinakailangang mga file. ito ay sa gayon, dahil sa lalong madaling pag-upload mo ng main.py - ang module ng ESP8266 ay reboot at magsisimulang ipatupad ang main.py file. Kaya sa kasong ito kung susubukan mong mag-upload ng isa pang file, kung minsan ay mabibigo ang proseso ng pag-upload. Ngunit hindi ito nangangahulugan na ang lahat ay nawala:), subukan lamang sa pangalawang pagkakataon, at magtatagumpay ka (muli, mula sa aking karanasan).

Ang lahat ng mga file para sa proyektong ito ay magagamit mula dito:

Hakbang 13: Kumonekta sa Iyong WiFi Network. Kumuha ng Abiso

Kumonekta sa Iyong WiFi Network. Kumuha ng Abiso
Kumonekta sa Iyong WiFi Network. Kumuha ng Abiso
Kumonekta sa Iyong WiFi Network. Kumuha ng Abiso
Kumonekta sa Iyong WiFi Network. Kumuha ng Abiso

kung ang lahat ay ok, i-restart ang module, sa pamamagitan ng muling paglalagay ng TTL converter sa USB port ng iyong PC.

Pagkatapos magsimula ang ESP, maghanap ng bagong WiFi network na tinatawag na "Wifimanager". Kumonekta dito sa iyong PC o telepono, pagkatapos ay pumunta sa IP address 192.168.4.1.. Dito maaari mong ikonekta ang iyong ESP sa lokal na WiFi network. Piliin ang WiFi network na iyong gagamitin, i-type ang password, pindutin ang "Isumite".

Kung tama ang lahat, makikita mo ang mensahe na "Matagumpay na nakakonekta ang ESP sa XXXX network". Ang iyong ESP ngayon ay konektado sa iyong WiFi network at handa na. Sa sandaling kumonekta ito sa WiFi makakonekta ito sa Domoticz server. Maikli kailangan mong makatanggap ng isang abiso sa iyong cell phone.

Maaari mong subaybayan ang proseso sa "Setup" / "Log".

Vua lia!:) Gumagana siya. Ngayon ay maaari tayong magpatuloy sa pag-iipon ng lahat ng mga bahagi, ayon sa block diagram sa ibaba.

Hakbang 14: I-block ang Diagram

I-block ang Diagram
I-block ang Diagram

Walang gaanong masasabi tungkol sa diagram na ito. Napakasimple. Lumipat ng kuryente gamit ang S1 switch. Ang aparato ay nakatayo sa estado ng estado hanggang sa ang mga water shorts na "Water sensor" na mga pin. Pagkatapos ay lumipat ang "Pololu board", at nagbibigay ng lakas sa converter ng boltahe. Ang module ng kuryente na ito batay sa HT7333 chip, ay nagko-convert ng boltahe sa matatag na 3.3V para sa ESP8266. Susunod na switch ng ESP, at magpapadala ng isang mensahe sa Domoticz server.

Hakbang 15: Resulta at Konklusyon

Resulta at Konklusyon
Resulta at Konklusyon
Resulta at Konklusyon
Resulta at Konklusyon
Resulta at Konklusyon
Resulta at Konklusyon
Resulta at Konklusyon
Resulta at Konklusyon

Gumagana siya. Ang pagpapadala ng abiso ay tumagal ng hanggang 10 segundo: koneksyon sa WiFi, pagpapadala ng abiso, pagkuha ng mensahe ng alarma sa iyong telepono.

Na-program ko ang sensor upang magpadala ng mga alarma tuwing 30s, kung may napansin na tubig. Ang sensor ay maaaring magpadala ng hanggang 5 - 6 na mga abiso hanggang sa maalis ang baterya. Ang nasabing aparato ay maaaring magamit din upang matukoy ang antas ng tubig. Ano ang nais kong pagbutihin.

1. Upang mas mabilis itong gumana. Sa palagay ko susubukan kong gumamit ng teknolohiya ng ESP-Ngayon, na hinahayaan akong direktang kumonekta ng maraming mga ESP. Sa kasong ito ang pagkonsumo ng kuryente sa panahon ng koneksyon ay napakababa at mas mabilis ito. Kaya ang ideya ay ang paggamit ng isang ESP tulad ng isang hub para sa pagkonekta ng iba pang mga ESP.

2. Ipatupad ang alarma sa antas ng baterya. Ngayon hindi mo alam kung mayroong sapat na lakas upang magpadala ng mensahe ng alarma o hindi. Sa palagay ko sa susunod na henerasyon ng sensor na ito magkakaroon ng isang espesyal na pindutan para sa pagsubok ng pagsingil ng baterya.

Kailangang itulak ng gumagamit ang isang pindutan, at ipapakita ang antas ng baterya.

Inirerekumendang: