Lytko anobatanidza

Imwe nguva yapfuura takakuzivisai smart thermostat. Ichi chinyorwa chakatanga kuitirwa sechiratidzo cheiyo firmware uye control system. Asi kuti titsanangure pfungwa ye thermostat uye zvatakaita, zvinodikanwa kutsanangura iyo pfungwa yese seyakazara.

Lytko anobatanidza

Nezve otomatiki

Conventionally, ose otomatiki anogona kukamurwa mumapoka matatu:
Chikamu 1 - patsanura "smart" zvishandiso. Unotenga magirobhu emwenje, teapots, nezvimwe kubva kuvagadziri vakasiyana. Zvakanakira: Chigadzirwa chega chega chinowedzera kugona uye chinowedzera kunyaradza. Cons: Mumwe nemumwe mugadziri mutsva anoda kushanda kwayo. Protocols yemidziyo kubva kune vakasiyana vanogadzira kazhinji haienderane kune mumwe nemumwe.

Chikamu 2 - kuisirwa imwe-bhodhi PC kana x86 inoenderana. Izvi zvinobvisa zvirambidzo pamagetsi ekombuta, uye MajorDoMo kana chero imwe sevha yekugovera yekutarisira imba yakangwara inoiswa pamushini uyu. Saka, zvishandiso kubva kune vazhinji vanogadzira zvakabatana mune imwechete ruzivo nzvimbo. Avo. yako wega Server yeimba yakangwara inooneka. Pros: kuenderana pasi penzvimbo imwe chete, iyo inopa yakawedzera manejimendi masimba. Cons: kana sevha ikakundikana, iyo yose system inodzokera padanho rekutanga, i.e. inoparadzana kana kusava nebasa.

Chikamu 3 - iyo yakanyanya kuoma sarudzo. Padanho rekugadzirisa, kutaurirana kwese kunoiswa uye masisitimu ese anodhindwa. Pros: zvese zvinounzwa pakukwana uye ipapo imba inova yakangwara zvechokwadi. Zvakaipa: zvinodhura zvakanyanya kana zvichienzaniswa nezvikamu 1 uye 2, kukosha kwekufunga nezve zvese pachine nguva uye kufunga nezvese diki diki.

Vazhinji vashandisi vanosarudza sarudzo yekutanga vobva vafamba zvakanaka kuenda kusarudzo yechipiri. Uye zvino izvo zvinoramba zvichiramba zvinosvika pasarudzo 3.

Asi pane sarudzo inogona kunzi yakagoverwa system: yega yega mudziyo ichave yese sevha uye mutengi. Zvikurukuru, uku ndiko kuedza kutora uye kusanganisa sarudzo 1 uye sarudzo 2. Tora zvose zvakanakira zvavo uye kubvisa kukanganisa, kubata goridhe zvinoreva.

Zvichida mumwe munhu achataura kuti sarudzo yakadaro yakatogadzirwa. Asi zvisarudzo zvakadaro hazvina kunangana; kune vanhu vane ruzivo mukuronga. Chinangwa chedu ndechekudzikisa chipingamupinyi chekupinda mumasisitimu akagoverwa akadai, ese ari muchimiro chemidziyo yekupedzisira uye nenzira yekubatanidza midziyo iripo muhurongwa hwedu. Panyaya ye thermostat, mushandisi anongobvisa thermostat yake yekare, anoisa yakangwara, uye anobatanidza masensa ake aripo kwairi. Pasina mamwe matanho.

Ngatitarisei kubatanidzwa muhurongwa hwedu tichishandisa muenzaniso.

Ngatimbofungidzirai isu tine 8 Sonoff modules pane network yedu. Kune vamwe vashandisi, kutonga kuburikidza neSonoff gore (chikamu 1) kuchave kwakakwana. Vamwe vachatanga kushandisa third-party firmware uye vachanyatsopinda muchikwata 2. Iyo yakawanda yechitatu-party firmware inoshanda pamutemo wakafanana: kuendesa data kune MQTT server. OpenHub, Majordomo kana chero chimwe chinangwa chinoshanda - kubatanidza zvishandiso zvakasiyana munzvimbo imwechete yeruzivo inowanikwa paInternet kana panetiweki yemuno. Naizvozvo, kuvapo kweSevha kunosungirwa. Apa ndipo panomuka dambudziko guru - kana Server ikakundikana, iyo yese system inomira kushanda yakazvimirira. Kuti udzivise izvi, masisitimu anowedzera kuoma, manyorerwo ekudzora nzira anowedzerwa kuti duplicate otomatiki muchiitiko chekutadza kweSeva.

