Mundarija:
- 1 -qadam: Uskuna
- 2 -qadam: dasturiy ta'minot
- 3 -qadam: Raspberry Pi tayyorlang - Domoticz -ni o'rnating
- 4 -qadam: Domoticz -ni sozlash
- 5 -qadam: Ilova sozlamalarini to'g'rilang
- 6 -qadam: Bildirishnomalarni o'rnatish
- 7 -qadam: Aloqa qurilmalari bilan aloqa o'rnatish
- 8 -qadam: Faol bo'lish uchun qurilmani Domoticz -ga qo'shing
- 9 -qadam: bu tarzda ishlamaydi …
- 10 -qadam: Voqeani to'g'ri yo'l bilan qurish 1
- 11 -qadam: Voqeani to'g'ri yo'l bilan qurish 2
- 12-qadam: ESP8266-01 modulini dasturlash
- 13 -qadam: Wi -Fi tarmog'iga ulaning. Bildirishnoma oling
- 14 -qadam: Blok diagrammasi
- 15 -qadam: Natijalar va xulosalar
- 16 -qadam: video
Video: ESP8266 + Micropython + Domoticz -da suv oqishi sensori: 16 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
Bir muncha vaqt oldin, xotinim mendan suv oqishi sensori yasashimni so'radi. U qozonxonadagi shlang oqishi mumkinligidan qo'rqardi va suv yangi yotqizilgan yog'och polni suv bosadi. Va men haqiqiy muhandis sifatida shunday sensorni oldim.
Tibbiyot muhandisi sifatida 15 yillik tajribamdan bilamanki, suvni aniqlashning eng oson usuli - bu suv bilan qisilgan metall pinlar. Eng oddiy datchiklarning ishlash printsipi shundaki, suv ikkita (yoki undan ko'p) metall pimni qisqartirishi kerak va bu sodir bo'lishi bilan signal ishga tushadi.
1 -qadam: Uskuna
Ushbu loyiha uchun bizga kerak:
1. ESP8266 - 01 moduli
2. HT7333 3.3V MS Low Dropout Lineer Regulator Power Supply modu
Batareyadan kuchlanishni ESP8266 uchun maqbul darajaga tushirish uchun bizga bu modul kerak. Ma'lumotlar jadvaliga ko'ra, 3V dan 3.6V gacha kirish bo'lishi kerak. Ushbu modul bizga 3,3V kuchlanish beradi.
3. Batareya. Men 3, 7V Li-ion 400mAh batareyadan foydalanayapman. Aslida, siz boshqa mos keladigan quvvat manbalaridan foydalanishingiz mumkin. 18650 batareyasi ham yaxshi tanlovdir. Batareyani tanlayotganda, shuni esda tutingki, ESP WiFi tarmog'iga ulangan 200mA atrofida "yeydi" va taxta serverga ma'lumotlarni yuklashda taxminan 60mA ishlatiladi.
4. TP4056 Lipo batareyasini zaryadlovchi paneli.
5. Pololu mini tugmachali quvvat tugmasi Juda qiziq kichkina taxta. Bu ESP modulini faqat suv aniqlanganda o'zgartirishga imkon beradi. ESP -ni yoqish shart emas. Shunday qilib, batareya zaryadini tejash yaxshidir.
6. Uy -joy7. Ikkita mikro kalitni ON-OFF. Bitta chiziq qurilmani yoqish uchun xizmat qiladi. Ikkinchi qator sinov uchun - bu suvsiz davrni qisqartiradi, bizga xabar bering, bu qurilma ishlayaptimi yoki yo'qmi.
8. Raspberry Pi mikrokompyuter
Men Raspberry Pi Zero -dan foydalanmoqdaman. Bu Domoticz serverini ishga tushirish uchun etarlicha kuchli.
2 -qadam: dasturiy ta'minot
Kompyuteringizda:
1. esptool o'rnatilgan, modullarni o'chirish va dasturiy ta'minotni o'chirish uchun
2. Ampy o'rnatilgan, sizning dasturingizni o'chirish uchun
3 Python 3.6 yoki undan yuqori tavsiya etiladi
4. Siz xohlagan kod muharriri. Eng oddiy - odatda Python bilan o'rnatiladigan Python IDLE. Men malina Pi -da Pycharm / Atom yoki Anaconda Spyder -dan foydalanayapman
5. Raspberry Pi (yoki Windows yoki Linux ostida oddiy kompyuter) o'rnatilgan Domoticz serveri
3 -qadam: Raspberry Pi tayyorlang - Domoticz -ni o'rnating
Shunday qilib, RPi -ni oling va Domoticz serverini ishga tushirish uchun mos operatsion tizimni o'rnating.
Siz ushbu ko'rsatmalarga amal qilishingiz mumkin.
Men bu erda Raspbian Stretch -ni ish stoli bilan ishlataman:
Keyingi qadam - Domoticz serverini kompyuteringizga o'rnatish. Siz bu erda yoki bu erda ko'rsatmalarni ishlatishingiz mumkin:). Qo'rqmang, bu unchalik qiyin emas. Shubhasiz, siz terminalda ishlashingiz kerak:
curl -L install.domoticz.com | sudo bash
Va bu:) ko'proq yoki kamroq. Domoticzni sozlash
Endi bizning server tayyor, biz unga istalgan veb -brauzerdan, shu jumladan planshetdan quyidagi URLni kiritish orqali kira olamiz: https:// IP_domoticz: 8080
4 -qadam: Domoticz -ni sozlash
Endi bizning server tayyor, biz unga istalgan veb -brauzerdan, shu jumladan planshetdan quyidagi URLni kiritish orqali kira olamiz: https:// IP_domoticz: 8080
5 -qadam: Ilova sozlamalarini to'g'rilang
O'rnatish | orqali sozlash mumkin bo'lgan turli xil dastur sozlamalari mavjud Sozlamalar menyusi.
Har xil yorliqli sozlamalar menyusi tizimning yaxshi ishlashi uchun zarur bo'lgan shaxsiy parametrlarni kiritishga imkon beradi. Ma'lumotlarni maydonlarga kiritgandan so'ng, ularni "Sozlamalarni qo'llash" qizil tugmachasini bosib saqlashingiz kerak. Bu amaldan so'ng, birinchi kirishda bo'sh bo'lgan Parol maydonlari, agar ular ishlatilmagan bo'lsa ham, uzun yulduzcha qatori bilan paydo bo'ladi.
"Tizim" sahifasida asosiy sozlamalarni o'rnatganingizdan so'ng, "Bildirishnomalar" ni bosing. Bu erda biz qanday bildirishnomalarni ishlatishni sozlashimiz kerak.
6 -qadam: Bildirishnomalarni o'rnatish
Bildirishnomalar, masalan, kalit bosilganda, elektr quvvati juda yuqori, harorat yuqori va boshqa variantlar uchun yuborilishi mumkin.
Bizning holatimizda, sensorlar orqali suv aniqlanganda, bildirishnomalar yuborilishi kerak. Shunday qilib, siz foydalanmoqchi bo'lgan narsalarni yoqing. Shuningdek, bildirishnoma ishlashi uchun odatda sizga API kaliti kerak bo'ladi. Bir oz oldinga yugurib, men aytamanki, men Pushover, Pushsafer va Pushbulletni sinab ko'rdim. Va men Pushover bilan qoldim. Buning sababini keyinroq aytaman.
Bildirishnomalar qanday ishlashi haqida bir necha so'z. Pushbullet, Pushover yoki siz foydalanmoqchi bo'lgan boshqa sahifalarda hisob qaydnomangiz bo'lishi kerak. Bundan tashqari, sizga mobil telefon yoki kompyuterda ilova kerak bo'ladi.
API kalitini oling va uni yuqoridagi sahifaga joylashtiring. Siz "Sinov" tugmasini bosish orqali bildirishnomani sinab ko'rishingiz mumkin. Agar API kaliti to'g'ri bo'lsa, siz mobil telefoningizga sinov xabarnomasini olishingiz kerak.
Sensor suvni sezishi bilan ESP yoqiladi va Domoticz serveriga JSON formatida so'rov yuboradi. Agar voqeani boshlash shartlari (sizga mobil telefoningizga xabar yuborish) bajarilsa, Domoticz xabar yuboradi.
Keyinchalik "voqealar" ga qaytaman.
7 -qadam: Aloqa qurilmalari bilan aloqa o'rnatish
Qurilmalarni boshqarish yoki sensorlarni o'qish uchun Domoticz dasturidan foydalanishdan oldin siz apparat qurilmalari bilan aloqa o'rnatishingiz kerak. Uskunani qo'shish uchun O'rnatish | Uskuna -ni tanlang. Tegishli uskunalar qo'shilmaguncha qurilmalar ko'rinmaydi.
Domoticz ilovasi ko'plab apparat qurilmalarini mahalliy darajada qo'llab -quvvatlaydi. Bizning holatda, suv toshqini sensorini o'qish uchun, biz uskunalar ro'yxatiga "qo'g'irchoq" deb nomlangan qo'shimcha qurilmani qo'shishimiz kerak.
Uskuna qo'shilganda, barcha aniqlangan uskunalarning umumiy ko'rinishi ko'rsatiladi. Uskuna o'chirilishi yoki o'chirilishi mumkin.
Yangi apparat ro'yxatda bo'lishi kerak va "Virtual sensorlar yaratish" tugmasi bo'lishi kerak.
Bu tugmani bosing va "Alert" Sensor turini tanlang. Endi biz faol bo'lish uchun Domoticz -ga qurilmani qo'shishimiz kerak.
8 -qadam: Faol bo'lish uchun qurilmani Domoticz -ga qo'shing
Iltimos, "IDX" ostidagi raqamga e'tibor bering. Bu ushbu qurilmaga yagona havola va bizga keyinchalik Python skriptida bildirishnoma yuborish uchun kerak. Bu holda IDX raqami 1 ga teng.
Chapdagi yashil o'qni bosish orqali qurilmani yoqing (pastdagi rasmimda ko'k, chunki qurilma yoqilgan).
Qurilmaning nomini kiriting va "Qo'shish" tugmasini bosing.
"Utilitalar" menyusiga o'ting va qurilmangiz u erda ko'rsatilishi kerak.
Endi biz sensorimiz uchun "voqea" ni dasturlashimiz kerak. Bu shuni anglatadiki, agar biz sensordan xabar olgan bo'lsak, nima qilish kerakligini serverga aytishimiz kerak va bu men uchun eng qiyin joy:).
9 -qadam: bu tarzda ishlamaydi …
Men voqeani / device / sahifasida dasturlashdan boshladim. Bu meniki emas, lekin tasvirlash yaxshi.
Agar siz ba'zi katakchalarni belgilashingizga ishonsangiz va u ishlasa, siz xato qilasiz:) Bu shunday ishlamaydi. Menimcha, bu xususiyat bu erda hali tugamagan. Shuni unutmangki, bu ochiq manbali dasturiy ta'minot, bir necha soatdan keyin men yechimni topdim. Biz "O'rnatish" ochiladigan menyusidan "Voqealar" dan foydalanishimiz kerak.
"Voqealar" tugmachasini bosgandan so'ng, siz o'zingizning tadbiringizni yaratishingiz mumkin. Siz buni Python yoki LUA -da yoki "Blockly" deb nomlangan kod yordamida yozishni sotib olishingiz mumkin. Men Blockly -dan foydalanishni tanladim. Serverni xohlagan narsani qilishga majburlashning ikki yo'li mavjud.
10 -qadam: Voqeani to'g'ri yo'l bilan qurish 1
1. Tashqi faylni "Voqealar" orqali, "Skriptni ishga tushirish" blokli xabaridan foydalanib bajaring.
Bu men uchun Windows mashinasida juda yaxshi ishlaydi. Ammo men Raspberry Pi -da Raspbian -da muvaffaqiyat qozonmadim. Men ruxsatnomalar bilan bog'liq muammo borligiga shubha qilaman.
11 -qadam: Voqeani to'g'ri yo'l bilan qurish 2
2. "Mavzu bilan xabar yuborish" xabaridan foydalaning. Bu Raspbian tilida ishlaydi. Bu parametr Pushsafe va Pushover -ga bildirishnoma yuborishni qo'llab -quvvatlaydi.
Birinchi usuldan foydalanishning afzalligi shundaki, u yanada moslashuvchan. Siz displeyda, tovushlarda va boshqalarda ko'rsatiladigan belgini tanlashingiz mumkin. Mening "voqeam" yuqoridagi rasmda ko'rsatilgan.
Keyin ESP modulini dasturlashtiramiz.
12-qadam: ESP8266-01 modulini dasturlash
ESP8266 modulini miltillashdan boshlaylik. Odatda bu modullar zavod dasturiy ta'minoti bilan birga keladi. AT buyruqlari yordamida modullar bilan aloqa o'rnatish mumkin. Shuningdek, ushbu dastur mustaqil boshqaruvchi kabi modullardan foydalanishga ruxsat bermaydi. Ularni mustaqil boshqaruvchilar kabi ishlatish uchun biz zavod dasturlarini o'chirib tashlashimiz va yangisini o'rnatishimiz kerak.
Buning uchun biz esptool -dan foydalanamiz. Dasturiy ta'minotni o'chirish uchun biz modulni kompyuterga ulashimiz kerak. Buning uchun sizga TTL konvertori + bir nechta qo'shimcha komponentlar kerak. Lekin osonroq yo'l bor:). Faqat aliexpress yoki ebay USB orqali CH340G drayveri bilan ESP8266 ESP-01 Wi-Fi adapter moduliga sotib oling.
ESP8266 modulini rasmda ko'rsatilgandek TTL konvertoriga ulang va uni USB portiga ulang.
Agar sizda meniki bilan bir xil konvertor bo'lsa, o'z -o'zidan siz kalitni "Prog" holatiga o'zgartirishingiz kerak. Esptool o'rnatilgan joyni toping (odatda C: / Program Files (x86) Python36-32 / Scripts kabi. Bu papkaga o'ting, u erda buyruq irodasini ishga tushiring. Turi: python esptool.exe-COM5 erase_flash
Albatta, to'g'ri portni tanlang. Mening holimda bu COM5. Siz ESP o'rnatilgan portni Boshqarish paneli - Tizim - Qurilma menejeri orqali tekshirishingiz mumkin.
Dasturiy ta'minotni o'rnating (men uni bu erdan oldim: https://micropython.org/download#esp8266) yozib:
python esptool.exe-port COM5 --baud 460800 write_flash --flash_size = 0 C: / path_to_firmware / esp8266-20180511-v1.9.4.bin
OK, endi biz mikropiton skriptlarini ESP8266 -ga yuklashga tayyormiz.
Buning uchun men Adafruit MicroPython Tool (ampy) dan foydalanayapman.
Ammo hozirgi kunda Esplorer deb nomlangan boshqa variant bor. Bu fayllarni ESP modullariga yuklash imkonini beruvchi foydalanuvchi interfeysiga ega ilova.
Ampini o'rnatish bo'yicha ko'rsatmalarni bu erda topishingiz mumkin. Shunday qilib, TTL konvertoridagi kalitni "UART" holatiga qo'ying. Fayllarni yuklashimiz kerak bo'ladi:
- wifimgr.py - wifi tarmog'iga ulanish uchun wifi menejeri
- main.py - bizning asosiy skriptimiz
Buyruqlar satriga yozing: ampy --port COM5 faylingizga C: / yo'lini qo'ying
"Kirish" tugmasini bosing. Bir necha soniyadan so'ng siz bo'sh buyruq satrini ko'rishingiz kerak. Bu fayl yuklanganligini anglatadi. ESP -dagi fayllar ro'yxatini ampy buyrug'i bilan tekshirishingiz mumkin:
ampy -port COM5 ls
Mening tajribamga ko'ra, barcha kerakli fayllarni yuklaganingizdan so'ng main.py -ni yuklash yaxshiroqdir. Bu shunday, chunki siz main.py -ni yuklaysiz - ESP8266 moduli qayta yuklanadi va main.py faylini ishga tushiradi. Shunday qilib, agar siz boshqa faylni yuklamoqchi bo'lsangiz, ba'zida yuklash jarayoni muvaffaqiyatsiz bo'ladi. Ammo bu hamma narsa yo'qoldi degani emas:), faqat ikkinchi marta urinib ko'ring, va siz muvaffaqiyat qozonasiz (yana o'z tajribamdan).
Loyihaning barcha fayllarini bu erdan olish mumkin:
13 -qadam: Wi -Fi tarmog'iga ulaning. Bildirishnoma oling
Agar hamma narsa yaxshi bo'lsa, TTL konvertorini kompyuterning USB portiga qayta o'rnatish orqali modulni qayta ishga tushiring.
ESP ishga tushgandan so'ng, "Wifimanager" deb nomlangan yangi WiFi tarmog'ini toping. Unga kompyuter yoki telefon orqali ulaning, keyin 192.168.4.1 IP -manziliga o'ting. Bu erda siz ESP -ni mahalliy WiFi tarmog'iga ulashingiz mumkin. Foydalanmoqchi bo'lgan WiFi tarmog'ini tanlang, parolni kiriting va "Yuborish" ni bosing.
Agar hamma narsa to'g'ri bo'lsa, siz "ESP XXXX tarmog'iga muvaffaqiyatli ulandi" xabarini ko'rasiz. Sizning ESP hozir Wi -Fi tarmog'ingizga ulangan va tayyor. Wi -Fi tarmog'iga ulanishi bilan u Domoticz serveriga ulanadi. Qisqa vaqt ichida siz mobil telefoningizga xabar olishingiz kerak.
Siz jarayonni "O'rnatish"/"Jurnal" da kuzatishingiz mumkin.
Vau lia!:) Ishlamoqda. Endi biz quyidagi blok -sxemaga muvofiq barcha qismlarni yig'ishni davom ettira olamiz.
14 -qadam: Blok diagrammasi
Bu diagramma haqida ko'p gapirish mumkin emas. Juda oddiy. S1 kaliti yordamida quvvatni o'zgartiring. Qurilma "Suv sensori" shnuri yopilmaguncha yopiq holatda bo'ladi. Keyin "Pololu platasi" yoqiladi va kuchlanish konvertoriga quvvat beradi. HT7333 chipiga asoslangan ushbu quvvat moduli ESP8266 uchun kuchlanishni barqaror 3.3V ga o'zgartiradi. Keyingi ESP yoqiladi va Domoticz serveriga xabar yuboradi.
15 -qadam: Natijalar va xulosalar
Ishlamoqda. Bildirishnoma yuborish 10 sekundgacha davom etdi: Wi -Fi tarmog'iga ulanish, bildirishnoma yuborish, telefoningizga signal yuborish.
Men sensorni har 30 -soniyada signal yuborish uchun dasturlashtirganman, agar suv aniqlansa. Sensor batareya tugagunga qadar 5-6 ta bildirishnoma yuborishi mumkin. Bunday qurilma suv sathini aniqlash uchun ham ishlatilishi mumkin. Men nimani yaxshilashni xohlayman.
1. Buni tezroq ishlashi uchun. O'ylaymanki, men ESP-Now texnologiyasidan foydalanishga harakat qilaman, bu menga bir nechta ESPni to'g'ridan-to'g'ri ulash imkonini beradi. Bunday holda, ulanish paytida quvvat sarfi juda past va u tezroq bo'ladi. Shunday qilib, bitta ESPni boshqa ESPlarni ulash uchun uyadan foydalanish maqsadga muvofiqdir.
2. Batareya darajasi signalizatsiyasini amalga oshirish. Endi siz signal yuborish uchun etarli kuch bor yoki yo'qligini bilolmaysiz. Menimcha, bu sensorning keyingi avlodida batareya zaryadini tekshirish uchun maxsus tugma bo'ladi.
Foydalanuvchi tugmachani bosishi kerak va batareya quvvati ko'rsatiladi.
Tavsiya:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
OpenLH: Biologiya bilan ijodiy tajriba o'tkazish uchun ochiq suyuqlik bilan ishlash tizimi: 9 qadam (rasmlar bilan)
OpenLH: Biologiya bilan ijodiy eksperimentlar uchun ochiq suyuqlik bilan ishlash tizimi: Biz bu ishni moddiy, ko'milgan va mujassamlangan o'zaro ta'sir xalqaro konferentsiyasida (TEI 2019) taqdim etganimizdan faxrlanamiz. Tempe, Arizona, AQSh | 17-20 mart. Hamma yig'ish fayllari va qo'llanmalar bu erda mavjud. Oxirgi kod versiyasi
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam