Pravljenje sopstvenog senzora za kućnu automatizaciju nije tako teško ili skupo. Potreban vam je senzor i ploča mikrokontrolera koja bežično prenosi podatke senzora na vaš kontroler kućne automatizacije. U ovom članku povezujemo senzore temperature, vlažnosti i vazdušnog pritiska i LCD ekran na ESP8266 WiFi modul. Instaliramo ESP Easy firmver na njega i integrišemo naš senzor sa Domoticz sistemom kućne automatizacije otvorenog koda, tako da možete da čitate podatke merenja na kontrolnoj tabli vašeg kontrolera kućne automatizacije. Vaš sopstveni sistem kućne automatizacije u 17 koraka!
01 ESP8266
Srce senzora za kućnu automatizaciju sastoji se od kontrolne ploče koja čita podatke senzora i prosleđuje ih vašem kontroleru kućne automatizacije. Popularan izbor među DIYers-ima su ploče zasnovane na ESP8266 WiFi modulu, koji proizvodi kineska kompanija Espressif Systems. Kontroler radi na frekvenciji takta od 80 ili 160 MHz, ima 64 kilobajta memorije instrukcija i 96 kilobajta memorije podataka, 512 kilobajta do 4 megabajta ram memorije, 802.11 b/g/n Wi-Fi i 16 gpio pinova za komunikaciju sa spoljni svet. AI-Thinker kontrolne ploče su posebno popularne, posebno minimalistički ESP-01 sa 6 upotrebljivih pinova i ESP-12E sa 20 upotrebljivih pinova.
02 ESP Lako
Nigde niste samo sa hardverom: firmver koji radi na ESP modulu određuje funkciju kontrolne ploče. Prvobitno je NodeMCU firmver bio popularan izbor za ESP8266, ali je sada podržan i Arduino firmver. Interesantna stvar u vezi sa ovim poslednjim je da možete razviti programe za ESP modul sa Arduino IDE. A programeri ESP Easy firmvera čine ga još lakšim: ESP Easy pretvara vaš ESP modul u uređaj sa više senzora koji možete lako da konfigurišete preko veb interfejsa.
03 Preuzimanje firmvera
U vreme pisanja ovog teksta, programeri ESP Easy-a su revidirali svoj firmver. Stoga se ne odlučujemo za stabilno izdanje, već za razvojnu verziju potpuno prepisane verzije 2.0. Preuzmite zip fajl (u našem slučaju to je bio ESPEasy_v2.0.0-dev11.zip, koji se u praksi pokazao veoma stabilnim) i raspakujte ga. Pored izvornog koda, videćete i sve vrste bin datoteka. To je binarna verzija firmvera. Nazivi jasno pokazuju koji vam je potreban: normal sadrži samo stabilne dodatke, testirajte i testne dodatke, a dev takođe dodatke koji su još u razvoju. 1024 je za ESP module sa 1 MB fleš i 4096 za ESP module kao što je ESP-12E sa 4 MB fleš.
04 Flash firmver
Ovaj članak ilustrujemo sa ESP-12E, koji ima mikro USB konektor sa ugrađenim USB-serijskim konvertorom za serijsku komunikaciju sa vašim računarom. Prvo preuzmite drajvere za CP2102 sa veb lokacije Silicon Labs. Zatim povežite ESP modul sa računarom preko USB-a. Ako koristite drugi model ESP modula, i dalje vam je potreban USB-to-TTL konvertor, koji povezujete na gpio pinove vašeg modula. Pogledajte ESP Easy wiki za više informacija. Flešovanje firmvera se vrši pomoću alatke FlashESP8266.exe u zip datoteci koja sadrži firmver. Izaberite serijski port (npr. COM0) i bin datoteku sa željenim firmverom.
05 Wifi konfiguracija
Kada se sveže flešovani ESP modul pokrene (pritisnite dugme RST na ploči nakon što se flešovanje završi), on funkcioniše kao bežična pristupna tačka sa ssid ESP_Easy_0. Povežite se na njega preko pametnog telefona ili drugog WiFi uređaja i unesite lozinku configesp in. Nakon toga, otvorite svoj veb pretraživač, koji će vas preusmeriti na kapitivni portal ESP modula. Izaberite na koji ssid želite da se ESP modul poveže i unesite odgovarajuću lozinku. Pritisnite Povežite se da biste uspostavili vezu.
06 Lozinka
Ako je ESP modul uspeo da se poveže na vaš WiFi, biće vam prikazana IP adresa. Sada ponovo povežite svoj pametni telefon sa normalnim WiFi-om i posetite svoj veb pretraživač (što je sada moguće na vašem računaru, veći ekran je sada pogodniji) IP adresu ESP modula za ostatak konfiguracije. U kartici Config Ovde je posebno važno da svom modulu date jedinstveno ime i odaberete administratorsku lozinku, tako da ne može svako na vašoj lokalnoj mreži da promeni konfiguraciju. Pritisnite na dnu прихвати.
07 Dodajte Domoticz kontroler
U kartici kontrolori Kontroler je već dodat podrazumevano sa Domoticz protokolom. Kliknite pored njega Уредити. Kao protokol dozvolite Domoticz HTTP стајати. Unesite IP adresu i port (podrazumevano 8080) vašeg Domoticz kontrolera. Ako ste Domoticz veb interfejs zaštitili korisničkim imenom i lozinkom, unesite i to ovde. Konačno označite Omogućeno uključite i kliknite прихвати. Kada nakon toga pritisnete Close, videćete svoj Domoticz kontroler na listi kontrolera.
08 Status LED
U kartici Hardver definišite za šta koristite gpio pinove. Korisnu funkciju koja je nova u verziji 2.0 firmvera možete pronaći pod LED status Wi-Fi. Ako tamo unesete pin broj na koji je LED dioda povezan, ESP Easy prikazuje status WiFi na toj LED diodi. A to je moguće i sa ugrađenom LED diodom ESP modula. Izaberite to GPIO-2 (D4) i kvačicu Inverted LED uključen jer je ta LED dioda aktivno-nisko. Kliknite na dnu прихвати. Ako ESP Easy nije povezan na Wi-Fi, LED će sada brzo treptati između svetle i meke.
09 Senzori i displej
Sada uzmite matičnu ploču i na nju postavite ESP modul (nije povezan na napajanje!) i BMP180 senzorsku ploču. Potonji je štampana ploča sa senzorom temperature i pritiska vazduha. Sada povežite VIN na BMP180 na 3V3 na ESP modulu, GND na GND, SCL na D1 i SDA na D2. Sada uzmite AM2302 (DHT22) senzor temperature i vlažnosti, povežite crvenu žicu na VIN, crnu žicu na GND i žutu žicu na D5. Konačno, povežite OLED ekran sa SDD1306 kontrolerom: VCC na VIN, GND na GND, SCL na D1 i SDA na D2. Zatim ponovo povežite napajanje ESP modula.
10 virtuelnih senzora u Domoticzu
Napravite lažni senzor u Domoticz veb interfejsu. Da biste to uradili, otvorite meni Podešavanja / Hardver, izaberite novi hardver sa liste tipa dummy, dajte naziv uređaju i uverite se Aktivan je provereno. кликните на Додати. Zatim kliknite na virtuelni uređaj Kreirajte virtuelne senzore. Dajte senzoru ime i izaberite tip Temp+Hum. кликните на У реду za kreiranje senzora. Zatim pronađite senzor unutra Podešavanja / Uređaji a broj upiši u kolonu idx. Ovo je ID senzora. Zatim dodajte senzor tipa na isti način Temp+Baro.
11 Konfigurišite DHT senzor
Sada otvorite ESP Easy veb interfejs. Kliknite na karticu Uređaji u prvom redu dalje Уредити. Izaberite u Uređaji испред Животна средина - DHT11/12/22. Imenujte senzor i proverite Omogućeno at. Izaberite kao GPIO pin GPIO-14 (D5) i kao tip senzora DHT 22. Unesite ID senzora u Domoticz na IDX-u i uverite se u to Pošaljite kontroloru je provereno. Zatim kliknite прихвати. Zatim kliknite na Близу, tada ćete videti senzor na listi uređaja, uključujući trenutnu temperaturu i vlažnost. Podatke ćete videti i u Domoticzu.
12 Konfigurišite BMP senzor
Senzor BMP180 komunicira sa ESP modulom preko I2C interfejsa. Dakle, prvo pogledajte karticu Hardver iz ESP-a. Lako je proveriti da li je I2C interfejs ispravno konfigurisan: GPIO-4 (D2) kod SDA i GPIO-5 (D1) at SCL. Ovo su takođe veze koje ste napravili na matičnoj ploči. Zatim idite na karticu Uređaji i kliknite na drugi red Уредити. Izaberite kao uređaj Životna sredina - BMP085/180. Dajte senzoru ime, proverite Omogućeno i unesite nadmorsku visinu vaše lokacije u metrima (za kompenzaciju vazdušnog pritiska). Unesite tačan ID virtuelnog senzora u Domoticz i kliknite прихвати.
13 Kreirajte svoja pravila
Tokom zatvaranja redakcije, došlo je do još jedne greške u ESP Easy-u koja je prouzrokovala da firmver nije ispravno poslao pritisak vazduha sa BMP senzora na Domoticz. Na sreću, ESP Easy je dovoljno fleksibilan da reši ovo. Da biste to uradili, prvo proverite BMP senzor Pošaljite kontroloru isključite i kliknite прихвати. Zatim otvorite karticu Alati, кликните на Napredno, Finch Правила uključite i kliknite прихвати. Sada će se pojaviti nova kartica Правила. otvori ovo. Sada možete lako da dodate sopstvena pravila u polje za tekst.
14 Tajmer
U polje za tekst dodajte skriptu ispod. Zamenite IP adresu, broj porta i ID vrednostima za vašu situaciju. Ova skripta šalje podatke senzora Domoticzu svakog minuta. Ponovo pokrenite ESP modul nakon toga Alati / Рестарт.
Na System#Boot uradite
timerSet,1,60
endon
On Rules#Timer=1 uradi
SendToHTTP,192.168.1.101,8080,/json.htm?type=command¶m=udevice&idx=230&nvalue=0&svalue=[BMP#Temperature];[BMP#Pressure];BAR_FOR;ALTITUDE
timerSet,1,60
endon
15 Konfigurišite OLED ekran
Zatim moramo samo da konfigurišemo OLED ekran tako da možemo da vidimo i podatke senzora na njemu. Prvo kliknite na karticu Alati на I2C Scan i vidite koju I2C adresu koristi oled ekran, podrazumevano 0x3c. Zatim kreirajte treći uređaj na kartici Uređaji i izaberite kao tip Displej - OLED SSD1306. Izaberite ime, označite Omogućeno i proverite da li je uneta tačna I2C adresa. Takođe izaberite ispravnu rotaciju (normalnu ili naopako) i veličinu ekrana.
16 Prikaži podatke senzora
U ostatku konfiguracije OLED ekrana, birate šta će se pojaviti na ekranu. Imate 8 redova od 16 znakova za popunjavanje. Popunite liniju 1 T: [BMP#Temperatura]^C u, na liniji 2 H: [AM2302#Vlažnost]% i na liniji 3 P: [BMP#Pritisak] hPa. Koristimo temperaturu BMP180 jer je tačnija od DHT22. кликните на прихвати. Posle jednog minuta (podrazumevano odlaganje) videćete podatke senzora na ekranu.
17 Ostali senzori i aktuatori
Senzori i ekran koje smo povezali u ovoj radionici naravno nisu jedini podržani uređaji. Ovde ćete naći listu svih dodataka. Ovde takođe možete videti koji su dodaci uključeni u uobičajeni firmver i za koje vam je potreban firmver za testiranje ili razvoj. Viki stranica dodatka vam govori kako da povežete uređaj i kako da konfigurišete dodatak u ESP Easy-u.
IoT senzor na baterije
ESP Easy je koristan za pretvaranje ESP modula u IoT uređaj. Ali ne želite da to kačite na zid sve vreme pomoću USB adaptera za napajanje. Na sreću, ESP modul može da se napaja i baterijama. Morate izvesti nekoliko trikova da biste ograničili potrošnju energije. Pročitajte ovu stranicu na ESP Easy viki. Uopšteno govoreći, to znači da vaš ESP modul treba da bude u režimu mirovanja što je duže moguće. Na primer, samo jednom na sat merite vrednost senzora i tek onda uključite WiFi. Takođe izaberite odgovarajući ESP modul. Na primer, Wemos D1 mini je ekonomičan model koji uz određeni napor nastavlja da radi godinu dana na tri AA baterije.