Takatora nzira yakasiyana, apo mudziyo wega wega wega wega. Nekudaro, iyo Server haina kuita basa rekuita, asi inongowedzera kushanda.

Ngatidzokerei kukuedza kufunga. Ngatitorei akafanana 8 Sonoff modules zvakare uye tiise Lytko firmware mavari. Yese maLytko firmwares ane basa SSDP. SSDP itiweki protocol yakavakirwa paInternet protocol suite yekushambadzira uye kuwanikwa kwetiweki masevhisi. Mhinduro kuchikumbiro inogona kuve yakajairwa kana kuwedzerwa. Pamusoro pemaitiro akajairwa, isu takabatanidza mumhinduro iyi kugadzirwa kwerondedzero yemidziyo pane network. Saka, zvishandiso pachazvo zvinowana mumwe nemumwe, uye chimwe nechimwe chazvo chichava nerondedzero yakadaro. Muenzaniso weSSDP sheet:

"ssdpList": 
	{
		"id": 94967291,  
		"ip": "192.168.x.x",
                "type": "thermostat"
	}, 
	{
		"id": 94967282,
		"ip": "192.168.x.x",
                "type": "thermostat"
	}

Sezvauri kuona kubva pamuenzaniso, runyorwa runosanganisira madhizaini edhisheni, IP kero panetiweki, unit mhando (munyaya yedu, Sonoff-based thermostat). Rondedzero iyi inovandudzwa kamwe chete maminetsi maviri ega ega (iyi nguva yakakwana kupindura kune shanduko ine simba muhuwandu hwemidziyo panetiweki). Nenzira iyi, isu tinoteedzera zvishandiso zvakawedzerwa, zvakashandurwa, uye zvakavharwa pasina chero chiito chemushandisi. Rondedzero iyi inotumirwa kubrowser kana nharembozha, uye script pachayo inogadzira peji ine nhamba yakapihwa yezvivharo. Imwe neimwe block inoenderana nechinhu chimwe / sensor / controller. Sezvineiwo rondedzero inoita seizvi:

Lytko anobatanidza

Asi ko kana mamwe ma sensors eredhiyo akabatana ne esp8266/esp32 kuburikidza necc2530 (ZigBee) kana nrf24 (MySensors)?

Nezve mapurojekiti

Kune akasiyana masisitimu akagoverwa pamusika. Yedu sisitimu inokubvumira kuti ubatanidze nevanonyanya kufarirwa.

Pazasi pane mapurojekiti ari imwe nzira kana imwe kuyedza kushandura mamiriro nekusawirirana kwevagadziri vakasiyana kune mumwe nemumwe. Izvi, semuenzaniso, SLS Gateway, MySensors kana ZESP32. ZigBee2MQTT yakasungirirwa kune MQTT server, saka haina kukodzera semuenzaniso.

Imwe sarudzo yekushandisa MySensors igedhi rakavakirwa paESP8266. Mimwe mienzaniso iri paESP32. Uye mavari iwe unogona kuita yedu yekushandisa musimboti wekuona nekugadzira runyoro rwemidziyo.

Ngatiite imwe pfungwa yekuedza. Isu tine ZESP32 gedhi kana SLS Gedhi, kana MySensors. Vanogona sei kusanganiswa munzvimbo imwechete yeruzivo? Isu tichawedzera iyo SSDP protocol raibhurari kune akajairwa mabasa emasuwo aya. Paunenge uchiwana iyi controller kuburikidza neSSDP, inowedzera rondedzero yemidziyo yakabatana nayo kune yakajairwa mhinduro. Zvichienderana neruzivo urwu, browser ichagadzira peji. Muzhinji zvicharatidzika seizvi:

Lytko anobatanidza
Webhu interface

Lytko anobatanidza
PWA application

