
Satura rādītājs:
- 1. darbība. Aparatūra
- 2. darbība: programmatūra
- 3. darbība: sagatavojiet Raspberry Pi - instalējiet Domoticz
- 4. darbība: Domoticz iestatīšana
- 5. darbība: pielāgojiet lietojumprogrammas iestatījumus
- 6. darbība: paziņojumu iestatīšana
- 7. darbība: iestatiet saziņu ar aparatūras ierīci (-ēm)
- 8. darbība: pievienojiet ierīci Domoticz, lai kļūtu aktīvs
- 9. darbība. Tas nedarbojas šādā veidā…
- 10. darbība. Veidojiet notikumu pareizā veidā 1
- 11. darbība. Veidojiet notikumu pareizā veidā 2
- 12. solis: ESP8266-01 moduļa programmēšana
- 13. darbība: izveidojiet savienojumu ar savu WiFi tīklu. Saņemt paziņojumu
- 14. darbība: bloka diagramma
- 15. darbība. Rezultāts un secinājumi
- 16. darbība: video
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59


Pirms kāda laika sieva lūdza uztaisīt ūdens noplūdes sensoru. Viņa baidījās, ka katlu telpas šļūtene var būt noplūde, un ūdens applūdinās tikko uzlikto koka grīdu. Un es kā īsts inženieris uzņēmos šādu sensoru.
No savas 15 gadu medicīnas inženiera pieredzes es zinu, ka vienkāršākais ūdens noteikšanas veids ir metāla tapas, kuras saīsina ūdens. Vienkāršāko sensoru darbības princips ir tāds, ka ūdenim ir jāsaīsina divas (vai vairākas) metāla tapas, un, tiklīdz tas notiek, iedarbinās trauksme.
1. darbība. Aparatūra

Šim projektam mums ir nepieciešams:
1. ESP8266 - 01 modulis
2. HT7333 3.3V MS Low Dropout Linear Regulator Power Supply modulis
Šis modulis ir nepieciešams, lai samazinātu spriegumu no akumulatora līdz ESP8266 pieņemamam līmenim. Saskaņā ar datu lapu jābūt 3V līdz 3.6V ieejai. Šis modulis dod mums 3.3V.
3. Akumulators. Es izmantoju 3, 7V litija jonu 400mAh akumulatoru. Patiesībā jūs varat izmantot jebkuru citu piemērotu barošanas avotu. Arī 18650 akumulators ir laba izvēle. Izvēloties akumulatoru, ņemiet vērā, ka ESP "apēd" aptuveni 200 mA, veidojot savienojumu ar WiFi tīklu, un aptuveni 60 mA tiek izmantots, kad tāfele augšupielādē datus serverī.
4. TP4056 Lipo akumulatora uzlādes dēlis.
5. Pololu mini spiedpogas barošanas slēdzis Ļoti interesants sīks dēlis. Tas ļauj pārslēgt ESP moduli tikai tad, kad tiek konstatēts ūdens. Jums nav jāieslēdz ESP. Tāpēc tas ir labs akumulatora uzlādes taupīšanai.
6. Mājoklis7. Divkāršs mikro slēdzis ON-OFF. Viena līnija kalpo ierīces ieslēgšanai. Otrā līnija ir paredzēta testēšanai - tā saīsina ķēdi bez ūdens, lai tikai informētu mūs, vai ierīce darbojas vai ne.
8. Raspberry Pi mikrodators
Es izmantoju Raspberry Pi Zero. Tas ir pietiekami spēcīgs, lai palaistu Domoticz serveri.
2. darbība: programmatūra
Datorā:
1. uzstādīts esptool, moduļu dzēšanai un programmaparatūras mirgošanai
2. Ampy instalēta, lai mirgo jūsu programmu
3 Ieteicams izmantot Python 3.6 vai jaunāku versiju
4. Jebkurš vēlamais koda redaktors. Vienkāršākais - Python IDLE, kas parasti tiek instalēts kopā ar Python. Es izmantoju Pycharm / Atom vai Anaconda Spyder On aveņu Pi
5. Domoticz serveris, kas instalēts Raspberry Pi (vai parasts dators operētājsistēmā Windows vai Linux)
3. darbība: sagatavojiet Raspberry Pi - instalējiet Domoticz
Tātad, paņemiet RPi un instalējiet operētājsistēmu, kas piemērota Domoticz servera darbināšanai.
Jūs varat sekot šiem norādījumiem.
Es izmantoju Raspbian Stretch ar darbvirsmu šeit:
Nākamais solis ir instalēt Domoticz serveri savā datorā. Jūs varat izmantot instrukcijas šeit vai šeit:). Nebaidieties, tas nav tik grūti. Acīmredzot jums ir jādarbojas savā terminālī:
čokurošanās -L install.domoticz.com | sudo bash
Un tā tas ir:) vairāk vai mazāk. Domoticz iestatīšana
Tagad, kad mūsu serveris ir gatavs, mēs varam tam piekļūt no jebkuras tīmekļa pārlūkprogrammas, tostarp no planšetdatora, ievadot šādu URL: https:// IP_domoticz: 8080
4. darbība: Domoticz iestatīšana

