ESP Easy: bumuo ng iyong sariling sistema ng pag-aautomat sa bahay

Ang paggawa ng sarili mong home automation sensor ay hindi ganoon kahirap o mahal. Kailangan mo ng sensor at microcontroller board na wireless na nagpapadala ng data ng sensor sa iyong home automation controller. Sa artikulong ito ikinonekta namin ang mga sensor ng temperatura, halumigmig at air pressure at isang LCD screen sa isang ESP8266 WiFi Module. Ini-install namin ang ESP Easy firmware dito at isinasama ang aming sensor sa open source na Domoticz home automation system, para mabasa mo ang data ng pagsukat sa dashboard ng iyong home automation controller. Ang iyong sariling home automation system sa 17 hakbang!

01 ESP8266

Ang puso ng isang home automation sensor ay binubuo ng isang controller board na nagbabasa ng data ng sensor at ipinapasa ito sa iyong home automation controller. Ang isang tanyag na pagpipilian sa mga DIYer ay ang mga board batay sa ESP8266 WiFi Module, na ginawa ng kumpanyang Tsino na Espressif Systems. Gumagana ang controller sa dalas ng orasan na 80 o 160 MHz, mayroong 64 kilobytes ng instruction memory at 96 kilobytes ng data memory, 512 kilobytes hanggang 4 megabytes ng ram, 802.11 b/g/n Wi-Fi at 16 gpio pin para sa komunikasyon sa sa labas ng mundo. Lalo na sikat ang AI-Thinker controller board, lalo na ang minimalist na ESP-01 na may 6 na magagamit na pin at ang ESP-12E na may 20 magagamit na pin.

02 Madaling ESP

Wala ka kahit saan gamit lang ang hardware: tinutukoy ng firmware na tumatakbo sa ESP module ang function ng controller board. Sa orihinal, ang NodeMCU firmware ay isang popular na pagpipilian para sa ESP8266, ngunit ang Arduino firmware ay suportado na rin ngayon. Ang kagiliw-giliw na bagay tungkol sa huli ay maaari kang bumuo ng mga programa para sa ESP module gamit ang Arduino IDE. At ang mga developer ng ESP Easy firmware ay ginagawang mas madali para sa amin: Ginagawa ng ESP Easy ang iyong ESP module sa isang multi-sensor device na madali mong i-configure sa pamamagitan ng isang web interface.

03 Pag-download ng Firmware

Sa oras ng pagsulat, inaayos ng mga developer ng ESP Easy ang kanilang firmware. Kaya hindi namin pinipili ang stable na release, ngunit para sa isang development na bersyon ng ganap na rewritten na bersyon 2.0. I-download ang zip file (sa aming kaso ito ay ESPEAsy_v2.0.0-dev11.zip, na naging napaka-stable sa pagsasanay) at i-extract ito. Bilang karagdagan sa source code, makikita mo rin ang lahat ng uri ng mga file ng bin. Iyon ang binary na bersyon ng firmware. Nilinaw ng mga pangalan kung alin ang kailangan mo: ang normal ay naglalaman lamang ng mga stable na plugin, subukan din ang mga pansubok na plugin at dev pati na rin ang mga plugin na ginagawa pa rin. Ang 1024 ay para sa ESP modules na may 1 MB flash at 4096 para sa ESP modules gaya ng ESP-12E na may 4 MB flash.

04 Flash Firmware

Inilalarawan namin ang artikulong ito gamit ang ESP-12E, na mayroong micro USB connector na may built-in na USB-to-serial converter para sa serial communication sa iyong PC. Una, i-download ang mga driver ng CP2102 mula sa website ng Silicon Labs. Pagkatapos ay ikonekta ang ESP module sa iyong PC sa pamamagitan ng USB. Kung gumagamit ka ng ibang modelo ng ESP module, kailangan mo pa rin ng USB-to-TTL converter, na ikinonekta mo sa mga gpio pin ng iyong module. Tingnan ang ESP Easy wiki para sa higit pang impormasyon. Ang pag-flash ng firmware ay ginagawa gamit ang tool na FlashESP8266.exe sa zip file na naglalaman ng firmware. Piliin ang serial port (hal. COM0) at ang bin file na may nais na firmware.

05 pagsasaayos ng Wifi

Kapag nag-boot ang bagong flashed na ESP module (pindutin ang RST button sa board pagkatapos makumpleto ang flashing), ito ay gumagana bilang wireless access point na may ssid ESP_Easy_0. Kumonekta dito sa pamamagitan ng iyong smartphone o iba pang WiFi device at ilagay bilang password configesp sa. Pagkatapos nito, buksan ang iyong web browser, na magre-redirect sa iyo sa captive portal ng ESP module. Piliin kung saang ssid mo gustong kumonekta ang ESP module at ilagay ang kaukulang password. Pindutin Kumonekta upang i-set up ang koneksyon.

06 Password

Kung ang ESP module ay nakakonekta sa iyong WiFi, ipapakita sa iyo ang IP address. Ngayon ikonekta muli ang iyong smartphone sa iyong normal na WiFi at pagkatapos ay bisitahin ang iyong web browser (na posible na ngayon sa iyong PC, mas maginhawa na ngayon ang isang mas malaking screen) ang IP address ng ESP module para sa natitirang configuration. Sa tab Config Lalo na mahalaga dito na bigyan mo ang iyong module ng isang natatanging pangalan at pumili ng password ng administrator, upang hindi lahat ng tao sa iyong lokal na network ay magagawang baguhin ang configuration. Pindutin sa ibaba Ipasa.

07 Magdagdag ng Domoticz controller

Sa tab mga controllers Ang isang controller ay naidagdag na bilang default gamit ang Domoticz protocol. Mag-click sa tabi nito i-edit. Bilang protocol na hinahayaan mo Domoticz HTTP tumayo. Ilagay ang IP address at port (8080 bilang default) ng iyong Domoticz controller. Kung naprotektahan mo ang web interface ng Domoticz gamit ang isang username at password, ipasok din iyon dito. Sa wakas tik Pinagana sa at i-click Ipasa. Kapag pinindot mo ang Isara pagkatapos, makikita mo ang iyong Domoticz controller sa listahan ng mga controller.

08 Status LED

Sa tab Hardware tukuyin kung para saan mo ginagamit ang mga gpio pin. Ang isang kapaki-pakinabang na tampok na bago sa bersyon 2.0 ng firmware ay matatagpuan sa ilalim Wi-Fi Status LED. Kung ilalagay mo doon ang pin number kung saan nakakonekta ang isang LED, ipapakita ng ESP Easy ang status ng WiFi sa LED na iyon. At posible rin iyon sa built-in na LED ng ESP module. Piliin mo yan GPIO-2 (D4) at tiktikan Baliktad na LED naka-on dahil active-low ang led na iyon. Mag-click sa ibaba Ipasa. Kung hindi nakakonekta ang ESP Easy sa Wi-Fi, mabilis na magki-flash ang LED sa pagitan ng maliwanag at malambot.

09 Mga sensor at display

Ngayon kumuha ng breadboard at ilagay ang ESP module (hindi konektado sa power supply!) At isang BMP180 sensor board dito. Ang huli ay isang naka-print na circuit board na may temperatura at air pressure sensor. Ngayon ikonekta ang VIN sa BMP180 sa 3V3 sa ESP module, GND sa GND, SCL sa D1, at SDA sa D2. Ngayon kunin ang AM2302 (DHT22) temperature at humidity sensor, ikonekta ang pulang wire sa VIN, ang itim na wire sa GND at ang dilaw na wire sa D5. Panghuli, ikonekta ang OLED screen sa SDD1306 controller: VCC sa VIN, GND sa GND, SCL sa D1 at SDA sa D2. Pagkatapos ay muling ikonekta ang ESP module power supply.

10 Virtual sensor sa Domoticz

Gumawa ng dummy sensor sa Domoticz web interface. Upang gawin ito, buksan ang menu Mga Setting / Hardware, pumili ng bagong hardware mula sa listahan ng uri dummy, bigyan ng pangalan ang device at tiyaking Aktibo ay sinusuri. mag-click sa Idagdag. Pagkatapos ay mag-click sa virtual device Lumikha ng mga virtual na sensor. Bigyan ng pangalan ang sensor at piliin ang uri Temp+Hum. mag-click sa OK upang lumikha ng sensor. Pagkatapos ay hanapin ang sensor sa Mga Setting / Mga Device at isulat ang numero sa hanay idx. Ito ang ID ng sensor. Pagkatapos ay magdagdag ng sensor ng uri sa parehong paraan Temp+Baro.

11 I-configure ang DHT sensor

Ngayon buksan ang ESP Easy web interface. Mag-click sa tab Mga device sa unang hilera sa i-edit. Pumili sa Mga device sa harap ng Kapaligiran - DHT11/12/22. Pangalanan ang sensor at suriin Pinagana sa. Pumili bilang GPIO pin GPIO-14 (D5) at bilang uri ng sensor DHT 22. Ilagay ang ID ng sensor sa Domoticz sa IDX at tiyaking iyon Ipadala sa Controller ay sinusuri. Pagkatapos ay i-click Ipasa. Pagkatapos ay mag-click sa malapit na, pagkatapos ay makikita mo ang sensor sa listahan ng mga device, kabilang ang kasalukuyang temperatura at halumigmig. Makikita mo rin ang data sa Domoticz.

12 I-configure ang BMP sensor