"ssdpList": 
{
   "id": 94967291, // ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ устройства
   "ip": "192.168.x.x", // ip адрСс Π² сСти
   "type": "thermostat" // Ρ‚ΠΈΠΏ устройства
},
{
   "id": 94967292,
   "ip": "192.168.x.x",
   "type": "thermostat"
},
{
   "id": 94967293,
   "ip": "192.168.x.x",
   "type": "thermostat"
},
{  
   "id": 13587532, 
   "type": "switch"  
},
{  
   "id": 98412557, 
   "type": "smoke"
},
{  
   "id": 57995113, 
   "type": "contact_sensor"
},
{  
   "id": 74123668,
   "type": "temperature_humidity_pressure_sensor"
},
{
    "id": 74621883, 
    "type": "temperature_humidity_sensor"
}

Muenzaniso unoratidza kuti zvishandiso zvinowedzerwa zvakasununguka kubva kune mumwe nemumwe. 3 thermostats ine yavo IP kero uye mashanu akasiyana masensa ane akasiyana maID akabatana. Kana iyo sensor yakabatana neWi-Fi network, ichava neyayo IP; kana yakabatana negedhi, ipapo kero yeIP yemuchina ichave gedhi reIP kero.

Isu tinoshandisa WebSocket kutaurirana nemidziyo. Izvi zvinokutendera kuti udzikise mutengo wezvishandiso uchienzaniswa nekuwana zvikumbiro uye kuwana ruzivo zvine simba paunenge uchibatanidza kana kuchinja.

Iyo data inotorwa yakananga kubva pachigadzirwa icho chivharo chiri, ichipfuura server. Saka, kana chimwe chezvigadziri chikakundikana, iyo system inoramba ichishanda. Iyo yewebhu interface haingoratidze mudziyo usipo kubva pane rondedzero. Asi chiratidzo pamusoro pekurasikirwa, kana zvichidikanwa, chichauya nenzira yechiziviso mukushandiswa kwemushandisi.

Kuedza kwekutanga kuita iyi nzira yaive PWA application. Izvi zvinokutendera iwe kuchengetedza block base pane mudziyo wemushandisi uye kukumbira chete inodiwa data. Asi nekuda kwezvimiro zvechimiro, iyi sarudzo haina kukwana. Uye kune nzira imwe chete yekubuda - yekuzvarwa application yeAroid neIOS, iyo parizvino iri pasi pekusimudzira. Nekusagadzikana, iyo application inongoshanda pane yemukati network. Kana zvichidikanwa, unogona kuendesa zvinhu zvese kukutonga kwekunze. Saka, kana mushandisi asiya network yemuno, application yacho inongochinja kuenda kugore.

Kudzora kwekunze - kudzokorodza kwakazara kwepeji. Kana iyo peji yaitwa, mushandisi anogona kupinda musevha uye kugadzirisa zvishandiso kuburikidza neakaundi yavo yega. Nekudaro, iyo Server inowedzera mashandiro ayo, ichikubvumidza iwe kubata zvishandiso uri kunze kwemba, uye kwete kusungirirwa kune chiteshi chekufambisa kana IP yakatsaurirwa.

Nekudaro, iyo iri pamusoro sarudzo haina zvipingamupinyi zveiyo server nzira, uye zvakare ine huwandu hwezvakanakira muchimiro chekuchinjika mukubatanidza zvishandiso zvitsva.

Nezve thermostat

Ngatitarisei iyo control system tichishandisa yedu thermostat semuenzaniso.

Provided:

  1. Kudzora tembiricha yega yega thermostat (inoratidzwa seyakasiyana block);
  2. Kuisa iyo thermostat hurongwa hwekushanda (mangwanani, masikati, manheru, husiku);
  3. Kusarudza network yeWi-Fi uye kubatanidza mudziyo kwairi;
  4. Kuvandudza chigadzirwa "pamusoro pemhepo";
  5. Kugadzira MQTT;
  6. Gadzirisa network iyo mudziyo wakabatanidzwa.

Lytko anobatanidza

Pamusoro pekutonga kuburikidza newebhu interface, isu takapa iyo yekare - nekudzvanya pachiratidziro. Pane Nextion NX3224T024 2.4-inch yekutarisa pabhodhi. Sarudzo yakawira paari nekuda kwekureruka kwekushanda nemudziyo. Asi isu tiri kugadzira yedu yekutarisa yakavakirwa paSTM32. Kushanda kwayo hakuna kuipa kupfuura iyo yeNextion, asi inodhura zvishoma, iyo ichava nemigumisiro yakanaka pamutengo wekupedzisira wemudziyo.