Tagad, kad mūsu serveris ir gatavs, mēs varam tam piekļūt no jebkuras tīmekļa pārlūkprogrammas, tostarp no planšetdatora, ievadot šādu URL: https:// IP_domoticz: 8080
5. darbība: pielāgojiet lietojumprogrammas iestatījumus


Izmantojot iestatījumus |, var iestatīt dažādus lietojumprogrammu iestatījumus Iestatījumu izvēlne.
Izvēlne Iestatījumi ar dažādām cilnēm ļauj ievadīt personiskos parametrus, kas nepieciešami labākai sistēmas darbībai. Pēc datu ievadīšanas laukos tie ir jāsaglabā, nospiežot sarkano pogu "Lietot iestatījumus". Pēc šīs darbības visi paroles lauki, kas bija tukši pie pirmās piekļuves, parādīsies ar garu zvaigznīšu virkni, pat ja tie nav izmantoti.
Kad esat veicis galveno iestatīšanu lapā "Sistēma", noklikšķiniet uz "Paziņojumi". Šeit mums ir jāpielāgo, kādus paziņojumus mēs izmantosim.
6. darbība: paziņojumu iestatīšana

Paziņojumus var nosūtīt, piemēram, ja tiek nospiests slēdzis, elektroenerģijas patēriņš ir pārāk augsts, temperatūra ir augsta un ir pieejamas daudzas citas iespējas.
Mūsu gadījumā paziņojumi ir jānosūta, tiklīdz sensors ir noteicis ūdeni. Tāpēc vienkārši ieslēdziet tos, kurus vēlaties izmantot. Arī parasti jums ir nepieciešama API atslēga, lai paziņojums darbotos. Mazliet skrienot uz priekšu, teikšu, ka izmēģināju Pushover, Pushsafer un Pushbullet. Un es paliku pie Pushover. Vēlāk es pastāstīšu, kāpēc.
Daži vārdi par paziņojumu darbību. Jums ir jābūt kontam vietnē Pushbullet, Pushover vai citās lapās, kuras vēlaties izmantot. Arī jums būs nepieciešama lietotne mobilajā tālrunī vai personālajā datorā.
Iegūstiet API atslēgu un ievietojiet to iepriekš minētajā lapā. Jūs varat pārbaudīt paziņojumu, noklikšķinot uz "Pārbaudīt". Ja API atslēga ir pareiza, uz mobilo tālruni jāsaņem testa paziņojumi.
Tiklīdz sensors uztver ūdeni, ESP ieslēdzas un nosūta pieprasījumu Domoticz serverim JSON formātā. Ja notikuma aktivizēšanas nosacījumi (paziņojuma nosūtīšana jums uz mobilo tālruni) ir izpildīti, Domoticz nosūta paziņojumu.
Vēlāk es atgriezīšos pie "notikumiem".
7. darbība: iestatiet saziņu ar aparatūras ierīci (-ēm)