Ang BMP180 sensor ay nakikipag-ugnayan sa ESP module sa pamamagitan ng I2C interface. Kaya tumingin muna sa tab Hardware mula sa ESP Madaling i-verify na ang I2C interface ay na-configure nang tama: GPIO-4 (D2) sa SDA at GPIO-5 (D1) sa SCL. Ito rin ang mga koneksyon na ginawa mo sa breadboard. Pagkatapos ay pumunta sa tab Mga device at mag-click sa pangalawang hilera i-edit. Pumili bilang device Kapaligiran - BMP085/180. Bigyan ng pangalan ang sensor, suriin Pinagana at ilagay ang altitude ng iyong lokasyon sa metro (upang mabayaran ang presyon ng hangin). Ilagay ang tamang ID ng virtual sensor sa Domoticz at i-click Ipasa.

13 Gumawa ng sarili mong mga tuntunin

Sa panahon ng pagsasara ng editoryal, nagkaroon ng isa pang error sa ESP Easy na naging dahilan upang hindi maipadala nang tama ng firmware ang air pressure mula sa BMP sensor patungo sa Domoticz. Sa kabutihang palad, ang ESP Easy ay sapat na kakayahang umangkop upang malutas ito. Upang gawin ito, suriin muna ang iyong BMP sensor Ipadala sa Controller off at i-click Ipasa. Pagkatapos ay buksan ang tab Mga gamit, mag-click sa Advanced, Finch Mga tuntunin sa at i-click Ipasa. May lalabas na bagong tab Mga tuntunin. buksan mo ito. Madali mo na ngayong maidaragdag ang sarili mong mga panuntunan sa field ng text.

14 Timer

Sa field ng text, idagdag ang script sa ibaba. Palitan ang IP address, numero ng port at ID ng mga halaga para sa iyong sitwasyon. Ipinapadala ng script na ito ang data ng sensor sa Domoticz bawat minuto. I-reboot ang ESP module pagkatapos Mga gamit / I-reboot.

Sa System#Boot gawin

timerSet,1,60

endon

Sa Rules#Timer=1 gawin

SendToHTTP,192.168.1.101,8080,/json.htm?type=command&param=udevice&idx=230&nvalue=0&svalue=[BMP#Temperature];[BMP#Pressure];BAR_FOR;ALTITUDE

timerSet,1,60

endon

15 I-configure ang OLED screen

Pagkatapos ay kailangan lang nating i-configure ang screen ng OLED upang makita din natin ang data ng sensor dito. Unang click sa tab Mga gamit sa I2C Scan at tingnan kung ano ang I2C address na ginagamit ng oled screen, 0x3c bilang default. Pagkatapos ay lumikha ng ikatlong device sa tab Mga device at piliin bilang uri Display - OLED SSD1306. Pumili ng pangalan, lagyan ng tsek Pinagana at suriin kung ang tamang I2C address ay ipinasok. Piliin din ang tamang pag-ikot (normal o baligtad) at laki ng screen.

16 Ipakita ang data ng sensor

Sa natitirang configuration ng OLED screen, pipiliin mo kung ano ang lalabas sa screen. Mayroon kang 8 linya ng 16 na character na dapat punan. Punan ang linya 1 T: [BMP#Temperature]^C sa, sa linya 2 H: [AM2302#Humidity]% at sa linya 3 P: [BMP#Pressure] hPa. Ginagamit namin ang temperatura ng BMP180 dahil mas tumpak ito kaysa sa DHT22. mag-click sa Ipasa. Pagkatapos ng isang minuto (ang default na pagkaantala) makikita mo ang data ng sensor sa screen.

17 Iba pang mga sensor at actuator

Ang mga sensor at ang screen na ikinonekta namin sa workshop na ito ay siyempre hindi lamang ang mga sinusuportahang device. Dito makikita mo ang isang listahan ng lahat ng mga plugin. Dito mo rin makikita kung aling mga plug-in ang kasama sa normal na firmware at kung saan kailangan mo ng testing o development firmware. Ang pahina ng wiki ng isang plugin ay nagsasabi sa iyo kung paano ikonekta ang device at kung paano i-configure ang plugin sa ESP Easy.

IoT sensor na pinapagana ng baterya

Ang ESP Easy ay kapaki-pakinabang para sa paggawa ng isang ESP module sa isang IoT device. Ngunit hindi mo nais na isabit iyon sa dingding sa lahat ng oras na may USB power adapter. Sa kabutihang palad, ang ESP module ay maaari ding paganahin ng mga baterya. Kailangan mong magsagawa ng ilang mga trick upang limitahan ang pagkonsumo ng kuryente. Basahin ang pahinang ito sa ESP Easy wiki. Sa pangkalahatan, nangangahulugan ito na ang iyong ESP module ay dapat nasa sleep mode hangga't maaari. Halimbawa, isang beses mo lang susukatin ang halaga ng sensor sa isang oras at pagkatapos ay i-on ang WiFi. Piliin din ang tamang ESP module. Halimbawa, ang Wemos D1 mini ay isang matipid na modelo na patuloy na gumagana sa loob ng isang taon sa tatlong AA na baterya nang may kaunting pagsisikap.

Kamakailang mga Post

$config[zx-auto] not found$config[zx-overlay] not found