{"id":277940,"date":"2016-04-08T17:15:04","date_gmt":"2016-04-08T13:15:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=277940"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=277940","title":{"rendered":"IoT-\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430 1,5 \u0447\u0430\u0441\u0430"},"content":{"rendered":"<p>       \u0418\u043b\u0438 \u043a\u0430\u043a \u043c\u044b \u0437\u0430\u0436\u0433\u043b\u0438 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443 \u0441\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443 \u043d\u0430 \u0433\u043b\u0430\u0437\u0430\u0445 \u0438\u0437\u0443\u043c\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u041d\u0413\u0423. <br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/607\/3b0\/24a\/6073b024a37f42e981bb9a652227523d.jpg\"\/><br \/>  <i>\u041f\u043e\u043b\u043d\u043e\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043c\u044b \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0432\u043d\u0438\u0437\u0443, \u0430 \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u043b\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u043e-\u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u043b\u043e\u0433\u0430. <\/i><\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 1. \u041b\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f <\/h2>\n<p>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u044b\u0441\u0448\u0435\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u043e\u043c \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435. \u041a\u0442\u043e-\u0442\u043e \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u043a\u0442\u043e-\u0442\u043e 10 \u2013 20 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434, \u0438 \u0432\u0441\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438. \u041d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043a\u0443\u0440\u0441\u0430\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c\u0438 \u043c\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0438 \u043a\u0430\u0444\u0435\u0434\u0440\u0443 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0437\u0430\u0449\u0438\u0449\u0430\u043b\u0438 \u0434\u0438\u043f\u043b\u043e\u043c\u044b. \u0418 \u0431\u044b\u043b\u0430 \u0442\u0430\u043a\u0430\u044f \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044f \u043a\u0430\u043a \u0414\u043d\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0432 \u0438\u043d\u0441\u0442\u0438\u0442\u0443\u0442\u0430\u0445, \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u0438\u044f\u0445 \u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0433\u0434\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438, \u0447\u0435\u043c \u043e\u043d\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u0435 \u0442\u0435\u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u044f\u0442 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0443\u043a\u043e\u0439 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438, \u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. <br \/>  \u0427\u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0432 \u0414\u043d\u044f\u0445 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430? \u042d\u0442\u043e \u2013 \u0445\u043e\u0434\u0438\u0442\u044c, \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u0434\u0435\u043b\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043c\u0443-\u0442\u043e \u043d\u0443\u0436\u043d\u043e. <br \/>  <a name=\"habracut\"><\/a><br \/>  \u041f\u043e \u0441\u043b\u043e\u0432\u0430\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043d\u0430\u0448\u0438\u0445 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432, \u0434\u043b\u044f \u043d\u0435\u0433\u043e, \u043a\u0430\u043a \u0434\u043b\u044f \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u0432\u0438\u0434\u0435\u043b \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0438\u0445 \u0437\u043d\u0430\u043d\u0438\u0439 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0414\u043d\u0435\u0439 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0431\u044b\u043b\u043e \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0436\u0438\u0432\u0443\u044e \u0442\u0440\u0435\u043d\u0430\u0436\u0435\u0440 \u0441\u0442\u044b\u043a\u043e\u0432\u043a\u0438 \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u041c\u0438\u0440, \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u044b\u0445 \u0437\u0432\u043e\u043d\u043a\u043e\u0432, \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0422\u042d\u0426, \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u044e, \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u0438 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0441 \u043b\u044e\u0434\u044c\u043c\u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0443\u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u043c\u0438. \u0418 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u0438\u0435 \u0432\u0441\u0442\u0440\u0435\u0447\u0438 \u043f\u043e\u043c\u043e\u0433\u043b\u0438 \u0440\u0435\u0448\u0438\u0442\u044c, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0434\u0438\u043f\u043b\u043e\u043c \u0438 \u0432 \u043a\u0430\u043a\u043e\u0439 \u0438\u0437 \u043e\u0431\u043b\u0430\u0441\u0442\u0435\u0439 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u043b\u0430\u043d\u0435.<\/p>\n<p>  \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0414\u043d\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0441\u043c\u0435\u043d\u0438\u043b\u0438 \u0414\u043d\u0438 \u043a\u0430\u0440\u044c\u0435\u0440\u044b. \u041d\u043e \u043d\u0430\u043c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0434\u0443\u0445 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438. <\/p>\n<p>  \u041c\u044b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0446\u0435\u043b\u044c \u2013 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0442\u0430\u0440\u044b\u043c \u0434\u043e\u0431\u0440\u044b\u043c \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044f\u043c \u0441 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0430 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u2013 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u0434\u0430\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0438 \u043c\u0438\u0440 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0432\u0435\u0449\u044c, \u043d\u043e \u044d\u0442\u043e \u0438 \u0445\u043e\u0440\u043e\u0448\u043e. \u042d\u0442\u043e \u0432\u044b\u0437\u043e\u0432 \u0438 \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0432 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u043c \u0418\u0422-\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435. <\/p>\n<p>  \u0418\u043c\u0435\u043d\u043d\u043e \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438 \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0443 \u043a \u0414\u043d\u044f\u043c \u043a\u0430\u0440\u044c\u0435\u0440\u044b \u0432 \u041d\u0413\u0423 \u2013 \u0432\u0435\u0434\u0443\u0449\u0435\u0439 \u043a\u0443\u0437\u043d\u0438\u0446\u044b \u043a\u0430\u0434\u0440\u043e\u0432 \u0441\u0440\u0435\u0434\u0438 \u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0438\u0445 \u0432\u0443\u0437\u043e\u0432 \u0434\u043b\u044f \u043b\u044e\u0431\u043e\u0439 \u0443\u0432\u0430\u0436\u0430\u044e\u0449\u0435\u0439 \u0441\u0435\u0431\u044f \u0418\u0422-\u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u0430 \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0433\u043e\u0440\u043e\u0434\u043e\u0432 \u0438 \u0441\u0442\u0440\u0430\u043d. <\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u0441\u0442\u0435\u043d\u0434\u043e\u0432\u0443\u044e \u0441\u0435\u0441\u0441\u0438\u044e \u0438 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0448\u043b\u0438 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0432\u0435\u0434\u0443\u0449\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438, \u0443\u0447\u0430\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u0431\u043e\u0435\u0432\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0432\u0435\u0434\u0443\u0449\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432. \u0413\u043e\u0432\u043e\u0440\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u043c\u044b \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043b\u0438\u0441\u044c \u0434\u0435\u0432\u0443\u0448\u043a\u0430\u043c\u0438 \u0438\u0437 HR, \u0430 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u00ab\u0418\u0422-\u0441\u043f\u0435\u0446\u043d\u0430\u0437\u00bb \u0441 \u0448\u0438\u043a\u0430\u0440\u043d\u043e\u0439 \u0442\u0435\u043c\u043e\u0439.<\/p>\n<p>  \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0440\u043e\u0432\u044f\u0437\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0434\u043d\u044b\u0445 \u0418\u0422-\u0442\u0435\u043c \u0438 \u043e\u043f\u044b\u0442 \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430:  <\/p>\n<ul>\n<li>\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439<\/li>\n<li>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432<\/li>\n<li>\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b<\/li>\n<li>\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438<\/li>\n<\/ul>\n<p>  \u0418 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430\u043c\u0438 \u0441\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430. \u0414\u0430, \u0432\u043e\u0442 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u0437\u0430 \u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0447\u0430\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f8f\/fa6\/840\/f8ffa68406b0407ca3b536eff6127555.jpg\"\/><br \/>  \u041d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443. <\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 2. \u0412\u0432\u043e\u0434\u043d\u0430\u044f. \u0424\u0438\u043b\u043e\u0441\u043e\u0444\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0432\u0435\u0449\u0435\u0439<\/h2>\n<p>  \u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0432 \u043e\u0431\u0449\u0435\u043c \u043f\u0440\u043e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439, \u0442\u043e \u043c\u044b \u0431\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u043b\u0438 2 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0439.  <\/p>\n<ol>\n<li>\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u201c\u0432\u0435\u0449\u0430\u043c\u0438\u201d. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0434\u0432\u0435\u0440\u0435\u0439, \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0445\u0440\u0430\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0438\u043b\u0438 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0441\u0432\u0435\u0449\u0435\u043d\u0438\u044f.<\/li>\n<li>\u0421\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432, \u0430\u043d\u0430\u043b\u0438\u0437 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u0443\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c, \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c, \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. <\/li>\n<\/ol>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0432 \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0441\u0441\u0430 IoT \u0431\u0443\u0434\u0443\u0442 \u043d\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e \u0438\u0437 \u0434\u0432\u0443\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439, \u0430 \u0441\u043e\u0447\u0435\u0442\u0430\u0442\u044c \u0438\u0445. \u041e\u0434\u043d\u0430\u043a\u043e 2-\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043f\u043e\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c \u0434\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u0430, \u0442.\u0435. \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u0432 online-\u0440\u0435\u0436\u0438\u043c\u0435 \u0437\u0430 \u043f\u043e\u043b\u0442\u043e\u0440\u0430 \u0447\u0430\u0441\u0430. <\/p>\n<p>  \u0410 \u0432\u043e\u0442 \u0447\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e, \u0442\u043e \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043e\u043f\u044b\u0442\u0430 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0442\u0430\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043c\u044b \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u043c\u043e\u0433\u043b\u0438 \u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0432 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435.  <\/p>\n<ol>\n<li>\u0415\u0441\u0442\u044c, \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043d\u0430\u044f \u043b\u0430\u043c\u043f\u0430. \u041b\u0430\u043c\u043f\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u043d\u0430 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0442\u043e\u0433\u043e \u0434\u043e\u043b\u0436\u043d\u0430 \u043b\u0438 \u043e\u043d\u0430 \u0433\u043e\u0440\u0435\u0442\u044c \u0438\u043b\u0438 \u043d\u0435\u0442.<\/li>\n<li>\u0415\u0441\u0442\u044c, \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u201c\u0436\u0438\u0432\u0435\u0442\u201d \u0432 AWS (Amazon Web Services). \u0425\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0441\u0435\u0431\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u201c\u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430\/\u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430\u201d, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 API, \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f<\/li>\n<li>\u0415\u0441\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u044d\u0442\u0438\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c.<\/li>\n<\/ol>\n<p>  \u0420\u0435\u0431\u044f\u0442\u0430 \u0438\u0437 .NET \u0432\u0437\u044f\u043b\u0438 \u043d\u0430 \u0441\u0435\u0431\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u043f\u0430\u0440\u043d\u0438 \u0438\u0437 Java \u2013 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443 \u043d\u0430 Amazon, \u0430 \u043d\u0430\u0448\u0438 \u00ab\u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435\u00bb \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u2013 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. <\/p>\n<p>  \u0412 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u044d\u0442\u043e \u0437\u0432\u0443\u0447\u0430\u043b\u043e \u0442\u0430\u043a:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/97e\/f7b\/4fa\/97ef7b4fac6d4fc08dce63531f26af74.jpg\"\/><\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 3. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043d\u0435\u0439 \u0434\u043e \u0434\u043d\u044f \u0414.<\/h2>\n<p>  \u0414\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u0442\u0435\u043d\u0434\u043e\u0432\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u0432\u0430\u0439\u0441. \u041c\u044b \u043d\u0435 \u043f\u043e\u043b\u0435\u043d\u0438\u043b\u0438\u0441\u044c \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0435\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u043d\u044b\u043c \u0432 \u0441\u0442\u0438\u043c\u043f\u0430\u043d\u043a\u043e\u0432\u0441\u043a\u043e\u043c \u0441\u0442\u0438\u043b\u0435 \u2013 \u0441\u043e\u0441\u0442\u0430\u0440\u0438\u043b\u0438 \u0434\u0435\u0440\u0435\u0432\u044f\u043d\u043d\u0443\u044e \u043a\u043e\u0440\u043e\u0431\u043a\u0443 \u0438 \u043d\u0430\u0448\u043b\u0438 \u0432\u0438\u043d\u0442\u0430\u0436\u043d\u044b\u0435 \u043b\u0430\u043c\u043f\u044b. <\/p>\n<p>  \u041f\u0430\u0440\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0438 \u0432\u0435\u0447\u0435\u0440\u043e\u0432 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0433\u043e\u0442\u043e\u0432\u043e, \u0438 \u0441\u0442\u0438\u043b\u044c\u043d\u044b\u0439 \u0434\u0435\u0432\u0430\u0439\u0441 \u0441\u043e\u0431\u0440\u0430\u043d \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<br \/>  <iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/2zyyPId5eH4?feature=oembed\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>  \u041f\u0430\u0440\u0430 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0434\u043d\u0435\u0439 \u0441\u0432\u0435\u0440\u0445\u0443 \u0438 \u0443 \u043d\u0430\u0441 \u0433\u043e\u0442\u043e\u0432\u044b \u043a\u0440\u0443\u0442\u044b\u0435 \u0434\u0438\u0437\u0430\u0439\u043d\u044b \u043f\u043b\u0430\u043a\u0430\u0442\u043e\u0432, \u0431\u0443\u043a\u043b\u0435\u0442\u043e\u0432, \u0441\u0442\u0435\u043d\u0434\u0430 \u0438 \u0444\u0443\u0442\u0431\u043e\u043b\u043e\u043a.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/388\/032\/383\/3880323835754b2aa9ec93eb079f6426.jpg\"\/><\/p>\n<p>  \u041a\u0430\u043a \u043b\u044e\u0434\u0438 \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043e\u0442\u0440\u0435\u043f\u0435\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u0448 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u044e, \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u0432\u0441\u0435\u0445 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u0438 \u0443\u0441\u0442\u0440\u043e\u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u043e\u043d. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u0430 \u0431\u044b\u043b\u0430 \u0442\u0430\u043a\u0430\u044f: \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u043a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u043f\u0438\u0448\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443, \u043f\u0438\u0448\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436 \u0438 \u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0437\u0430\u0436\u0438\u0433\u0430\u0435\u043c \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443. <br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/02b\/067\/5c5\/02b0675c5a2d4e049af7594bdd311f68.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/70d\/c38\/953\/70dc38953fe34b1a876c59d0190a8998.jpg\"\/><\/p>\n<p>  \u0412 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0435\u0445 \u043f\u0440\u043e\u0433\u043e\u043d\u043e\u0432 \u043c\u044b \u043d\u0430\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u0439 \u0442\u0430\u0439\u043c\u0438\u043d\u0433, \u043e\u0442\u0448\u043b\u0438\u0444\u043e\u0432\u0430\u043b\u0438 \u043a\u043e\u0434 \u0438 \u0442\u0435\u043a\u0441\u0442 \u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b\u0438 \u043f\u0430\u0440\u0443 \u043a\u0430\u0432\u0435\u0440\u0437\u043d\u044b\u0445 \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u0432 \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432.<\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 4. \u0417\u0430\u0437\u044b\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f. \u0414\u0435\u043d\u044c \u0414. \u0421\u0442\u0435\u043d\u0434\u043e\u0432\u0430\u044f \u0441\u0435\u0441\u0441\u0438\u044f<\/h2>\n<p>  \u0421 \u0443\u0442\u0440\u0430 \u043c\u044b \u043e\u0434\u043d\u0438 \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 \u041d\u0413\u0423, \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0441\u0442\u0435\u043d\u0434, \u0443\u0431\u0440\u0430\u043b\u0438 \u0443\u043d\u044b\u043b\u044b\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0441\u0442\u043e\u043b \u0438 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u0430\u0448\u0443 \u0444\u0438\u0440\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0443\u043c\u0431\u0443 \u0438 \u043d\u0430 \u043d\u0435\u0435 \u043f\u0440\u044f\u043c \u0432 \u0446\u0435\u043d\u0442\u0440\u0435 \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u0430\u0448 \u0434\u0435\u0432\u0430\u0439\u0441. \u041e\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0441\u044f \u0433\u0440\u043e\u043c\u0430\u0434\u043d\u044b\u043c \u0443\u0441\u043f\u0435\u0445\u043e\u043c. \u041d\u0430 \u043d\u0435\u0433\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u2013 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u044b, \u043f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0438, \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u044b, \u043a\u043e\u043d\u043a\u0443\u0440\u0435\u043d\u0442\u044b \u0438 \u0434\u0430\u0436\u0435 \u043e\u0445\u0440\u0430\u043d\u043d\u0438\u043a\u0438. \u041d\u0430\u0448\u0438 \u0431\u0443\u043a\u043b\u0435\u0442\u044b \u0438 \u0434\u0435\u0432\u0430\u0439\u0441 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u2013 \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 \u043f\u043e\u043b\u043d\u0443\u044e \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u044e \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0434\u0435\u043d\u044c!<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/6e1\/fdd\/c1a\/6e1fddc1ab9c4dd29cc41960df6fa5a7.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/bf8\/96f\/c75\/bf896fc75e3d4a7eb2500ce2e550eabe.jpg\"\/><\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 5. \u0413\u0435\u0440\u043e\u0438\u0447\u0435\u0441\u043a\u0430\u044f. \u0414\u0435\u043d\u044c \u0414+1. \u041c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441.<\/h2>\n<p>  \u0418 \u0432\u043e\u0442 \u043d\u0430\u0441\u0442\u0430\u043b \u0434\u0435\u043d\u044c \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u0430. \u041c\u044b \u043f\u0440\u0438\u0435\u0445\u0430\u043b\u0438 \u0432 \u041d\u0413\u0423 \u0438 \u0442\u0443\u0442 \u043c\u044b \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u043a\u0430\u043a \u043d\u0435 \u0433\u043e\u0442\u043e\u0432\u044c\u0441\u044f, \u0430 \u0432 \u0442\u0430\u043a\u0438\u0445 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u044f\u0445 \u0431\u0435\u0437 \u0437\u0430\u0442\u044b\u043a\u043e\u0432 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442. \u041f\u043e\u043b\u043d\u0430\u044f \u0430\u0443\u0434\u0438\u0442\u043e\u0440\u0438\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432, \u0430 \u0443 \u043d\u0430\u0441 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u0442\u0441\u044f Mac \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440\u0443, \u043d\u0435 \u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0435\u0432\u0430\u0439\u0441\u044b \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u043e\u0432\u0441\u043a\u0438\u0439 Wi-Fi \u0438 \u0434\u0430\u0436\u0435 \u0410\u043c\u0430\u0437\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u0435 \u043e\u0431\u043b\u0430\u043a\u0430 \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0432\u0441\u0442\u0430\u0442\u044c \u0432 \u043f\u043e\u0437\u0443 \u0438 \u043d\u0435 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u043d\u0430\u0448\u0438 5 \u0440\u0430\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u041d\u043e \u043d\u0435 \u0437\u0440\u044f \u043c\u044b \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0434\u0440\u0438\u043c-\u0442\u0438\u043c \u0438 \u0432\u0441\u0435 \u0431\u044b\u043b\u043e \u043f\u043e\u0440\u0435\u0448\u0430\u043d\u043e \u00ab\u043d\u0430 \u043b\u0435\u0442\u0443\u00bb \u043d\u0435 \u0432\u044b\u043f\u0430\u0434\u0430\u044f \u0438\u0437 \u043e\u0431\u0449\u0435\u0433\u043e \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0430 \u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041f\u041e.<\/p>\n<p>  \u041c\u044b \u0434\u0430\u043b\u0438 \u043e\u0431\u0449\u0443\u044e \u0432\u0432\u043e\u0434\u043d\u0443\u044e \u043f\u0440\u043e \u043d\u0430\u0448\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u0432\u0435\u0449\u0435\u0439 \u0438 \u043a\u0430\u043a \u043c\u044b \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c. \u0417\u0430\u0442\u0435\u043c \u043f\u043e \u0448\u0430\u0433\u0430\u043c \u043f\u0440\u043e\u0448\u043b\u0438 \u0432\u0441\u0435 \u0441\u0442\u0430\u0434\u0438\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0440\u0430\u0437\u0434\u0430\u0432\u0430\u044f \u0441\u0443\u0432\u0435\u043d\u0438\u0440\u044b \u0438 \u0431\u0440\u0435\u043d\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u0440\u0443\u0436\u043a\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c, \u0443\u043c\u043d\u044b\u043c \u0438 \u0445\u0438\u0442\u0440\u044b\u043c \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c. \u0425\u0438\u0442\u0440\u044b\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043d\u0430\u0441 \u0445\u0430\u043a\u043d\u0443\u0442\u044c, \u0438 \u043f\u043e\u0434\u0445\u043e\u0434 \u0431\u044b\u043b \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043f\u043b\u043e\u0445, \u0437\u0430 \u0447\u0442\u043e \u0431\u044b\u043b\u0438 \u043d\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043d\u044b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e :).<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c4d\/64e\/bc3\/c4d64ebc36a841f18faaf9502e868ea2.jpg\"\/><\/p>\n<p>  \u0414\u0430, \u044d\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043b\u043e \u0445\u0440\u0435\u0441\u0442\u043e\u043c\u0430\u0442\u0438\u0439\u043d\u043e\u0435 \u043a\u0438\u043d\u043e\u0448\u043d\u043e\u0435 \u043f\u0440\u043e\u0432\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0432\u0438\u0434\u0430\u043d\u0438\u0435, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u0441\u0435 \u0438\u0434\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u043d\u043e \u0444\u0438\u043d\u0430\u043b, \u043a\u0430\u043a \u0438 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043e \u043f\u043e \u0436\u0430\u043d\u0440\u0443, \u0431\u044b\u043b \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u044b\u043c. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043e, \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b \u0432 \u043e\u0431\u043b\u0430\u043a\u0435, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0430\u043b\u043e \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u0438 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 \u0437\u0430\u0436\u0433\u043b\u0430\u0441\u044c \u0432 \u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0442\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f. \u0421\u0442\u0443\u0434\u0435\u043d\u0442\u044b \u0440\u0430\u0437\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u043d\u0430\u0448\u0443 \u00ab\u0434\u0443\u0448\u0443\u00bb \ud83d\ude09 \u0438 \u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043d\u0430\u043c \u00ab\u0434\u0430\u00bb, \u043e\u0441\u0442\u0430\u0432\u0448\u0438\u0441\u044c \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u0442\u044c \u0441 \u043d\u0430\u0448\u0438\u043c\u0438 \u0440\u0435\u0431\u044f\u0442\u0430\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438. <br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/25b\/1dd\/a53\/25b1dda53f4b491d99b490c0fce9f4cf.jpg\"\/><\/p>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u043a \u0441\u0430\u043c\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c\u0443 \u0434\u043b\u044f \u0445\u0430\u0431\u0440\u0430\u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u0439 \u2013 \u043a \u043a\u043e\u0434\u0443.<\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 6. \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f<\/h2>\n<p>  \u0418\u0442\u0430\u043a, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043d\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 3-\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e9a\/822\/d8e\/e9a822d8e8a44b338a480470d2f3aa7b.png\"\/>  <\/p>\n<ol>\n<li>\u041c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\/\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443. \u042d\u0442\u043e\u0442 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438 \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0422\u0443\u0442 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u044b \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u043a\u0438\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c Push, \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0430\u0432. \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e WebSocket. \u041e\u0434\u043d\u0430\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u043b\u043e\u0436\u0438\u0442\u044c\u0441\u044f \u0432 \u0441\u0442\u043e\u043b\u044c \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043a\u0430\u043a \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441, \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443.<\/li>\n<li>RESTfull Service \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u00ab\u0445\u043e\u0441\u0442\u0438\u0442\u0441\u044f\u00bb \u0432 AWS, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0430 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c.<\/li>\n<li>\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438.<\/li>\n<\/ol>\n<h3>6.1. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440.<\/h3>\n<p>  \u0421\u0435\u0440\u0434\u0446\u0435\u043c \u043d\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0430 NodeMCU \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 ESP8266. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/b64\/a36\/108\/b64a361084eb4bffa7b27349b07ba5e9.jpg\"\/><br \/>  \u0418\u0437 \u0432\u0441\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u044d\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u044b, \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 Wi-Fi \u0438 GPIO \u2014 \u0432\u0432\u043e\u0434\u044b\/\u0432\u044b\u0432\u043e\u0434\u044b \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u0422\u0430\u043a\u0436\u0435, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u043d\u0435\u0442\u0443 \u041e\u0421 \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u043c \u0435\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C\/C++, Lua, JavaScript \u0438 MicroPython. <\/p>\n<p>  \u041c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435 SMART.JS, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 JavaScript. \u0418\u0437 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e http-\u043a\u043b\u0438\u0435\u043d\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/1b9\/7b2\/f30\/1b97b2f307f0425bafbb5504382a5ec0.jpg\"\/><\/p>\n<p>  \u041d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0432\u044b\u0432\u043e\u0434 \u043d\u043e\u043c\u0435\u0440 5 (GPIO5). \u042d\u0442\u043e \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0432\u044b\u0432\u043e\u0434. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0443 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u201c0\u201d \u0438\u043b\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u201c1\u201d. \u041f\u0440\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u043c 0 \u0440\u0435\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u043f\u0440\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 1 \u2013 \u0440\u0435\u043b\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0438 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u0433\u043e\u0440\u0435\u0442\u044c.<\/p>\n<p>  \u041f\u0440\u0435\u0440\u0435\u043a\u0432\u0438\u0437\u0438\u0442\u044b:<br \/>  1. SMART.JS \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f: <a href=\"https:\/\/docs.cesanta.com\/smartjs\/latest\/\">docs.cesanta.com\/smartjs\/latest<\/a> <br \/>  2. SMART.JS \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430: <a href=\"https:\/\/github.com\/cesanta\/smart.js\">github.com\/cesanta\/smart.js<\/a> <br \/>  3. FNC (\u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043e\u043a \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043d\u0430 JavaScript): <a href=\"https:\/\/github.com\/cesanta\/fnc\">github.com\/cesanta\/fnc<\/a><br \/>  4. Virtual COM port drivers: <a href=\"https:\/\/www.silabs.com\/products\/mcu\/Pages\/USBtoUARTBridgeVCPDrivers.aspx\">www.silabs.com\/products\/mcu\/Pages\/USBtoUARTBridgeVCPDrivers.aspx<\/a><br \/>  5. \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441: \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430 GET \u0437\u0430\u043f\u0440\u043e\u0441 \u0432\u044b\u0434\u0430\u0435\u0442 JSON \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435:   <\/p>\n<pre><code>{      \u201cresource_name\u201d:  true\/false       \u2026 } <\/code><\/pre>\n<p>  \u0418\u0442\u0430\u043a, \u043a \u0434\u0435\u043b\u0443. <\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u043d\u0430\u0448\u0443 \u043f\u043b\u0430\u0442\u0443 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 SMART.JS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b FNC. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0443 \u043d\u0430\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0442\u043e\u0447\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0442\u044c SMARTJS_???? (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, SMARTJS_FA352), \u043f\u0430\u0440\u043e\u043b\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 FNC. <\/p>\n<p>  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043a \u0442\u043e\u0447\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0430\u0434\u0440\u0435\u0441 192.168.4.1. \u0423 \u043d\u0430\u0441 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u044b \u0432\u0432\u043e\u0434\u0438\u043c SSID \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f, \u0438 \u043c\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/97d\/783\/e9e\/97d783e9e03b43f780631f8f252e250f.jpg\"\/><\/p>\n<p>  \u0411\u0435\u0440\u0435\u043c \u0432\u0430\u0448 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0439 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b app.js. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0432 \u043d\u0430\u0448\u0443 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0432\u044b\u0432\u043e\u0434, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u0440\u0435\u043b\u0435, \u0438 \u0438\u043c\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u0430, \u0430\u0441\u0441\u043e\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u043e\u0439:  <\/p>\n<pre><code>console.log('device started.'); var pin = 5; var resource = 'light01'; <\/code><\/pre>\n<p>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448 \u0432\u044b\u0432\u043e\u0434 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 0:  <\/p>\n<pre><code>GPIO.setmode(pin, 0, 0); GPIO.write(pin, false); <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c callback-\u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043d\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code>Wifi.changed(changedFunc); <\/code><\/pre>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u041f\u043e\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0432\u0435\u0434\u0435\u043c \u0435\u0433\u043e \u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0430:  <\/p>\n<pre><code>function changedFunc(state) {     console.log('Wifi state: ', state, Wifi.status()); } <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0443 \u201cgot ip\u201d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u0434 2. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043a \u0441\u0435\u0442\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443:  <\/p>\n<pre><code>function changedFunc(state) {     console.log('Wifi state: ', state, Wifi.status());     if (state == 2) {         mainFunc();     } }  function mainFunc() {     Http.request({         hostname: 'ngurestexample.us-east-1.elasticbeanstalk.com',         port: 80,         path: '\/',         method: 'GET'     }, function (response){         console.log(response.body);       })     .end()     .setTimeout(5000, function(){         console.log('timeout error');     }); } <\/code><\/pre>\n<p>  \u041d\u0430\u043c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043e\u0442\u0432\u0435\u0442 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438: {\u201clight01\u201d: false}. \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0435\u0433\u043e \u0432 JS \u043e\u0431\u044a\u0435\u043a\u0442 \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0432\u044b\u0432\u043e\u0434\u0435 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u0430:  <\/p>\n<pre><code>var states = JSON.parse(response.body); GPIO.write(pin, !!states[resource]); <\/code><\/pre>\n<p>  \u041d\u0443, \u0438 \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u043b\u043e \u0441\u0435\u0440\u0432\u0438\u0441, \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 mainFunc \u0447\u0435\u0440\u0435\u0437 setTimeout \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u0442\u0432\u0435\u0442\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0438 \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:  <\/p>\n<pre><code>setTimeout(mainFunc, 1000); <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0433\u043e\u0442\u043e\u0432\u043e \u043a \u0440\u0430\u0431\u043e\u0442\u0435.<\/p>\n<h3>6.2. \u0421\u043b\u0443\u0436\u0431\u0430 \u0432 AWS<\/h3>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d49\/ba1\/8a4\/d49ba18a42154357941b44445034c609.jpg\"\/><br \/>  Elastic Beanstalk \u2013 \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 AWS \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0415\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0430\u0435\u0442 \u043d\u0430\u0441 \u043e\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435. \u0421\u0435\u0440\u0432\u0438\u0441 \u043d\u0430 \u0432\u044b\u0431\u043e\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445. \u0412\u0441\u0435, \u0447\u0442\u043e \u043e\u0442 \u043d\u0430\u0441 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u2013 \u044d\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u043d\u0442\u0443\u0438\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 UI. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0435\u0440\u0432\u0438\u0441 Beanstalk. \u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c URL, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043f\u043e HTTP. <\/p>\n<p>  \u0412\u044b\u0431\u0435\u0440\u0435\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 Tomcat (\u0441\u0435\u0440\u0432\u043b\u0435\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440) \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e:   <\/p>\n<ul>\n<li>\u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 Amazon Linux; <\/li>\n<li>\u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043c \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0442.\u043a. \u043e\u043d \u043d\u0430\u043c \u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f; <\/li>\n<li>\u0432\u044b\u0431\u0435\u0440\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 t1.micro.<\/li>\n<\/ul>\n<p>  \u042d\u0442\u0438 \u0436\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0445:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4dc\/c68\/11f\/4dcc6811f3a64d20a3eac4dbcd395ca3.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/078\/bab\/9db\/078bab9db0f14c97833fe10f82b00a9c.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/dfe\/c6b\/162\/dfec6b16201a4eb698ce35c9d3a21874.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9b4\/fc5\/f46\/9b4fc5f46d294ca18ee59d11066fae7a.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c2b\/232\/724\/c2b23272448b4333986ce30399cb7b7a.jpg\"\/><\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u044d\u0442\u043e\u0433\u043e Beanstalk \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c:   <\/p>\n<ul>\n<li>\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 JVM) \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f; <\/li>\n<li>\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 CloudWatch; <\/li>\n<li>\u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435; <\/li>\n<\/ul>\n<p>  \u041f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. <\/p>\n<p>  \u0426\u0435\u043b\u044c \u2014 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u044b \u043c\u043e\u0433\u043b\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043b\u0430\u043c\u043f\u043e\u0447\u0435\u043a (off\/on) \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u044d\u0442\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u041a\u043b\u0438\u0435\u043d\u0442\u044b \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 (\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 REST. <br \/>  \u041a\u0430\u043a \u0438\u0442\u043e\u0433 \u043d\u0430\u0448\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 REST API:   <\/p>\n<ul>\n<li>[get] &quot;\/&quot; \u2013 \u0432\u0435\u0440\u043d\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043b\u0430\u043c\u043f\u043e\u0447\u0435\u043a. \u041f\u0440\u0438\u043c\u0435\u0440: { \u00ab\u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430-1\u00bb: false, \u201c\u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430-2&quot;: true } <\/li>\n<li>[get] &quot;\/{resource}&quot; \u2013 \u0432\u0435\u0440\u043d\u0451\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438 <\/li>\n<li>[delete] &quot;\/{resource}&quot; \u2013 \u0443\u0434\u0430\u043b\u0438\u0442 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043b\u0430\u043c\u043f\u043e\u0447\u0435\u043a <\/li>\n<li>[put] &quot;\/{resource}&quot; \u2013 \u043e\u0431\u043d\u043e\u0432\u0438\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438 <\/li>\n<li>[post] &quot;\/{resource}&quot; \u2013 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043d\u043e\u0432\u0443\u044e \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443 <\/li>\n<\/ul>\n<p>  \u041f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043d\u0430 Java, \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Maven\u2019\u0430, \u0430 \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 resteasy. <\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Maven \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438<br \/>  [ <a href=\"https:\/\/github.com\/EBTRussia\/nsucareerdays2016\/edit\/master\/cloud\/sample-web-app-rest\">github.com\/EBTRussia\/nsucareerdays2016\/edit\/master\/cloud\/sample-web-app-rest<\/a>]easy\/pom.xml ]:<br \/>  resteasy-jaxrs \u2013 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 jaxrs <br \/>  resteasy-servlet-initializer \u2013 \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0442\u043e\u043c\u043a\u0430\u0442\u043e\u043c<br \/>  resteasy-jackson2-provider \u2013 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 json <\/p>\n<p>  \u041f\u043e\u0447\u0435\u043c\u0443 resteasy. \u0412 \u043c\u0438\u0440\u0435 Java \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c rest-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (Jersey, Spring, Spark, \u0438 \u0442.\u0434.). \u041c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u043e\u0434\u0438\u043d \u0438\u0437 \u043d\u0438\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a \u0441\u043b\u043e\u0432\u0443 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 WildFly. <\/p>\n<p>  [ <a href=\"https:\/\/github.com\/EBTRussia\/nsucareerdays2016\/blob\/master\/cloud\/sample-web-app-resteasy\/src\/main\/java\/ru\/ebt\/LightAppController.java\">github.com\/EBTRussia\/nsucareerdays2016\/blob\/master\/cloud\/sample-web-app-resteasy\/src\/main\/java\/ru\/ebt\/LightAppController.java<\/a> ]   <\/p>\n<pre><code>@Path(&quot;\/&quot;) @Produces(MediaType.APPLICATION_JSON) public class LightAppController { \tprivate ConcurrentMap&lt;String, Boolean&gt; resource = new ConcurrentHashMap&lt;&gt;();  \t@GET \tpublic Map getAll() {    \treturn resource; \t}  \t@GET \t@Path(&quot;\/{resource}&quot;) \tpublic Boolean get(@PathParam(&quot;resource&quot;) String r) {    \treturn resource.get(r); \t}  \t@PUT \t@Path(&quot;\/{resource}&quot;) \tpublic Boolean put(@PathParam(&quot;resource&quot;) String r, Boolean status) {    \tif (resource.containsKey(r)) {        \t\tresource.put(r, status);        \t\treturn status;    \t}    \tthrow new WebApplicationException(Response.Status.NOT_FOUND); \t}  \t@POST \t@Path(&quot;\/{resource}&quot;) \tpublic Boolean post(@PathParam(&quot;resource&quot;) String r, Boolean status) {    \t\tresource.put(r, status);    \t\treturn status; \t}  \t@DELETE \t@Path(&quot;\/{resource}&quot;) \tpublic void delete(@PathParam(&quot;resource&quot;) String r) {    \t\tresource.remove(r); \t} } <\/code><\/pre>\n<p>   <a href=\"https:\/\/habrahabr.ru\/users\/get\/\" class=\"user_link\">GET<\/a>,  <a href=\"https:\/\/habrahabr.ru\/users\/put\/\" class=\"user_link\">PUT<\/a>,   <a href=\"https:\/\/habrahabr.ru\/users\/post\/\" class=\"user_link\">POST<\/a>,  <a href=\"https:\/\/habrahabr.ru\/users\/delete\/\" class=\"user_link\">DELETE<\/a> \u2013 \u0410\u043d\u043e\u0442\u0430\u0446\u0438\u0438 \u0438\u0437 JAX-RS, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043a\u0430\u043a\u0438\u043c\u0438 http \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u043d\u0430\u0448\u0438\u043c\u0443 api <\/p>\n<p>   <a href=\"https:\/\/habrahabr.ru\/users\/path\/\" class=\"user_link\">Path<\/a>(&quot;\/{resource}&quot;) &#038;   @PathParam(\u00abresource\u00bb) \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 URL \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a api \u0438 \u043a\u0430\u043a\u0443\u044e \u0447\u0430\u0441\u0442\u044c URL \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0432 \u043b\u043e\u0433\u0438\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, resource \u2014 \u0438\u043c\u044f\/id \u0434\u043b\u044f \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u043b\u0430\u043c\u043f \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c ConcurrentHashMap [ <a href=\"https:\/\/docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/concurrent\/ConcurrentHashMap.html\">docs.oracle.com\/javase\/8\/docs\/api\/java\/util\/concurrent\/ConcurrentHashMap.html<\/a> ], \u043f\u043e\u0442\u043e\u043a\u043e\u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044c \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. <\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043c \u043d\u0430\u0448 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 \u0432 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 rest-\u0441\u0435\u0440\u0432\u0438\u0441. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 BaseApplication, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u043c \u043e\u0442 javax.ws.rs.core.Application. \u0412\u043d\u0443\u0442\u0440\u0438 \u043c\u0435\u0442\u043e\u0434\u0430 getSingletons() \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0438\u043c \u0432\u0441\u0435 \u043a\u043b\u0430\u0441\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 REST \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438.   <\/p>\n<pre><code>@ApplicationPath(&quot;&quot;) public class BaseApplication extends Application { \t@Override \tpublic Set&lt;Object&gt; getSingletons() {    \tHashSet&lt;Object&gt; objects = new HashSet&lt;&gt;();    \tobjects.add(new LightAppController());    \treturn objects; \t} } <\/code><\/pre>\n<p>  \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u0418\u0434\u0451\u043c \u0432 \u0440\u0443\u0442\u043e\u0432\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443:   <\/p>\n<pre><code>mvn clean install<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0438\u0434\u0451\u043c \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0443\u044e maven\u2019\u043e\u043c \u043f\u0430\u043f\u043a\u0443 target \u0438 \u0437\u0430\u0431\u0435\u0440\u0430\u0435\u043c *.war \u0444\u0430\u0439\u043b, \u0434\u0435\u043f\u043b\u043e\u0438\u043c \u0435\u0433\u043e \u043d\u0430 \u0442\u043e\u043c\u043a\u0430\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 BeansTalk. <\/p>\n<p>  \u041f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0436\u043c\u0451\u043c \u043a\u043d\u043e\u043f\u043a\u0443 \u0438 \u0432\u0441\u0451 \u0434\u043e\u043b\u0436\u043d\u043e \u0432\u0437\u043b\u0435\u0442\u0435\u0442\u044c:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9df\/2cc\/60b\/9df2cc60bcdd4d0fb736f847128e561e.jpg\"\/><\/p>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0447\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:  <\/p>\n<ol>\n<li>\u0414\u0435\u0440\u0433\u0430\u0435\u043c URL \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u043e\u0434\u043e\u043c get [http:\/\/\u043a\u0430\u043a\u043e\u0439\u0442\u043e.\u0430\u0434\u0440\u0435\u0441\/ ] \u0438 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u043f\u0443\u0441\u0442\u043e\u0439 json: {}<\/li>\n<li>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043b\u044e\u0431\u043e\u0433\u043e REST \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u043c\u0435\u0442\u043e\u0434\u043e\u043c POST [http:\/\/\u043a\u0430\u043a\u043e\u0439\u0442\u043e.\u0430\u0434\u0440\u0435\u0441\/light01 ] \u0432 \u0442\u0435\u043b\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043f\u0438\u0448\u0435\u043c true<\/li>\n<li>\u0418 \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 \u0437\u0430\u0433\u043e\u0440\u0435\u043b\u0430\u0441\u044c) (\u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0451 \u0440\u0430\u0437 \u0434\u0451\u0440\u043d\u0443\u0442\u044c get \u201c\/\u201d \u0438 \u0432 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043c {\u201clight01\u201d: true})<\/li>\n<\/ol>\n<h3>6.3. Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/h3>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2b3\/ac9\/1de\/2b3ac91deaec42baaa2ad4dcbf974a50.jpg\"\/><\/p>\n<p>  <b>\u0428\u0430\u0433 0. \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439<\/b><br \/>  \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 Gradle. \u0412 \u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0435 build.gradle \u043c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u043f\u0440\u043e\u0441\u0442\u044f\u0442 \u043d\u0430\u043c \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0434\u0430, \u0438 \u0436\u0438\u0437\u043d\u044c:  <\/p>\n<pre><code>dependencies {    compile 'com.jakewharton:butterknife:7.0.1'    compile 'com.squareup.retrofit2:retrofit:2.0.0'    compile 'com.squareup.retrofit2:converter-gson:2.0.0' } <\/code><\/pre>\n<p>  \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Butterknife \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043d\u0430\u043c \u043f\u0440\u043e\u0449\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0430 Retrofit \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 HTTP \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0435\u0441\u043b\u0438 \u0432\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 REST-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c.<\/p>\n<p>  <b>\u0428\u0430\u0433 1. \u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441<\/b><br \/>  \u041d\u0430 \u043f\u0443\u0441\u0442\u043e\u0439 \u044d\u043a\u0440\u0430\u043d (activity) \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 Switch, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u0430\u043a \u043d\u0438\u043a\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u043e\u0439, \u043f\u043e\u0447\u0442\u0438 \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c:  <\/p>\n<pre><code>&lt;Switch        android:id=&quot;@+id\/light_switch&quot;        android:layout_width=&quot;match_parent&quot;        android:layout_height=&quot;wrap_content&quot;        android:text=&quot;\u041b\u0430\u043c\u043f\u043e\u0447\u043a\u0430&quot;\/&gt; <\/code><\/pre>\n<p>  \u041c\u044b \u0434\u0430\u043b\u0438 \u043d\u0430\u0448\u0435\u043c\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0443 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0438\u043c\u044f light_switch \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0434\u0435\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c \u0432 \u043a\u043e\u0434 \u043d\u0430\u0448\u0435\u0439 activity:  <\/p>\n<pre><code>public class MainActivity extends AppCompatActivity {     @Bind(R.id.light_switch) SwitchCompat lightSwitch;     @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);    }     @OnClick(R.id.light_switch)    void onLightSwitchClicked(Switch lightSwitch) {        boolean checked = lightSwitch.isChecked();        Toast.makeText(this, &quot;Switch checked = &quot; + checked, Toast.LENGTH_SHORT).show();    }  } <\/code><\/pre>\n<p>  \u041c\u044b \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0434\u0432\u0443\u043c\u044f \u0430\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f\u043c\u0438 \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 ButterKnife:  <a href=\"https:\/\/habrahabr.ru\/users\/bind\/\" class=\"user_link\">Bind<\/a> \u0438  <a href=\"https:\/\/habrahabr.ru\/users\/onclick\/\" class=\"user_link\">OnClick<\/a>. \u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0448 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c, \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432 xml-\u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0435 \u0441 \u0442\u0435\u043c \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u043c, \u0447\u0442\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u0432 \u043a\u043e\u0434\u0435. \u0412\u0442\u043e\u0440\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043c\u0435\u0442\u043e\u0434 onLightSwitchClicked() \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043a\u043b\u0438\u043a\u0430 \u043f\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044e.<\/p>\n<p>  <b>\u0428\u0430\u0433 2. HTTP-\u043a\u043b\u0438\u0435\u043d\u0442<\/b><br \/>  \u0421\u043e\u0437\u0434\u0430\u0442\u044c http-\u043a\u043b\u0438\u0435\u043d\u0442 \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e, \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0431\u0435\u0433\u043d\u0443\u0442\u044c \u043a \u043f\u043e\u043c\u043e\u0449\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 retrofit. \u041d\u0443\u0436\u043d\u043e \u043b\u0438\u0448\u044c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043d\u0451\u043c \u0432\u0441\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0435\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432 retrofit, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.  <\/p>\n<pre><code>public interface WebApi {     @GET(&quot;\/&quot;)    Call&lt;Map&lt;String, Boolean&gt;&gt; list();     @POST(&quot;\/{resource}&quot;)    Call&lt;Boolean&gt; switchBulb(@Path(&quot;resource&quot;) String resource, @Body Boolean enabled); } <\/code><\/pre>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0432\u0441\u0435\u0433\u043e 2 \u043c\u0435\u0442\u043e\u0434\u0430:   <\/p>\n<ul>\n<li>list() \u2014 GET \u0437\u0430\u043f\u0440\u043e\u0441 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u043b\u0430\u043c\u043f\u043e\u0447\u0435\u043a \u0438 \u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0432 \u0432\u0438\u0434\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f &lt;String, Boolean&gt;<\/li>\n<li>switchBulb(&#8230;) \u2014 POST \u0437\u0430\u043f\u0440\u043e\u0441, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0439 (\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0439) \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438:<br \/> \n<pre><code>webApi = new Retrofit.Builder()                .baseUrl(getString(R.string.api_url))                .addConverterFactory(GsonConverterFactory.create())                .build()                .create(WebApi.class); <\/code><\/pre>\n<p>  <\/li>\n<\/ul>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 retrofit \u0441\u0432\u043e\u0439 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 url, \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u043c, \u0447\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043e\u0442\u0432\u0435\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JSON \u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e HTTP-\u043a\u043b\u0438\u0435\u043d\u0442 \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432 \u043a \u0440\u0430\u0431\u043e\u0442\u0435.<\/p>\n<p>  <b>\u0428\u0430\u0433 3. \u0414\u0440\u0443\u0436\u0438\u043c UI \u0438 HTTP-\u043a\u043b\u0438\u0435\u043d\u0442<\/b><br \/>  \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438. \u0421\u0434\u0435\u043b\u0430\u0435\u043c GET-\u0437\u0430\u043f\u0440\u043e\u0441 \u0438 \u043f\u043e\u0438\u0449\u0435\u043c \u0432 \u0432\u0435\u0440\u043d\u0443\u0432\u0448\u0435\u043c\u0441\u044f \u0441\u043b\u043e\u0432\u0430\u0440\u0435 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u201clight01\u201d:  <\/p>\n<pre><code>webApi.list().enqueue(new Callback&lt;Map&lt;String, Boolean&gt;&gt;() {            @Override            public void onResponse(Call&lt;Map&lt;String, Boolean&gt;&gt; call, Response&lt;Map&lt;String, Boolean&gt;&gt; response) {                Boolean light01Enabled = response.body().get(&quot;light01&quot;);                lightSwitch.setChecked(Boolean.TRUE == light01Enabled);            }             @Override            public void onFailure(Call&lt;Map&lt;String, Boolean&gt;&gt; call, Throwable t) {             }        }); <\/code><\/pre>\n<p>  \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0438 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u044f\u0442\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440. \u041c\u044b \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043a\u043b\u0438\u043a\u0430 \u043f\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044e \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0448\u0430\u0433\u0435, \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 http-\u0437\u0430\u043f\u0440\u043e\u0441\u0430:  <\/p>\n<pre><code>@OnClick(R.id.light_switch)    void onLightSwitchClicked(Switch lightSwitch){        boolean checked = lightSwitch.isChecked();        webApi.switchBulb(&quot;light01&quot;, checked).enqueue(new Callback&lt;Boolean&gt;() {            @Override            public void onResponse(Call&lt;Boolean&gt; call, Response&lt;Boolean&gt; response) {                Toast.makeText(MainActivity.this, &quot;Light01 changed&quot;, Toast.LENGTH_SHORT).show();            }             @Override            public void onFailure(Call&lt;Boolean&gt; call, Throwable t) {             }        });    } <\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4c3\/d63\/523\/4c3d635230e1426ab30b56f284024101.jpg\"\/><\/p>\n<p>  \u0418-\u0438-\u0438, \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0430 \u0433\u043e\u0440\u0438!<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d7e\/7a5\/2b0\/d7e7a52b071d41988421aea5cf612273.jpg\"\/><\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 7. \u041a\u043e\u0440\u043e\u0442\u043a\u0430\u044f, \u0437\u0430\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f.<\/h2>\n<p>  \u0421 \u043f\u043e\u043b\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0437\u0434\u0435\u0441\u044c: <a href=\"https:\/\/github.com\/EBTRussia\/nsucareerdays2016\/blob\/master\/hw\/app.js\">github.com\/EBTRussia\/nsucareerdays2016\/blob\/master\/hw\/app.js<\/a><\/p>\n<p>  \u041c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441\u043e\u043c \u0438 \u044d\u0442\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u043c\u044b \u0445\u043e\u0442\u0435\u043b\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u2013 \u043a\u043b\u0430\u0441\u0441\u043d\u044b\u0435 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u043e\u043c \u0443\u0441\u0438\u043b\u0438\u0439. \u041d\u0443\u0436\u043d\u0430 \u0438\u0434\u0435\u044f. \u0414\u0435\u0440\u0437\u0430\u0439\u0442\u0435! \u0418\u043c\u0435\u043d\u043d\u043e \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438 \u043d\u0443\u0436\u043d\u044b\u0445 \u0432\u0435\u0449\u0435\u0439 \u0440\u043e\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0446\u0435\u043b\u044b\u0435 \u043e\u0442\u0440\u0430\u0441\u043b\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0432\u0435\u0449\u0435\u0439.<\/p>\n<p>  \u0418 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0435 \u043a \u043d\u0430\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c :). \u0423 \u043d\u0430\u0441 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u0438\u0432 \u0438 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b. <br \/>  \u0414\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438!               <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/281238\/\"> https:\/\/habrahabr.ru\/post\/281238\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       \u0418\u043b\u0438 \u043a\u0430\u043a \u043c\u044b \u0437\u0430\u0436\u0433\u043b\u0438 \u043b\u0430\u043c\u043f\u043e\u0447\u043a\u0443 \u0441\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0441\u043b\u0443\u0436\u0431\u0443 \u043d\u0430 \u0433\u043b\u0430\u0437\u0430\u0445 \u0438\u0437\u0443\u043c\u043b\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u041d\u0413\u0423. <br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/607\/3b0\/24a\/6073b024a37f42e981bb9a652227523d.jpg\"\/><br \/>  <i>\u041f\u043e\u043b\u043d\u043e\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043c\u044b \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0432\u043d\u0438\u0437\u0443, \u0430 \u043d\u0430\u0447\u043d\u0435\u043c \u0441 \u043b\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u043e-\u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u043b\u043e\u0433\u0430. <\/i><\/p>\n<h2>\u0413\u043b\u0430\u0432\u0430 1. \u041b\u0438\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f <\/h2>\n<p>  \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u044b\u0441\u0448\u0435\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u041d\u043e\u0432\u043e\u0441\u0438\u0431\u0438\u0440\u0441\u043a\u043e\u043c \u0433\u043e\u0441\u0443\u0434\u0430\u0440\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435. \u041a\u0442\u043e-\u0442\u043e \u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u0434\u0430\u0432\u043d\u043e, \u043a\u0442\u043e-\u0442\u043e 10 \u2013 20 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434, \u0438 \u0432\u0441\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0441 \u0432\u044b\u0431\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0443\u0449\u0435\u0439 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438. \u041d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u043a\u0443\u0440\u0441\u0430\u0445 \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430\u043c\u0438 \u043c\u044b \u0432\u044b\u0431\u0438\u0440\u0430\u043b\u0438 \u043a\u0430\u0444\u0435\u0434\u0440\u0443 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0437\u0430\u0449\u0438\u0449\u0430\u043b\u0438 \u0434\u0438\u043f\u043b\u043e\u043c\u044b. \u0418 \u0431\u044b\u043b\u0430 \u0442\u0430\u043a\u0430\u044f \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u044f \u043a\u0430\u043a \u0414\u043d\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0432 \u0438\u043d\u0441\u0442\u0438\u0442\u0443\u0442\u0430\u0445, \u043b\u0430\u0431\u043e\u0440\u0430\u0442\u043e\u0440\u0438\u044f\u0445 \u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u0445, \u0433\u0434\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438, \u0447\u0435\u043c \u043e\u043d\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f, \u043a\u0430\u043a\u0438\u0435 \u0442\u0435\u043c\u044b \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u044f\u0442 \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0443\u043a\u043e\u0439 \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f\u043c\u0438, \u0438 \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c. <br \/>  \u0427\u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0432 \u0414\u043d\u044f\u0445 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0434\u0432\u0435\u0440\u0435\u0439 \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u0430? \u042d\u0442\u043e \u2013 \u0445\u043e\u0434\u0438\u0442\u044c, \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u043c \u0434\u0435\u043b\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043c\u0443-\u0442\u043e \u043d\u0443\u0436\u043d\u043e.   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-277940","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/277940","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=277940"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/277940\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=277940"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=277940"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=277940"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}