Lai varētu lietot Domoticz lietotni, lai kontrolētu ierīces vai lasītu sensorus, ir jāiestata saziņa ar aparatūras ierīci (-ēm). Atlasiet Iestatīšana | Aparatūra, lai pievienotu aparatūru. Ierīces netiks rādītas, kamēr nebūs pievienota atbilstošā aparatūra.
Lietojumprogramma Domoticz sākotnēji atbalsta daudzas aparatūras ierīces. Mūsu gadījumā, lai lasītu mūsu plūdu sensoru, no aparatūras saraksta ir jāpievieno tā sauktā "fiktīvā" aparatūra.
Kad tiek pievienota aparatūra, tiks parādīts visas definētās aparatūras pārskats. Aparatūru var atspējot vai izdzēst.
Jaunajai aparatūrai jābūt sarakstā un jābūt pogai "Izveidot virtuālos sensorus".
Noklikšķiniet uz šīs pogas un izvēlieties Sensor Type "Alert". Tagad mums ir jāpievieno ierīce Domoticz, lai tā kļūtu aktīva.
8. darbība: pievienojiet ierīci Domoticz, lai kļūtu aktīvs



Lūdzu, ņemiet vērā numuru zem "IDX". Šī ir unikālā atsauce uz šo ierīci, un mums tā ir nepieciešama vēlāk mūsu Python skriptā, lai risinātu paziņojumu. Šajā gadījumā IDX numurs ir 1.
Iespējojiet ierīci, noklikšķinot uz zaļās bultiņas kreisajā pusē (manā attēlā zemāk tā ir zila, jo ierīce ir iespējota).
Ievadiet ierīces nosaukumu un noklikšķiniet uz "pievienot".
Dodieties uz izvēlni "Utilītas", un jūsu ierīcei jābūt tur norādītai.
Tagad mums ir jāprogrammē mūsu sensora "notikums". Tas nozīmē, ka mums serverim ir jāpasaka, kas jādara, ja tas ir saņēmis ziņu no sensora. Un tā bija vissarežģītākā vieta man:).
9. darbība. Tas nedarbojas šādā veidā…

Sākumā mēģināju ieprogrammēt notikumu / device / page. Šis zemāk nav mans, bet to var ilustrēt.
Ja uzskatāt, ka atzīmēsit dažas izvēles rūtiņas un tas darbosies, jūs kļūdāties:) Tas šādā veidā nedarbojas. Es domāju, ka šī funkcija šeit vēl nav pabeigta. Neaizmirstiet - tā ir atvērtā pirmkoda programmatūra. Labi, pēc vairākām stundām es atradu risinājumu. Mums jāizmanto nolaižamās izvēlnes "Iestatījumi" sadaļa "Notikumi".
Pēc noklikšķināšanas uz "Notikumi" jūs varat izveidot savu notikumu. To var izdarīt, pērkot koda rakstīšanu Python vai LLU, vai vienkārši izmantojot to, ko sauc par "Blockly". Es izvēlējos izmantot Blockly. Ir divi veidi, kā piespiest serveri darīt to, ko vēlaties.
10. darbība. Veidojiet notikumu pareizā veidā 1

1. Izpildiet ārējo failu, izmantojot "Notikumi", izmantojot bloķētu ziņojumu "Sākt skriptu"
Tas man lieliski darbojas Windows mašīnā. Bet man tas neizdevās ar Raspbian manā Raspberry Pi. Man ir aizdomas, ka radusies problēma ar atļaujām.
11. darbība. Veidojiet notikumu pareizā veidā 2

2. Izmantojiet ziņojumu "Sūtīt paziņojumu ar tēmu". Tas darbojas Raspbian. Šī opcija atbalsta paziņojumu sūtīšanu uz Pushsafe un Pushover.
Pirmā veida izmantošanas priekšrocība ir tā, ka tā ir elastīgāka. Jūs varat izvēlēties ikonu, kas tiks parādīta displejā, skaņas un tā tālāk. Mans "notikums" ir redzams augšējā attēlā.
Tālāk, ieprogrammēsim ESP moduli.
12. solis: ESP8266-01 moduļa programmēšana