Lytko anobatanidza

Senge chero anozviremekedza ega thermostat skrini, yedu Nextion inogona:

  • isa tembiricha inodiwa nemushandisi (uchishandisa mabhatani ari kurudyi);
  • vhura uye udzime iyo yakarongwa maitiro ekushanda (bhatani H);
  • ratidza relay kushanda (museve kuruboshwe);
  • ane dziviriro yemwana (kudzvanya kwepanyama kwakavharwa kusvika kukiya kwabviswa);
  • inoratidza simba rechiratidzo cheWiFi.

Mukuwedzera, uchishandisa monitor iwe unogona:

  • sarudza rudzi rwe sensor yakaiswa nemushandisi;
  • gadzirisa chivharo chemwana;
  • kugadzirisa firmware.

Lytko anobatanidza

Nekudzvanya pane iyo WiFi bar, mushandisi anowana ruzivo nezve yakabatana network. Iyo QR kodhi inoshandiswa kubatanidza mudziyo muHomeKit firmware.

Lytko anobatanidza

Demo yekushanda nechiratidziro:

Lytko anobatanidza

Isu takagadzira demo peji ine matatu akabatana thermostats.

Unogona kubvunza, "Chii chakakosha nezve thermostat yako?" Iye zvino pamusika pane akawanda thermostats ane Wi-Fi basa, yakarongwa kushanda, uye kubata kubata. Uye vanofarira vakanyora mamodule ekudyidzana neanonyanya kufarirwa smart home system (Majordomo, HomeAssistant, nezvimwewo).

Yedu thermostat inoenderana neakadaro masisitimu uye ine zvese zviri pamusoro. Asi chinosiyanisa ndechekuti iyo thermostat inogara ichivandudzwa, nekuda kwekushanduka kweiyo system. Nekuvandudza kwega kwega kushanda kuchawedzera. Kune yakajairwa nzira yehurongwa manejimendi (maererano nehurongwa), isu tichawedzera inogadzirisa imwe. Iyo application inokutendera iwe kuti uwane iyo mushandisi geolocation. Nekuda kweizvi, iyo sisitimu inochinja zvine simba maitiro ekushanda zvichienderana nenzvimbo yayo. Uye iyo yemamiriro ekunze module ichakubvumidza kuti uchinje kumamiriro ekunze.

Uye kuwedzera. Chero ani zvake anogona kutsiva yavo iripo yemazuva ese thermostat neyedu. Nekuedza kushoma. Isu takasarudza mashanu eanonyanya kufarirwa sensors pamusika uye akawedzera rutsigiro kwavari. Asi kunyangwe iyo sensor ine yakasarudzika maitiro, mushandisi achakwanisa kuibatanidza kune yedu thermostat. Kuti uite izvi, iwe unozofanirwa kuenzanisa iyo thermostat kuti ishande neimwe sensor. Tichapa mirairo.

Kana uchibatanidza thermostat kana chero imwe mudziyo, inowoneka panguva imwe chete kwese kwese: zvese muwebhu interface uye muPWA application. Kuwedzera chishandiso kunoitika otomatiki: iwe unongoda kuibatanidza kune Wi-Fi network.

Yedu system haidi Server, uye kana ikatadza, haishanduke kuita nhanga. Kunyangwe kana chimwe chezvikamu chikatadza, sisitimu yacho haitangi kushanda munjodzi. Vadzori, masensa, zvishandiso - chimwe nechimwe chinhu chiri zvese Server uye mutengi, saka kuzvitonga kuzere.

Kune avo vanofarira, masocial network edu: teregiramu, Instagram, Nhau dzeTeregiramu, VK, Facebook.

Email: [email inodzivirirwa]

PS Hatikurudzire kuti usiye Server. Isu tinotsigirawo sevha yeMQTT uye tine gore redu. Chinangwa chedu ndechekuunza kugadzikana uye kuvimbika kwehurongwa kune imwe nhanho itsva. Saka kuti Server haisi nzvimbo isina simba, asi inozadzisa mashandiro uye inoita kuti sisitimu ive nyore.

Source: www.habr.com

Voeg