Nthawi ina yapitayo tinakudziwitsani
Za zochita zokha
Conventionally, makina onse akhoza kugawidwa m'magulu atatu:
Gulu 1 β patulani zida βzanzeruβ. Mumagula mababu, tiyi, ndi zina zambiri kuchokera kwa opanga osiyanasiyana. Ubwino: Chida chilichonse chimakulitsa luso ndikuwonjezera chitonthozo. Zoyipa: Wopanga watsopano aliyense amafuna kugwiritsa ntchito kwake. Ma Protocol a zida kuchokera kwa opanga osiyanasiyana nthawi zambiri samagwirizana.
Gulu 2 - Kukhazikitsa PC yokhala ndi bolodi limodzi kapena x86 yogwirizana. Izi zimachotsa zoletsa pamagetsi apakompyuta, ndipo MajorDoMo kapena kugawa kwina kulikonse kwa seva poyang'anira nyumba yanzeru kumayikidwa pamakina awa. Choncho, zipangizo zochokera kwa opanga ambiri zimagwirizanitsidwa mu malo amodzi a chidziwitso. Iwo. Seva yanu yanyumba yanzeru imawonekera. Ubwino: Kugwirizana pansi pa likulu limodzi, lomwe limapereka luso lowongolera. Zoipa: ngati seva ikulephera, dongosolo lonse limabwerera ku siteji 1, i.e. zimagawika kapena kukhala zopanda ntchito.
Gulu 3 - njira yovuta kwambiri. Pakukonza, mauthenga onse amaikidwa ndipo machitidwe onse amabwerezedwa. Ubwino: Chilichonse chimapangidwa mwangwiro ndipo nyumbayo imakhala yanzeru kwambiri. Zoipa: zokwera mtengo kwambiri poyerekeza ndi magulu 1 ndi 2, kufunika koganizira zonse pasadakhale ndikuganiziranso pang'ono.
Ogwiritsa ntchito ambiri amasankha njira imodzi ndiyeno pitilizani kusankha ziwiri. Kenako omwe amalimbikira kwambiri amafika ku njira 3.
Koma pali njira yomwe ingatchedwe dongosolo logawidwa: chipangizo chilichonse chidzakhala seva ndi kasitomala. Kwenikweni, uku ndikuyesa kutenga ndi kuphatikiza njira 1 ndi kusankha 2. Tengani ubwino wawo wonse ndikuchotsa zoipa, kuti mugwire tanthauzo la golide.
Mwina wina anganene kuti njira yotereyi yapangidwa kale. Koma zisankho zoterozo ndizokhazikika; kwa anthu savvy mu mapulogalamu. Cholinga chathu ndikuchepetsa chotchinga cholowera m'machitidwe ogawidwa otere, monga zida zomaliza komanso kuphatikiza zida zomwe zilipo kale mu dongosolo lathu. Pankhani ya thermostat, wogwiritsa ntchito amangochotsa thermostat yake yakale, kukhazikitsa yanzeru, ndikulumikiza masensa ake omwe alipo. Popanda njira zina zowonjezera.
Tiyeni tiwone kuphatikiza mu dongosolo lathu pogwiritsa ntchito chitsanzo.
Tiyerekeze kuti tili ndi ma module 8 a Sonoff pamaneti athu. Kwa ogwiritsa ntchito ena, kuwongolera kudzera pamtambo wa Sonoff (gulu 1) kudzakhala kokwanira. Ena adzayamba kugwiritsa ntchito firmware ya chipani chachitatu ndipo adzasunthira bwino m'gulu la 2. Zambiri za firmware za gulu lachitatu zimagwira ntchito mofananamo: kutumiza deta ku seva ya MQTT. OpenHub, Majordomo kapena china chilichonse chimagwira ntchito imodzi - kugwirizanitsa zida zosiyanasiyana kukhala malo amodzi a chidziwitso omwe amapezeka pa intaneti kapena pa netiweki yakomweko. Chifukwa chake, kukhalapo kwa Seva ndikoyenera. Apa ndipamene vuto lalikulu limayamba - ngati Seva ikulephera, dongosolo lonse limasiya kugwira ntchito mokhazikika. Pofuna kupewa izi, machitidwe amakhala ovuta kwambiri, njira zowongolera pamanja zimawonjezeredwa zomwe zimabwereza zokha pakagwa Server yalephera.
Tinatenga njira yosiyana, pomwe chipangizo chilichonse chimakhala chodzidalira. Chifukwa chake, Seva sikhala ndi gawo lalikulu, koma imangokulitsa magwiridwe antchito.
Tiyeni tibwerere ku kuyesa kwa lingaliro. Tiyeni titengenso ma module 8 a Sonoff ndikuyika firmware ya Lytko mkati mwake. Ma firmware onse a Lytko ali ndi ntchito
"ssdpList":
{
"id": 94967291,
"ip": "192.168.x.x",
"type": "thermostat"
},
{
"id": 94967282,
"ip": "192.168.x.x",
"type": "thermostat"
}
Monga mukuwonera pachitsanzo, mndandandawu umaphatikizapo ma ID a chipangizo, adilesi ya IP pa netiweki, mtundu wagawo (kwa ife, Sonoff-based thermostat). Mndandandawu umasinthidwa kamodzi pa mphindi ziwiri zilizonse (nthawiyi ndi yokwanira kuyankha kusintha kwakukulu kwa chiwerengero cha zipangizo pa intaneti). Mwanjira iyi, timatsata zida zomwe zawonjezeredwa, zosinthidwa, ndi kuzimitsidwa popanda wogwiritsa ntchito. Mndandandawu umatumizidwa kwa msakatuli kapena pulogalamu yam'manja, ndipo script yokha imapanga tsamba lomwe lili ndi midadada yopatsidwa. Chida chilichonse chimagwirizana ndi chipangizo chimodzi / sensa / chowongolera. Mwachiwonekere mndandanda ukuwoneka motere:
Koma bwanji ngati masensa ena a wailesi alumikizidwa ndi esp8266/esp32 kudzera pa cc2530 (ZigBee) kapena nrf24 (MySensors)?
Za ntchito
Pali machitidwe osiyanasiyana omwe amagawidwa pamsika. Dongosolo lathu limakulolani kuti muphatikize ndi otchuka kwambiri.
M'munsimu muli mapulojekiti omwe ali njira imodzi kapena ina kuyesa kusintha zinthu ndi kusagwirizana kwa opanga osiyanasiyana wina ndi mzake. Izi ndi mwachitsanzo,
Njira imodzi yogwiritsira ntchito MySensors ndi chipata chokhazikitsidwa ndi ESP8266. Zitsanzo zina zonse zili pa ESP32. Ndipo mwa iwo mutha kugwiritsa ntchito mfundo yathu yowunikira ndikupanga mndandanda wa zida.
Tiyeni tiyese lingaliro lina. Tili ndi chipata cha ZESP32 kapena SLS Gateway, kapena MySensors. Kodi angaphatikizidwe bwanji mu malo amodzi a chidziwitso? Tiwonjezera laibulale ya protocol ya SSDP ku ntchito zokhazikika zazipata izi. Mukapeza wolamulira uyu kudzera pa SSDP, idzawonjezera mndandanda wa zipangizo zomwe zimagwirizanitsidwa ndi zomwe zimayankhidwa. Kutengera chidziwitsochi, msakatuli apanga tsamba. M'malo mwake, zitha kuwoneka motere:
Mawonekedwe a intaneti
Pulogalamu ya PWA
"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"
}
Chitsanzo chimasonyeza kuti zipangizo zimawonjezedwa popanda wina ndi mzake. 3 ma thermostats okhala ndi ma adilesi awo a IP ndi masensa 5 osiyanasiyana okhala ndi ma ID apadera alumikizidwa. Ngati sensa imalumikizidwa ndi netiweki ya Wi-Fi, idzakhala ndi IP yake; ngati italumikizidwa pachipata, ndiye kuti adilesi ya IP ya chipangizocho idzakhala adilesi ya IP yachipata.
Timagwiritsa ntchito WebSocket kulumikizana ndi zida. Izi zimakupatsani mwayi wochepetsera mtengo wazinthu poyerekeza ndi zopempha ndikupeza zambiri mwachangu mukalumikiza kapena kusintha.
Deta imatengedwa mwachindunji kuchokera ku chipangizo chomwe chipikacho ndi chake, kudutsa seva. Choncho, ngati chipangizo chilichonse chikulephera, dongosololi likupitiriza kugwira ntchito. Mawonekedwe a intaneti samawonetsa chipangizo chomwe chikusowa pamndandanda. Koma chizindikiro chokhudza kutayika, ngati kuli kofunikira, chidzabwera ngati chidziwitso pakugwiritsa ntchito kwa wogwiritsa ntchito.
Kuyesa koyamba kugwiritsa ntchito njirayi kunali kugwiritsa ntchito PWA. Izi zimakulolani kuti musunge maziko a chipika pa chipangizo cha wosuta ndikupempha deta yofunikira yokha. Koma chifukwa cha mawonekedwe ake, njira iyi ndi yosakwanira. Ndipo pali njira imodzi yokha yotulukira - pulogalamu yachibadwidwe ya Android ndi IOS, yomwe pakali pano ikukula. Mwachikhazikitso, pulogalamuyi idzagwira ntchito pa netiweki yamkati yokha. Ngati ndi kotheka, mukhoza kusamutsa chirichonse ku ulamuliro kunja. Chifukwa chake, wogwiritsa ntchito akachoka pa netiweki yakomweko, pulogalamuyo imasinthiratu kumtambo.
Kuwongolera kwakunja - kubwereza kwathunthu kwa tsamba. Tsambalo litatsegulidwa, wogwiritsa ntchito amatha kulowa mu seva ndikuwongolera zida kudzera muakaunti yawo. Chifukwa chake, Seva imakulitsa magwiridwe antchito ake, kukulolani kuti muzitha kuyang'anira zida mukakhala kunja kwa nyumba, ndipo musamangirire kutumizira madoko kapena IP yodzipatulira.
Choncho, njira yomwe ili pamwambayi ilibe zovuta za njira ya seva, komanso ili ndi ubwino wambiri mu mawonekedwe a kusinthasintha pogwirizanitsa zipangizo zatsopano.
Za thermostat
Tiyeni tiwone dongosolo lowongolera pogwiritsa ntchito thermostat yathu monga chitsanzo.
Zaperekedwa:
- Kuwongolera kutentha kwa thermostat iliyonse (yowonetsedwa ngati chipika chosiyana);
- Kukhazikitsa ndondomeko ya ntchito ya thermostat (m'mawa, masana, madzulo, usiku);
- Kusankha netiweki ya Wi-Fi ndikulumikiza chipangizocho;
- Kusintha chipangizo "pamlengalenga";
- Kukhazikitsa MQTT;
- Konzani netiweki yomwe chipangizocho chalumikizidwa.
Kuphatikiza pa kuwongolera kudzera pa intaneti, tidapereka zachikale - podina pazenera. Pali chowunikira cha Nextion NX3224T024 2.4-inchi pabwalo. Chisankhocho chinagwera pa iye chifukwa chosavuta kugwira ntchito ndi chipangizocho. Koma tikupanga zowunikira zathu kutengera STM32. Magwiridwe ake sali oipitsitsa kuposa a Nextion, koma adzawononga ndalama zochepa, zomwe zidzakhala ndi zotsatira zabwino pa mtengo womaliza wa chipangizocho.
Monga chophimba chilichonse chodzilemekeza cha thermostat, Nextion yathu imatha:
- khazikitsani kutentha kofunikira ndi wogwiritsa ntchito (pogwiritsa ntchito mabatani kumanja);
- kuyatsa ndi kuzimitsa mawonekedwe opangira (batani H);
- kuwonetsa ntchito yotumizirana (muvi kumanzere);
- ali ndi chitetezo cha ana (kudina kwakuthupi kumatsekedwa mpaka loko itachotsedwa);
- ikuwonetsa mphamvu ya siginecha ya WiFi.
Komanso, pogwiritsa ntchito polojekiti mungathe:
- sankhani mtundu wa sensa yomwe imayikidwa ndi wogwiritsa ntchito;
- kusamalira mwana loko Mbali;
- sintha firmware.
Mwa kuwonekera pa WiFi bar, wosuta adzapeza zambiri za maukonde olumikizidwa. Khodi ya QR imagwiritsidwa ntchito kulumikiza chipangizocho mu firmware ya HomeKit.
Chiwonetsero chogwira ntchito ndi chiwonetsero:
Tapanga
Mutha kufunsa, "Kodi chapadera ndi chiyani pa thermostat yanu?" Tsopano pamsika pali ma thermostats ambiri okhala ndi Wi-Fi, magwiridwe antchito, komanso kuwongolera kukhudza. Ndipo okonda alemba ma module kuti azilumikizana ndi makina odziwika bwino apanyumba (Majordomo, HomeAssistant, etc.).
Thermostat yathu imagwirizana ndi machitidwe otere ndipo ali ndi zonse pamwambapa. Koma chodziwika bwino ndi chakuti thermostat imasinthidwa pafupipafupi, chifukwa cha kusinthasintha kwadongosolo. Ndi kusintha kulikonse magwiridwe antchito adzakula. Ku njira yokhazikika yoyendetsera dongosolo (malinga ndi ndandanda), tidzawonjezera yosinthika. Pulogalamuyi imakupatsani mwayi wopeza malo a wogwiritsa ntchito. Chifukwa cha izi, dongosololi lidzasintha kwambiri machitidwe ogwiritsira ntchito malingana ndi malo ake. Ndipo gawo la nyengo lidzakulolani kuti mugwirizane ndi nyengo.
Ndipo kukula. Aliyense akhoza kusintha thermostat yake yanthawi zonse ndi yathu. Ndi khama lochepa. Tasankha 5 mwa masensa otchuka kwambiri pamsika ndikuwonjezera chithandizo kwa iwo. Koma ngakhale sensa ili ndi mawonekedwe apadera, wogwiritsa ntchitoyo azitha kuyilumikiza ku thermostat yathu. Kuti muchite izi, muyenera kuyesa thermostat kuti igwire ntchito ndi sensor inayake. Tidzapereka malangizo.
Mukalumikiza thermostat kapena chipangizo china chilichonse, imawoneka nthawi imodzi paliponse: pa intaneti komanso mu pulogalamu ya PWA. Kuwonjezera chipangizo kumachitika zokha: muyenera kungochilumikiza ku netiweki ya Wi-Fi.
Dongosolo lathu silifuna Seva, ndipo ikalephera, silisintha kukhala dzungu. Ngakhale chimodzi mwa zigawozo chikalephera, dongosololi siliyamba kugwira ntchito mwadzidzidzi. Owongolera, masensa, zida - chilichonse ndi Seva komanso kasitomala, chifukwa chake chimadziyimira pawokha.
Kwa omwe ali ndi chidwi, malo athu ochezera:
Imelo: [imelo ndiotetezedwa]
PS Sitikulimbikitsani kuti musiye Seva. Timathandiziranso seva ya MQTT ndipo tili ndi mtambo wathu. Cholinga chathu ndikubweretsa kukhazikika ndi kudalirika kwa dongosololi pamlingo watsopano. Kotero kuti Seva si malo ofooka, koma imathandizira magwiridwe antchito ndikupanga dongosolo kukhala losavuta.
Source: www.habr.com