Sāksim ar mūsu ESP8266 moduļa mirgošanu. Parasti šiem moduļiem ir rūpnīcas programmaparatūra. ir iespējams sazināties ar moduļiem, izmantojot tā saucamās AT komandas. Un arī šī programmatūra neļauj izmantot moduļus, piemēram, atsevišķus kontrolierus. Lai tos izmantotu kā atsevišķus kontrolierus, mums ir jāizdzēš rūpnīcas programmaparatūra un jāinstalē jauna.
Lai to izdarītu, mēs izmantosim esptoolu. Mums ir nepieciešams savienot moduli ar datoru, lai izdzēstu programmaparatūru. Lai to izdarītu, jums ir nepieciešams TTL pārveidotājs un daži papildu komponenti. Bet ir vieglāks veids:). Vienkārši iegādājieties aliexpress vai ebay USB uz ESP8266 ESP-01 Wi-Fi adaptera moduli ar CH340G draiveri.
Pievienojiet ESP8266 moduli TTL pārveidotājam, kā parādīts attēlā, un pievienojiet to USB portam.
Ja jums ir tāds pats pārveidotājs kā man, tad pats par sevi ir jāmaina slēdzis pozīcijā "Prog". Atrodiet, kur ir instalēts esptool (parasti kaut kur, piemēram, C: / Program Files (x86) Python36-32 / Scripts. Dodieties uz šo mapi, palaidiet tur komandu uzvedni. Tips: python esptool.exe --portēt COM5 erase_flash
Protams, izvēlieties pareizo portu. Manā gadījumā tas ir COM5. Portu, kurā ir instalēta ESP, varat pārbaudīt, izmantojot vadības paneli - sistēma - ierīču pārvaldnieks.
Instalējiet programmaparatūru (es to paņēmu no šejienes: https://micropython.org/download#esp8266), ierakstot:
python esptool.exe-ports COM5 --baud 460800 write_flash --flash_size = atklāt 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin
Labi, tagad mēs esam gatavi augšupielādēt mikropitona skriptus uz ESP8266.
Šim nolūkam es izmantoju Adafruit MicroPython rīku (ampy).
Bet mūsdienās ir vēl viena iespēja, ko sauc par Esplorer. Šī ir lietotne ar lietotāja interfeisu, kas ļauj augšupielādēt failus ESP moduļos.
Instrukcijas par ampy instalēšanu varat atrast šeit. Tātad, ielieciet TTL pārveidotāja slēdzi pozīcijā "UART". Mums būs jāaugšupielādē faili:
- wifimgr.py - wifi pārvaldnieks savienojuma izveidei ar wifi tīklu
- main.py - mūsu galvenais skripts
Komandrindas ierakstā: ampy --port COM5 ielieciet C: / ceļu uz savu failu
Nospiediet "enter". Pēc dažām sekundēm vajadzētu redzēt tukšu komandrindu. Tas nozīmē, ka fails ir augšupielādēts. Jūs varat pārbaudīt ESP failu sarakstu, izmantojot komandu ampy:
ampy -ports COM5 ls
Pēc manas pieredzes labāk augšupielādēt main.py pēc tam, kad esat augšupielādējis visus nepieciešamos failus. tas tā ir, jo, tiklīdz jūs augšupielādēsit main.py - ESP8266 modulis tiks atsāknēts un sāks izpildīt failu main.py. Tātad šajā gadījumā, ja mēģināt augšupielādēt citu failu, dažreiz augšupielādes process neizdosies. Bet tas nenozīmē, ka viss ir zaudēts:), vienkārši pamēģini otro reizi, un tev izdosies (atkal, pēc manas pieredzes).
Visi šī projekta faili ir pieejami šeit:
13. darbība: izveidojiet savienojumu ar savu WiFi tīklu. Saņemt paziņojumu


ja viss ir kārtībā, restartējiet moduli, atkārtoti ievietojot TTL pārveidotāju datora USB portā.
Pēc ESP palaišanas atrodiet jaunu WiFi tīklu ar nosaukumu "Wifimanager". Izveidojiet savienojumu ar to ar datoru vai tālruni, pēc tam dodieties uz IP adresi 192.168.4.1.. Šeit jūs varat savienot savu ESP ar vietējo WiFi tīklu. Izvēlieties WiFi tīklu, kuru izmantosit, ierakstiet paroli, nospiediet "Iesniegt".
Ja viss ir pareizi, jūs redzēsit ziņojumu "ESP veiksmīgi izveidots savienojums ar XXXX tīklu". Jūsu ESP tagad ir savienots ar jūsu WiFi tīklu un ir gatavs. Tiklīdz tas izveidos savienojumu ar WiFi, tas izveidos savienojumu ar Domoticz serveri. Shorty, jums ir jāsaņem paziņojums savā mobilajā tālrunī.
Jūs varat izsekot procesam sadaļā "Iestatīšana"/"Žurnāls".
Vua lia!:) Tas strādā. Tagad mēs varam turpināt visu detaļu salikšanu saskaņā ar zemāk redzamo blokshēmu.
14. darbība: bloka diagramma

Par šo diagrammu nav daudz ko teikt. Ļoti vienkārši. Pārslēdziet barošanu ar S1 slēdzi. Ierīce stāv izslēgtā stāvoklī, līdz ūdens saīsina "Ūdens sensora" tapas. Pēc tam ieslēdzas "Pololu plate" un dod sprieguma pārveidotājam jaudu. Šis jaudas modulis, kura pamatā ir mikroshēma HT7333, pārveido spriegumu uz stabilu 3.3V ESP8266. Nākamais ESP ieslēdzas un nosūta ziņojumu uz Domoticz serveri.
15. darbība. Rezultāts un secinājumi




Tas strādā. Paziņojuma sūtīšana aizņēma līdz 10 sekundēm: savienojums ar WiFi, paziņojuma sūtīšana, trauksmes ziņojuma saņemšana uz tālruni.
Esmu ieprogrammējis sensoru sūtīt trauksmes signālus ik pēc 30 sekundēm, ja tiek konstatēts ūdens. Sensors var nosūtīt līdz 5-6 paziņojumiem, līdz akumulators ir izlādējies. Šādu ierīci var izmantot arī ūdens līmeņa noteikšanai. Ko es gribētu uzlabot.
1. Lai tas darbotos ātrāk. Es domāju, ka mēģināšu izmantot ESP-Now tehnoloģiju, kas ļauj tieši savienot vairākus ESP. Šajā gadījumā elektroenerģijas patēriņš savienojuma laikā ir ļoti zems un tas ir ātrāks. Tātad ideja ir izmantot vienu ESP kā centru citu ESP savienošanai.
2. Ieviest akumulatora uzlādes līmeņa trauksmi. Tagad jūs nevarat zināt, vai ir pietiekami daudz enerģijas, lai nosūtītu trauksmes ziņojumu. Es domāju, ka šī sensora nākamajā paaudzē būs īpaša poga akumulatora uzlādes pārbaudei.
Lietotājam būs jānospiež poga, un tiks parādīts akumulatora uzlādes līmenis.
Ieteicams:
DIY 37 Leds Arduino ruletes spēle: 3 soļi (ar attēliem)

DIY 37 Leds Arduino Roulette Spēle: Rulete ir kazino spēle, kas nosaukta pēc franču vārda, kas nozīmē mazu riteni
Covid drošības ķivere 1. daļa: Ievads Tinkercad ķēdēs!: 20 soļi (ar attēliem)

Covid drošības ķivere 1. daļa: Ievads Tinkercad shēmās!: Sveiki, draugs! Šajā divdaļīgajā sērijā mēs iemācīsimies izmantot Tinkercad shēmas - jautru, spēcīgu un izglītojošu rīku, lai uzzinātu, kā darbojas shēmas! Viens no labākajiem veidiem, kā mācīties, ir darīt. Tātad, vispirms izstrādāsim savu projektu:
BOSEBerry Pi interneta radio: 4 soļi (ar attēliem)

BOSEBerry Pi interneta radio: man patīk klausīties radio! Savā mājā es izmantoju DAB radio, taču uztveru uztveršanu, kas bija nedaudz nevienmērīga, un skaņa nepārtraukti izjuka, tāpēc es nolēmu izveidot savu interneta radio. Man apkārt ir spēcīgs wifi signāls un digitālais brālis
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)

Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
Kamera atvieglotiem laika intervāla attēliem: 22 soļi (ar attēliem)

Kamera atvieglotiem laika intervāla attēliem: es pārbaudīju vienu no citām instrukcijām par laika nobīdes filmu veidošanu. Viņš diezgan labi aptvēra filmas daļu. Viņš pastāstīja par bezmaksas programmatūru, kuru varat lejupielādēt, lai izveidotu filmas. Es sev teicu: domāju, ka redzēšu, vai varu