{"id":361503,"date":"2024-05-21T01:15:01","date_gmt":"2024-05-21T01:15:01","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=361503"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=361503","title":{"rendered":"<span>\u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0438 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e: \u043a\u0430\u043a \u044f \u0441\u0434\u0435\u043b\u0430\u043b Nixie Clock \u0441 \u0441\u0430\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u043d\u0430 ESP8266<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/w2\/oh\/xl\/w2ohxlw84b2wzwsl_mm3jp6ojp8.jpeg\" title=\"\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438\" width=\"858\" data-src=\"https:\/\/habrastorage.org\/webt\/w2\/oh\/xl\/w2ohxlw84b2wzwsl_mm3jp6ojp8.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0420\u0430\u0434\u0438\u043e\u043b\u0430\u043c\u043f\u044b, \u0441\u043b\u043e\u0432\u043d\u043e \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e, \u043e\u043b\u0438\u0446\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u043d\u0435\u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e. \u041e\u043d\u0438 \u043d\u0435\u0441\u0443\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043c\u0430\u0433\u0438\u044e, \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0449\u0443\u044e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u0430\u0441\u0442\u0435\u0440\u0441\u0442\u0432\u0430 \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0438. \u041d\u0435 \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u0447\u0430\u0441\u044b \u043d\u0430 \u043d\u0435\u043e\u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0438\u0448\u0443 \u0432 \u043c\u0438\u0440\u0435 \u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u0438 \u0438\u043d\u0442\u0435\u0440\u044c\u0435\u0440\u0430. \u041e\u043d\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0435\u043a\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u0443 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f. \u042d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Nixie Clock \u043d\u0430 \u0431\u0430\u0437\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. <a name=\"habracut\"><\/a><\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0421 \u0447\u0435\u0433\u043e \u0432\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c<\/font><\/h2>\n<p>  \u041e\u0434\u043d\u0430\u0436\u0434\u044b, \u043d\u0430 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0438 \u0433\u0434\u0435 \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u043d\u0430 \u0441\u043a\u043b\u0430\u0434\u0435 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0433\u043e \u043d\u0435\u043b\u0438\u043a\u0432\u0438\u0434\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0441\u044f \u0442\u0430\u043c \u0435\u0449\u0451 \u0441 \u0441\u043e\u0432\u0435\u0442\u0441\u043a\u0438\u0445 \u0432\u0440\u0435\u043c\u0435\u043d.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/xi\/-r\/1o\/xi-r1odrzdlfqnxgm_e9s6tvtzu.jpeg\" title=\"\u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043d\u044b\u0435 \u043b\u0430\u043c\u043f\u044b \u043c\u0430\u0440\u043a\u0438 \u0418\u041d-12\" width=\"358\" align=\"left\" data-src=\"https:\/\/habrastorage.org\/webt\/xi\/-r\/1o\/xi-r1odrzdlfqnxgm_e9s6tvtzu.jpeg\" data-blurred=\"true\"\/> \u041d\u0435\u043b\u0438\u043a\u0432\u0438\u0434 \u0441\u043e\u0441\u0442\u043e\u044f\u043b \u0438\u0437 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u043e\u0442\u0434\u0430\u043b\u0438 \u0431\u0435\u0437\u0432\u043e\u0437\u043c\u0435\u0437\u0434\u043d\u043e \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043b\u0438\u0447\u043d\u044b\u0445 \u0446\u0435\u043b\u044f\u0445, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043d\u0430 \u0443\u0442\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u044e. \u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0442\u0430\u043c \u0431\u044b\u043b\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0446\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043d\u0435\u043e\u043d\u043e\u0432\u044b\u0435 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043d\u044b\u0435 \u043b\u0430\u043c\u043f\u044b \u043c\u0430\u0440\u043a\u0438 \u0418\u041d-12. \u0412 \u0438\u0442\u043e\u0433\u0435 \u044f \u0438\u0445 \u0437\u0430\u0431\u0440\u0430\u043b \u0441\u0435\u0431\u0435. \u0421 \u0440\u0430\u0434\u0438\u043e\u043b\u0430\u043c\u043f\u0430\u043c\u0438 \u0437\u043d\u0430\u043a\u043e\u043c \u0435\u0449\u0435 \u0441 \u0434\u0435\u0442\u0441\u0442\u0432\u0430, \u0443\u0432\u043b\u0435\u043a\u0430\u044f\u0441\u044c \u0440\u0430\u0434\u0438\u043e\u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u044f \u0447\u0430\u0441\u0442\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u043b \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u043d\u0430 \u043b\u0430\u043c\u043f\u0430\u0445. \u0410 \u0442\u0443\u0442 \u0442\u0430\u043a\u043e\u0439 \u0444\u043b\u0435\u0448\u0431\u044d\u043a. <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0447\u0430\u0441\u043e\u0432<\/font><\/h2>\n<p>  \u041f\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e \u043d\u0430 2016 \u0433\u043e\u0434, \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0441\u0445\u0435\u043c \u0447\u0430\u0441\u043e\u0432 \u043d\u0430 \u043b\u0430\u043c\u043f\u0430\u0445, \u043d\u043e \u043c\u043d\u0435 \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0438\u0445 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430, \u043e\u043d\u0430 \u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043c\u043d\u0435 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u043e\u0439 \u0438 \u043d\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0439. \u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u043f\u0438\u0442\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0433\u043e USB \u043f\u043e\u0440\u0442\u0430, \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u044f RTC \u0438 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f, \u043f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0440\u0442\u0438\u0442 \u0432\u0441\u044e \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0443 \u043b\u0430\u043c\u043f. \u041d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0445\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043d\u0430 Arduino \u0438 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Atmel. \u0413\u043e\u0434\u043e\u043c \u0440\u0430\u043d\u0435\u0435, \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Espressif Systems \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u043d\u0430 \u0440\u044b\u043d\u043e\u043a \u0441\u0432\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 ESP8266, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u043b \u0440\u0435\u0432\u043e\u043b\u044e\u0446\u0438\u044e. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442, \u0448\u0438\u0440\u043e\u043a\u043e\u043f\u043e\u043b\u043e\u0441\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0443\u0436\u0435 \u0431\u044b\u043b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0435 \u0441\u0435\u0442\u0438 Wi-Fi, \u044f \u0440\u0435\u0448\u0438\u043b \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f RTC \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u0441\u0432\u043e\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u0447\u0430\u0441\u043e\u0432 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c NTP \u0441\u0435\u0440\u0432\u0435\u0440\u044b \u0434\u043b\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0432 \u0441\u0432\u043e\u0435\u0439 \u0441\u0445\u0435\u043c\u0435 \u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b \u043c\u043e\u0434\u0443\u043b\u044c ESP8266. \u0414\u0430\u043b\u0435\u0435 \u044f \u043f\u043e\u0434\u0435\u043b\u0438\u043b\u0441\u044f \u0432 Twitter \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f ESP8266 \u0432 \u0441\u0432\u043e\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u041c\u043e\u0439 \u0442\u0432\u0438\u0442 \u0432\u044b\u0437\u0432\u0430\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441, \u0438 \u043c\u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u043d\u0430 Hackaday.io. \u042f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b \u0441\u043e\u0432\u0435\u0442\u0443 \u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b <a href=\"https:\/\/hackaday.io\/project\/25114-nixie-clock-on-esp8266-module\">\u0441\u0432\u043e\u044e \u0441\u0442\u0430\u0442\u044c\u044e<\/a> \u0442\u0430\u043c.<\/p>\n<p>  \u041d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0447\u0430\u0441\u043e\u0432 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0448\u0435\u0441\u0442\u0438 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0418\u041d-14 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430. \u041a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u044d\u0442\u0438 \u043b\u0430\u043c\u043f\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0438\u0436\u0435. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/mn\/no\/hp\/mnnohp3wq79waokh6i_rho4ntpg.jpeg\" title=\"\u0418\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043d\u044b\u0435 \u043b\u0430\u043c\u043f\u044b \u0418\u041d-14\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/mn\/no\/hp\/mnnohp3wq79waokh6i_rho4ntpg.jpeg\" data-blurred=\"true\"\/><\/div>\n<h3><font color=\"#454cee\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c<\/font><\/h3>\n<p>  \u041d\u0438\u0436\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0430 \u0441\u0445\u0435\u043c\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0447\u0430\u0441\u043e\u0432:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xm\/wo\/jc\/xmwojcohzklu_10vupexmozuk6i.png\" title=\"\u041f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/xm\/wo\/jc\/xmwojcohzklu_10vupexmozuk6i.png\"\/><\/div>\n<p>  \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043b\u0430\u043c\u043f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/az\/yi\/9g\/azyi9gyk7oqce9f5ntyj15qpo1c.png\" title=\"\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043b\u0430\u043c\u043f\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/az\/yi\/9g\/azyi9gyk7oqce9f5ntyj15qpo1c.png\"\/><\/div>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043d\u0430\u044f \u043b\u0430\u043c\u043f\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0442 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0432 170\u0412 (\u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u0440\u044f\u0434\u0430), \u0434\u043b\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0432 200\u0412. \u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0438\u0437 \u0441\u0445\u0435\u043c\u044b, \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f \u0434\u043e 200\u0412 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d set-up \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u0431\u0430\u0437\u0435 \u0428\u0418\u041c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u041c\u0410\u04251771 \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 L2, D1 \u0438 Q1. \u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0430\u043c \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432\u044b\u0432\u043e\u0434\u043e\u0432 ESP8266 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043b\u0430\u043c\u043f\u0430\u043c\u0438, \u0442\u043e \u0431\u0443\u0434\u0435\u043c \u00ab\u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0430\u0442\u044c\u00bb \u043f\u0438\u043d\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0434\u0435\u0448\u0438\u0444\u0440\u0430\u0442\u043e\u0440\u043e\u0432 CD4028BM96. \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0435\u0441\u044f\u0442\u044c\u044e \u0433\u0430\u0437\u043e\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u043c\u0438 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043d\u044b\u043c\u0438 \u043b\u0430\u043c\u043f\u0430\u043c\u0438. \u0412\u044b\u0448\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0435\u0442\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u0435\u0439, \u0442\u043e \u0435\u0441\u0442\u044c \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0437\u0430\u0433\u043e\u0440\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u043b\u0430\u043c\u043f\u0430, \u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0431\u044b\u0441\u0442\u0440\u043e, \u0447\u0442\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438\u0439 \u0433\u043b\u0430\u0437 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043b\u0430\u043c\u043f \u0438 \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u0432\u0441\u0435 \u043b\u0430\u043c\u043f\u044b \u0433\u043e\u0440\u044f\u0442 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u0414\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u043b\u0430\u043c\u043f \u0432 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0438\u0445 \u0441\u0440\u043e\u043a \u0441\u043b\u0443\u0436\u0431\u044b. <\/p>\n<h3><font color=\"#454cee\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043b\u0430\u0442\u044b<\/font><\/h3>\n<p>  \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u043b\u0430\u0442\u044b \u0432\u0435\u043b\u0430\u0441\u044c \u0432 Sprint-Layout 5.0, \u0442\u0430\u043a \u043a\u0430\u043a \u043c\u043d\u0435 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0434\u043b\u044f \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u044b \u0432 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445.<\/p>\n<p>  \u041f\u043b\u0430\u0442\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ln\/xx\/34\/lnxx34at9jmr-oewduflmvgcnjw.jpeg\" title=\"\u041f\u043b\u0430\u0442\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/ln\/xx\/34\/lnxx34at9jmr-oewduflmvgcnjw.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041f\u043b\u0430\u0442\u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043b\u0430\u043c\u043f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/1w\/tn\/cb\/1wtncbtt-rsfgtdo67wocwkzaks.jpeg\" title=\"\u041f\u043b\u0430\u0442\u0430 \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043b\u0430\u043c\u043f\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/1w\/tn\/cb\/1wtncbtt-rsfgtdo67wocwkzaks.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u043e\u0441\u044c \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0444\u043e\u0442\u043e\u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0438 \u0444\u043e\u0442\u043e\u0440\u0435\u0437\u0438\u0441\u0442\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/mw\/cy\/r7\/mwcyr73jwmu6upynfd9eqsfcbdo.jpeg\" title=\"\u0424\u043e\u0442\u043e\u0448\u0430\u0431\u043b\u043e\u043d\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/mw\/cy\/r7\/mwcyr73jwmu6upynfd9eqsfcbdo.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0417\u0430\u0441\u0432\u0435\u0442\u043a\u0430 \u0444\u043e\u0442\u043e\u0440\u0435\u0437\u0438\u0441\u0442\u0430 \u043f\u043b\u0430\u0442\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/yh\/0l\/nh\/yh0lnhn_42paxe0kya5xh0_sf6q.jpeg\" title=\"\u0417\u0430\u0441\u0432\u0435\u0442\u043a\u0430 \u0444\u043e\u0442\u043e\u0440\u0435\u0437\u0438\u0441\u0442\u0430\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/yh\/0l\/nh\/yh0lnhn_42paxe0kya5xh0_sf6q.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0417\u0430\u0441\u0432\u0435\u0442\u043a\u0430 \u0444\u043e\u0442\u043e\u0440\u0435\u0437\u0438\u0441\u0442\u0430 \u043f\u043b\u0430\u0442\u044b \u043a\u0440\u0435\u043f\u043b\u0435\u043d\u0438\u044f \u043b\u0430\u043c\u043f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/qn\/u3\/9u\/qnu39ucn-aenexfctkakoqvxwou.jpeg\" title=\"\u0417\u0430\u0441\u0432\u0435\u0442\u043a\u0430 \u0444\u043e\u0442\u043e\u0440\u0435\u0437\u0438\u0441\u0442\u0430\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/qn\/u3\/9u\/qnu39ucn-aenexfctkakoqvxwou.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0422\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/u1\/vc\/ov\/u1vcovqlkff4qbtzjutf6xqomcw.jpeg\" title=\"\u0422\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/u1\/vc\/ov\/u1vcovqlkff4qbtzjutf6xqomcw.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041f\u0430\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432:<\/p>\n<div class=\"oembed\">\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6568b0482fbe8876a63c3d39\" data-style=\"\" id=\"6568b0482fbe8876a63c3d39\" width=\"\"><\/div>\n<\/div>\n<p>  \u041f\u043b\u0430\u0442\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ol\/h0\/sa\/olh0saun_heuvslgqdpjtdwl18k.jpeg\" title=\"\u041f\u043b\u0430\u0442\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/ol\/h0\/sa\/olh0saun_heuvslgqdpjtdwl18k.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u041c\u043e\u043d\u0442\u0430\u0436 \u043b\u0430\u043c\u043f \u043d\u0430 \u043f\u043b\u0430\u0442\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/y0\/cj\/86\/y0cj86oj_tl4uwaqi6jxdrxzz6q.jpeg\" title=\"\u041c\u043e\u043d\u0442\u0430\u0436 \u043b\u0430\u043c\u043f \u043d\u0430 \u043f\u043b\u0430\u0442\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/y0\/cj\/86\/y0cj86oj_tl4uwaqi6jxdrxzz6q.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0422\u0435\u0441\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0445\u0435\u043c\u044b \u0447\u0430\u0441\u043e\u0432 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u043e\u0439:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/j3\/zs\/b4\/j3zsb4fd6eumafgpzpl_rhgashk.jpeg\" title=\"\u0422\u0435\u0441\u0442 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0445\u0435\u043c\u044b \u0447\u0430\u0441\u043e\u0432 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u043e\u0439\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/j3\/zs\/b4\/j3zsb4fd6eumafgpzpl_rhgashk.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u043f\u0442\u0440\u043e\u043d\u044b TLP627 \u043e\u0442 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 TOSHIBA.  <\/p>\n<blockquote><p>TLP627 \u2014 \u0432\u044b\u0441\u043e\u043a\u043e\u0432\u043e\u043b\u044c\u0442\u043d\u044b\u0439 \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u043d\u044b\u0439 \u043e\u043f\u0442\u0440\u043e\u043d \u0441\u043e \u0441\u0445\u0435\u043c\u043e\u0439 \u0414\u0430\u0440\u043b\u0438\u043d\u0433\u0442\u043e\u043d\u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435.<\/p><\/blockquote>\n<p>  <\/p>\n<h3><font color=\"#454cee\">\u041a\u043e\u0440\u043f\u0443\u0441 \u0447\u0430\u0441\u043e\u0432<\/font><\/h3>\n<p>  \u041a\u043e\u0440\u043f\u0443\u0441 \u0447\u0430\u0441\u043e\u0432 \u043d\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c \u0432\u043e FreeCAD:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/tz\/nq\/va\/tznqvakezq7nahaw84oyas5ip7u.png\" title=\"\u0420\u0435\u043d\u0434\u0435\u0440 \u043a\u043e\u0440\u043f\u0443\u0441\u0430\" width=\"558\" data-src=\"https:\/\/habrastorage.org\/webt\/tz\/nq\/va\/tznqvakezq7nahaw84oyas5ip7u.png\"\/><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u0440\u043f\u0443\u0441 \u0431\u044b\u043b \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u0430\u043d \u043d\u0430 3D \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u0435, \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c HIPS \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u0430. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0441\u0442\u0438\u043a \u043f\u0440\u0438 \u043f\u0435\u0447\u0430\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0441\u0442\u0435\u043d\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0447\u0435\u043c-\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0434\u0435\u0440\u0435\u0432\u043e \u0438 \u043d\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0433\u043b\u044f\u043d\u0446\u0435\u0432\u044b\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u043a\u0430\u043a \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0438\u0434\u044b \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u0430 \u0442\u0438\u043f\u0430 PLA, ABS \u0438 \u0442. \u043f.<\/p>\n<h3><font color=\"#454cee\">\u041c\u043e\u043d\u0442\u0430\u0436 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0438<\/font><\/h3>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0440\u043f\u0443\u0441\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b. \u041d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043c\u043e\u043d\u0442\u0430\u0436 \u043f\u043b\u0430\u0442\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c, \u0432\u0441\u0435\u043c\u0438 \u043b\u044e\u0431\u0438\u043c\u043e\u0433\u043e, \u0442\u0435\u0440\u043c\u043e\u043a\u043b\u0435\u044f. \ud83d\ude42<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/8m\/pl\/8k\/8mpl8kuvbhbswna8xnlfkcacgfs.jpeg\" title=\"\u041c\u043e\u043d\u0442\u0430\u0436 \u043f\u043b\u0430\u0442\u044b \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/8m\/pl\/8k\/8mpl8kuvbhbswna8xnlfkcacgfs.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/dq\/bx\/kq\/dqbxkqbdgt3wgxkuvjqbtxydqz8.jpeg\" title=\"\u0427\u0430\u0441\u044b \u0432 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/dq\/bx\/kq\/dqbxkqbdgt3wgxkuvjqbtxydqz8.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0427\u0430\u0441\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/la\/dq\/wd\/ladqwdmu4m8c8sagfkk1oqxvrdu.jpeg\" title=\"\u0427\u0430\u0441\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0435\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/la\/dq\/wd\/ladqwdmu4m8c8sagfkk1oqxvrdu.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0427\u0430\u0441\u044b \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043d\u0430 \u043c\u043e\u0451\u043c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432 \u0436\u0438\u0432\u0443\u044e \u043e\u043d\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u0435\u0435:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ui\/k7\/hu\/uik7huzesbvscndhdgcsahdg6qc.jpeg\" title=\"\u0427\u0430\u0441\u044b \u0432 \u0440\u0430\u0431\u043e\u0442\u0435\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/ui\/k7\/hu\/uik7huzesbvscndhdgcsahdg6qc.jpeg\" data-blurred=\"true\"\/><\/div>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435 \u0447\u0430\u0441\u043e\u0432<\/font><\/h2>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0447\u0430\u0441\u043e\u0432, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Arduino IDE. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u043a\u043e\u0434 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041a\u043e\u0434 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"java\">#include &lt;TimeLib.h> #include &lt;ESP8266WiFi.h> #include &lt;WiFiClient.h> #include &lt;ESP8266WebServer.h> #include &lt;ESP8266mDNS.h> #include &lt;ESP8266HTTPUpdateServer.h> #include &lt;WiFiUdp.h> #include &lt;EEPROM.h> #include &lt;ESP8266SSDP.h>  const char* host = \"retroclock\"; const char *ap_ssid = \"NixieClock\"; const char *ap_password = \"EsPnEtWoRk\"; int statusCode; String st; String content;  \/\/ NTP Servers: String ntpServerName2; int timeZone = 0;     \/\/ Time zone  ESP8266WebServer httpServer(80); ESP8266HTTPUpdateServer httpUpdater;  WiFiUDP Udp; unsigned int localPort = 8888;  \/\/ local port to listen for UDP packets  time_t getNtpTime(); void digitalClockDisplay(); void printDigits(int digits); void sendNTPpacket(IPAddress &amp;address); \/* const int D_A0 = 16; const int D_A1 = 12; const int D_A2 = 13; const int D_A3 = 14; *\/ const int D_A0 = 13; \/\/A const int D_A1 = 16; \/\/B const int D_A2 = 14; \/\/C const int D_A3 = 12; \/\/D \/\/digits multiplex const int D_M1 = 5; \/\/A const int D_M2 = 2; \/\/B const int D_M3 = 0; \/\/C const int D_M4 = 4; \/\/D const int LED1 = 1; \/\/used Tx pin 1 const int LED2 = 3; \/\/used Rx pin 3 int counter  = 0; int counter2 = 0;  uint32_t ms,  ms1 = 0; \/\/for timer uint32_t ms2,  ms3 = 0;  uint32_t ms4,  ms5 = 0;  uint32_t ms6,  ms7 = 0;   void setup() { EEPROM.begin(512);  timeZone =  read_EEPROM(32,96).toInt(); ntpServerName2 =  read_EEPROM(0,32);  pinMode(D_A0, OUTPUT); \/\/A0 pinMode(D_A1, OUTPUT); \/\/A1 pinMode(D_A2, OUTPUT); \/\/A2 pinMode(D_A3, OUTPUT); \/\/A3 pinMode(D_M1, OUTPUT); \/\/1 pinMode(D_M2, OUTPUT); \/\/2 pinMode(D_M3, OUTPUT); \/\/3 pinMode(D_M4, OUTPUT); \/\/4 pinMode(LED1, OUTPUT); \/\/LED1 pinMode(LED2, OUTPUT); \/\/LED2   httpServer.on(\"\/\",   rootPageHandler); httpServer.on(\"\/wlan_config\", wlanPageHandler); httpServer.on(\"\/setting\", setting); httpServer.on(\"\/time.html\", timess); httpServer.on(\"\/times.html\", testpage); httpServer.onNotFound(handleNotFound);    WiFi.mode(WIFI_STA);   WiFi.begin();   for (int x = 0; x &lt; 100; x ++){     if (WiFi.status() == WL_CONNECTED){        break;     }     delay(500);    }   if(WiFi.status() != WL_CONNECTED) {     delay(500);       WiFi.mode(WIFI_AP_STA);       WiFi.softAP(ap_ssid, ap_password);          }   WiFi.hostname(\"IoT Nixie Clock IN-14\");   MDNS.begin(host);   httpUpdater.setup(&amp;httpServer);   \/\/httpServer.begin();    MDNS.addService(\"http\", \"tcp\", 80);   delay(2000);         HTTP_init();    \/\/\u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c HTTP \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441         SSDP_init();    \/\/\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c SSDP \u0441\u0435\u0440\u0432\u0438\u0441   Udp.begin(localPort); setSyncProvider(getNtpTime); setSyncInterval(300); }   time_t prevDisplay = 0;     void loop() {  httpServer.handleClient();  ms4 = micros();  if((ms4-ms5) >= 800 ) {       counter++;       ms5 = ms4;  }   if(counter > 30){     counter = 0;   }   if (millis() > 20000) {       switchs();    }   else {        demo();   } }     void displayig(){  if (counter == 1 or counter == 5 or counter == 10 or counter == 15 or counter == 20 or counter == 25) {           multiplex(7);  }   if (counter == 3 or counter == 4 or counter == 2){ \/\/ 1-\u044f \u0446\u0438\u0444\u0440\u0430 \/\/\u0441\u0435\u043a\u0443\u043d\u0434\u044b \u0434\u0435\u0441\u044f\u0442\u044b\u0435          int times = second() \/10;         digitfunction(times);         multiplex(1);   }   if (counter == 8 or counter == 9 or counter == 7){ \/\/ 2-\u044f \u0446\u0438\u0444\u0440\u0430 \/\u0441\u043a\u0443\u043d\u0434\u044b \u0435\u0434          int times = second() %10;         digitfunction(times);         multiplex(2);    }    if (counter == 13 or counter == 14 or counter == 12 ){ \/\/ 1-\u044f \u0446\u0438\u0444\u0440\u0430 \/\/\u043c\u0438\u043d\u0443\u0442\u044b \u0434\u0435\u0441\u044f\u0442\u044b\u0435          int times = minute() \/10;         digitfunction(times);         multiplex(4);    }     if (counter == 18 or counter == 19 or counter == 17){ \/\/ 2-\u044f \u0446\u0438\u0444\u0440\u0430 \/\/\u043c\u0438\u043d\u0443\u0442\u044b \u0435\u0434         int times = minute() % 10;        digitfunction(times);        multiplex(3);    }    if (counter == 23 or counter == 24 or counter == 22){ \/\/ 3-\u044f \u0446\u0438\u0444\u0440\u0430         int times = hour()% 10;;        digitfunction(times);        multiplex(5);    }    if (counter == 28 or counter == 29 or counter == 27){ \/\/ 4-\u044f \u0446\u0438\u0444\u0440\u0430            int times = hour()\/10;       digitfunction(times);       multiplex(6);   } }   void multiplex_sw(int M1, int M2, int M3, int M4) {         digitalWrite(D_M1, M1); digitalWrite(D_M2, M2); digitalWrite(D_M3, M3); digitalWrite(D_M4, M4);            }       void multiplex(int chanel){    switch (chanel) {     case 1:       multiplex_sw(HIGH, LOW, HIGH, LOW);       break;     case 2:       multiplex_sw(HIGH, LOW, LOW, HIGH);          break;     case 3:      multiplex_sw(LOW, HIGH, HIGH, LOW);       break;     case 4:       multiplex_sw(HIGH, HIGH, LOW, LOW);        break;     case 5:         multiplex_sw(HIGH, LOW, LOW, LOW);          break;     case 6:      multiplex_sw(LOW, LOW, LOW, HIGH);       break;     case 7:      multiplex_sw(LOW, LOW, LOW, LOW);        break;         } }   void changeMux(int AO, int A1, int A2, int A3) {         digitalWrite(D_A0, AO); digitalWrite(D_A1, A1); digitalWrite(D_A2, A2); digitalWrite(D_A3, A3);          }   void digitfunction(int times){    switch (times) {     case 0:         changeMux(LOW, LOW, LOW, LOW);         break;     case 1:         changeMux(HIGH, LOW, LOW, LOW);         break;     case 2:          changeMux(LOW, HIGH, LOW, LOW);         break;     case 3:         changeMux(HIGH, HIGH, LOW, LOW);         break;     case 4:         changeMux(LOW, LOW, HIGH, LOW);         break;     case 5:            changeMux(HIGH, LOW, HIGH, LOW);         break;     case 6:         changeMux(LOW, HIGH, HIGH, LOW);         break;     case 7:         changeMux(HIGH, HIGH, HIGH, LOW);         break;         case 8:         changeMux(LOW, LOW, LOW, HIGH);         break;           case 9:         changeMux(HIGH, LOW, LOW, HIGH);         break;         }   }   void switchs() {   ms2 = second();      if(( ms2 ) >= 0 &amp;&amp; ( ms2 ) &lt;= 44){       displayig();       int pww = 1024;       ms = millis();          if(( ms - ms1 ) >= 0 &amp;&amp; ( ms - ms1 ) &lt;= 500){analogWrite(LED1, pww);}       if(( ms - ms1 ) >= 250 &amp;&amp; ( ms - ms1 ) &lt;= 500){analogWrite(LED2, pww);}       if(( ms - ms1 ) >= 500){analogWrite(LED1, 0); analogWrite(LED2, 0);}       if(( ms - ms1 ) >= 1000){ ms1 = ms;}              }     if(( ms2 ) >= 45 &amp;&amp; ( ms2  ) &lt;= 60){       displayig();       int pww = 1024;       ms = millis();          if(( ms - ms1 ) >= 0 &amp;&amp; ( ms - ms1 ) &lt;= 500){analogWrite(LED1, pww);        analogWrite(LED2, pww);}       \/\/if(( ms - ms1 ) >= 250 &amp;&amp; ( ms - ms1 ) &lt;= 500){analogWrite(LED2, pww);}       if(( ms - ms1 ) >= 500){analogWrite(LED1, 0); analogWrite(LED2, 0);}       if(( ms - ms1 ) >= 1000){ ms1 = ms;}       } }    \/*-------- NTP code ----------*\/  const int NTP_PACKET_SIZE = 48; \/\/ NTP time is in the first 48 bytes of message byte packetBuffer[NTP_PACKET_SIZE]; \/\/buffer to hold incoming &amp; outgoing packets  time_t getNtpTime(){   IPAddress ntpServerIP; \/\/ NTP server's ip address          char char_var_resp[ntpServerName2.length()];          ntpServerName2.toCharArray(char_var_resp, ntpServerName2.length()+1);    while (Udp.parsePacket() > 0) ; \/\/ discard any previously received packets    WiFi.hostByName(char_var_resp, ntpServerIP);   sendNTPpacket(ntpServerIP);   uint32_t beginWait = millis();   while (millis() - beginWait &lt; 1500) {     int size = Udp.parsePacket();     if (size >= NTP_PACKET_SIZE) {       Udp.read(packetBuffer, NTP_PACKET_SIZE);  \/\/ read packet into the buffer       unsigned long secsSince1900;       \/\/ convert four bytes starting at location 40 to a long integer       secsSince1900 =  (unsigned long)packetBuffer[40] &lt;&lt; 24;       secsSince1900 |= (unsigned long)packetBuffer[41] &lt;&lt; 16;       secsSince1900 |= (unsigned long)packetBuffer[42] &lt;&lt; 8;       secsSince1900 |= (unsigned long)packetBuffer[43];       return secsSince1900 - 2208988800UL + timeZone * SECS_PER_HOUR;     }   }   return 0; \/\/ return 0 if unable to get the time }  \/\/ send an NTP request to the time server at the given address void sendNTPpacket(IPAddress &amp;address){   \/\/ set all bytes in the buffer to 0   memset(packetBuffer, 0, NTP_PACKET_SIZE);   \/\/ Initialize values needed to form NTP request   \/\/ (see URL above for details on the packets)   packetBuffer[0] = 0b11100011;   \/\/ LI, Version, Mode   packetBuffer[1] = 0;     \/\/ Stratum, or type of clock   packetBuffer[2] = 6;     \/\/ Polling Interval   packetBuffer[3] = 0xEC;  \/\/ Peer Clock Precision   \/\/ 8 bytes of zero for Root Delay &amp; Root Dispersion   packetBuffer[12] = 49;   packetBuffer[13] = 0x4E;   packetBuffer[14] = 49;   packetBuffer[15] = 52;   \/\/ all NTP fields have been given values, now   \/\/ you can send a packet requesting a timestamp:   Udp.beginPacket(address, 123); \/\/NTP requests are to port 123   Udp.write(packetBuffer, NTP_PACKET_SIZE);   Udp.endPacket(); }  void demo(){   ms6 = millis();   if ((ms6-ms7) >= 2) {   counter2++;   ms7 = ms6;  }   if (counter2 > 0 &amp;&amp; counter2 &lt; 1000){ \/\/ 4-\u044f \u0446\u0438\u0444\u0440\u0430      multiplex(2); if(counter2 == 100) { digitfunction(9);} if(counter2 == 200) { digitfunction(8);} if(counter2 == 300) { digitfunction(7);} if(counter2 == 400) { digitfunction(6);} if(counter2 == 500) { digitfunction(5);} if(counter2 == 600) { digitfunction(4);} if(counter2 == 700) { digitfunction(3);} if(counter2 == 800) { digitfunction(2);} if(counter2 == 900) { digitfunction(1);} if(counter2 == 1000) { digitfunction(0);}   }    if (counter2 >1100 &amp;&amp; counter2 &lt; 2100){ \/\/ 3-\u044f \u0446\u0438\u0444\u0440\u0430    multiplex(1);     if(counter2 == 1100) { digitfunction(9);}     if(counter2 == 1200) { digitfunction(8);}     if(counter2 == 1300) { digitfunction(7);}     if(counter2 == 1400) { digitfunction(6);}     if(counter2 == 1500) { digitfunction(5);}     if(counter2 == 1600) { digitfunction(4);}     if(counter2 == 1700) { digitfunction(3);}     if(counter2 == 1800) { digitfunction(2);}     if(counter2 == 1900) { digitfunction(1);}     if(counter2 == 2000) { digitfunction(0);}   }    if (counter2 >2100 &amp;&amp; counter2 &lt; 3100){ \/\/ 2-\u044f \u0446\u0438\u0444\u0440\u0430     multiplex(3);     if(counter2 == 2100) { digitfunction(9);}     if(counter2 == 2200) { digitfunction(8);}     if(counter2 == 2300) { digitfunction(7);}     if(counter2 == 2400) { digitfunction(6);}     if(counter2 == 2500) { digitfunction(5);}     if(counter2 == 2600) { digitfunction(4);}     if(counter2 == 2700) { digitfunction(3);}     if(counter2 == 2800) { digitfunction(2);}     if(counter2 == 2900) { digitfunction(1);}     if(counter2 == 3000) { digitfunction(0);}   }    if (counter2 >3100 &amp;&amp; counter2 &lt; 4100){ \/\/ 4-\u044f \u0446\u0438\u0444\u0440\u0430     multiplex(4);      if(counter2 == 3100) { digitfunction(9);}     if(counter2 == 3200) { digitfunction(8);}     if(counter2 == 3300) { digitfunction(7);}     if(counter2 == 3400) { digitfunction(6);}     if(counter2 == 3500) { digitfunction(5);}     if(counter2 == 3600) { digitfunction(4);}     if(counter2 == 3700) { digitfunction(3);}     if(counter2 == 3800) { digitfunction(2);}     if(counter2 == 3900) { digitfunction(1);}     if(counter2 == 4000) { digitfunction(0);}   }   if (counter2 >4100 &amp;&amp; counter2 &lt; 5100){ \/\/ 5-\u044f \u0446\u0438\u0444\u0440\u0430     multiplex(5);     if(counter2 == 4100) { digitfunction(9);}    if(counter2 == 4200) { digitfunction(8);}    if(counter2 == 4300) { digitfunction(7);}    if(counter2 == 4400) { digitfunction(6);}    if(counter2 == 4500) { digitfunction(5);}    if(counter2 == 4600) { digitfunction(4);}    if(counter2 == 4700) { digitfunction(3);}    if(counter2 == 4800) { digitfunction(2);}    if(counter2 == 4900) { digitfunction(1);}    if(counter2 == 5000) { digitfunction(0);}   }   if (counter2 >5100 &amp;&amp; counter2 &lt; 6100){ \/\/ 6-\u044f \u0446\u0438\u0444\u0440\u0430     multiplex(6);     if(counter2 == 5100) { digitfunction(9);}    if(counter2 == 5200) { digitfunction(8);}    if(counter2 == 5300) { digitfunction(7);}    if(counter2 == 5400) { digitfunction(6);}    if(counter2 == 5500) { digitfunction(5);}    if(counter2 == 5600) { digitfunction(4);}    if(counter2 == 5700) { digitfunction(3);}    if(counter2 == 5800) { digitfunction(2);}    if(counter2 == 5900) { digitfunction(1);}    if(counter2 == 6000) { digitfunction(0);}   } }   \/\/web interface\/\/\/\/\/\/\/\/\/====================================== \/* WLAN page allows users to set the WiFi credentials *\/ String twoDigits(int digits){   if(digits &lt; 10) {     String i = '0'+String(digits);     return i;   }   else {     return String(digits);   } }  void wlanPageHandler(){   if (httpServer.hasArg(\"ssid\")){         if (httpServer.hasArg(\"password\")){       WiFi.begin(httpServer.arg(\"ssid\").c_str(), httpServer.arg(\"password\").c_str());     }else{       WiFi.begin(httpServer.arg(\"ssid\").c_str());     }          while (WiFi.status() != WL_CONNECTED){       delay(500);      }            delay(500);   }      String response_message = \"\";   response_message +=\"&lt;head>\";   response_message +=\"&lt;title>Wi-Fi \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f&lt;\/title>\";   response_message += \"&lt;meta http-equiv=\\\"Content-Type\\\" content=\\\"text\/html; charset=utf-8;\\\" \/>\";   response_message += \"&lt;style type=\\\"text\/css\\\">body{background-color: #7D8EE2;color:#FFF;}a {color:#73B9FF;}.blockk {border:solid 1px #2d2d2d;text-align:center;background:#0059B3;padding:10px 10px 10px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}\";   response_message += \".blockk{border:double 2px #000000;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}\";   response_message +=\"&lt;\/style>&lt;style type=\\\"text\/css\\\" media=\\'(min-width: 810px)\\'>body{font-size:18px;}.blockk {width: 400px;}&lt;\/style>\";   response_message +=\"&lt;style type=\\\"text\/css\\\" media=\\'(max-width: 800px) and (orientation:landscape)\\'>body{font-size:8px;}&lt;\/style>&lt;\/head>\";   response_message += \"&lt;body>&lt;center>&lt;div class=\\\"blockk\\\">\";   response_message += \"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f&lt;br>&lt;hr>\";      if (WiFi.status() == WL_CONNECTED){     IPAddress ip = WiFi.localIP();     String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]);     response_message += \"\u0421\u0442\u0430\u0442\u0443\u0441: \u041c\u043e\u0434\u0443\u043b\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u0441\u0435\u0442\u0438 \"+String(WiFi.SSID())+\"&lt;br>&lt;hr>\";     response_message += \"\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u0430: \"+String(WiFi.RSSI())+\" dBi &lt;br>&lt;hr>\";     response_message += \"IP \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f: \"+String(ipStr)+\"&lt;br>&lt;hr>\";   }else{     response_message += \"\u0421\u0442\u0430\u0442\u0443\u0441: \u041c\u043e\u0434\u0443\u043b\u044c \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d \u043e\u0442 \u0441\u0435\u0442\u0438&lt;br>&lt;hr>\";   }      response_message += \"&lt;p>\u0414\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a  WiFi \u0441\u0435\u0442\u0438, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0435\u0442\u044c...&lt;\/p>&lt;br>&lt;hr>\";    \/\/ Get number of visible access points   int ap_count = WiFi.scanNetworks();      if (ap_count == 0){     response_message += \"\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e \u043d\u0438\u043e\u0434\u043d\u043e\u0439 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u0442\u0438.&lt;br>&lt;hr>\";   }else{     response_message += \"&lt;form method=\\\"get\\\">\";     \/\/ Show access points     for (uint8_t ap_idx = 0; ap_idx &lt; ap_count; ap_idx++){       response_message += \"&lt;input type=\\\"radio\\\" name=\\\"ssid\\\" value=\\\"\" + String(WiFi.SSID(ap_idx)) + \"\\\">\";       response_message += String(WiFi.SSID(ap_idx)) + \" [\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u0430: \" + WiFi.RSSI(ap_idx) +\" dBi]\";       (WiFi.encryptionType(ap_idx) == ENC_TYPE_NONE) ? response_message += \" \" : response_message += \"[\u0437\u0430\u0449\u0438\u0449\u0435\u043d\u0430]\";       response_message += \"&lt;br>&lt;br>\";     }          response_message += \"WiFi \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (\u0435\u0441\u043b\u0438 \u0441\u0435\u0442\u044c \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u0430):&lt;br>\";     response_message += \"&lt;input type=\\\"text\\\" name=\\\"password\\\">&lt;br>&lt;hr>\";     response_message += \"&lt;input type=\\\"submit\\\" value=\\\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f\\\">\";     response_message += \"&lt;\/form>\";   }     response_message += \"&lt;\/body>&lt;\/html>\";   response_message += \"&lt;a href=\\\"\/\\\">\u0412\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u043d\u0430\u0437\u0430\u0434&lt;\/a>&lt;br>&lt;hr>\";   httpServer.send(200, \"text\/html\", response_message); } \/* Called if requested page is not found *\/ void handleNotFound(){   String message = \"\u0424\u0430\u0439\u043b \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\\n\\n\";   message += \"URI: \";   message += httpServer.uri();   message += \"\\nMethod: \";   message += (httpServer.method() == HTTP_GET)?\"GET\":\"POST\";   message += \"\\nArguments: \";   message += httpServer.args();   message += \"\\n\";      for (uint8_t i = 0; i &lt; httpServer.args(); i++){     message += \" \" + httpServer.argName(i) + \": \" + httpServer.arg(i) + \"\\n\";   }      httpServer.send(404, \"text\/plain\", message); } \/* Root page for the webserver *\/  \/\/================================================================================  void rootPageHandler() {   String response_message = \"&lt;html>\";   response_message +=\"&lt;head>\";   response_message +=\"&lt;title>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0435\u043e\u043d\u043e\u0432\u044b\u0445 \u0447\u0430\u0441\u043e\u0432&lt;\/title>\";   response_message += \"&lt;meta http-equiv=\\\"Content-Type\\\" content=\\\"text\/html; charset=utf-8;\\\" \/>\";   response_message += \"&lt;style type=\\\"text\/css\\\">body{background-color: #7D8EE2;color:#FFF;}a {color:#73B9FF;}.blockk {border:solid 1px #2d2d2d;text-align:center;background:#0059B3;padding:10px 10px 10px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}\";   response_message += \".blockk{border:double 2px #000000;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}\";   response_message +=\"&lt;\/style>&lt;style type=\\\"text\/css\\\" media=\\'(min-width: 810px)\\'>body{font-size:18px;}.blockk {width: 400px;}&lt;\/style>\";   response_message +=\"&lt;style type=\\\"text\/css\\\" media=\\'(max-width: 800px) and (orientation:landscape)\\'>body{font-size:8px;}&lt;\/style>\";   response_message +=\"&lt;script>\\n\";   response_message +=\"setInterval(server_time,1000);\\n\";   response_message +=\"function server_time(){\\n\";   response_message +=\"var req = new XMLHttpRequest();\\n\";   response_message +=\"req.open(\\\"GET\\\",\\\"times.html\\\",true);\\n\";   response_message +=\"req.onreadystatechange = function(){\\n\";   response_message +=\"document.getElementById(\\\"xz\\\").innerHTML = req.responseText;\\n\";   response_message +=\" }\\n\";   response_message +=\" req.send();\\n\";   response_message +=\"}\\n\";   response_message +=\"&lt;\/script>\";   response_message +=\"&lt;script>\\n\";   response_message +=\"setInterval(server_time1,1000);\\n\";   response_message +=\"function server_time1(){\\n\";   response_message +=\"var req1 = new XMLHttpRequest();\\n\";   response_message +=\"req1.open(\\\"GET\\\",\\\"time.html\\\",true);\\n\";   response_message +=\"req1.onreadystatechange = function(){\\n\";   response_message +=\"document.getElementById(\\\"xzy\\\").innerHTML = req1.responseText;\\n\";   response_message +=\" }\\n\";   response_message +=\" req1.send();\\n\";   response_message +=\"}\\n\";   response_message +=\"&lt;\/script>\";   response_message +=\"&lt;\/head>\";   response_message += \"&lt;body>&lt;center>&lt;div class=\\\"blockk\\\">\";   response_message += \"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0435\u043e\u043d\u043e\u0432\u044b\u0445 \u0447\u0430\u0441\u043e\u0432 &lt;br>&lt;hr>\";   \/\/time display   response_message += \"&lt;b>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430: \"+String(ESP.getChipId())+\" &lt;\/b>&lt;hr>\";   \/\/time   int times =(millis()\/1000);   int timehour =(((times)  % 86400L) \/ 3600);     if ( ((times % 3600) \/ 60) &lt; 10 ) {       \/\/ In the first 10 minutes of each hour, we'll want a leading '0'       int timehour = 0;                }     int timeminuts=((times  % 3600) \/ 60); \/\/ print the minute (3600 equals secs per minute)      if ( (times % 60) &lt; 10 ) {       \/\/ In the first 10 seconds of each minute, we'll want a leading '0'       int timeminuts = 0;         }     int timeseconds=(times % 60); \/\/ print the second         response_message += \"&lt;div id=\\\"content3\\\">\u0412\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0443\u043b\u044f: &lt;br>\";       response_message += \"&lt;body>\";   response_message += \"&lt;div id=\\\"xz\\\">&lt;\/div>\";   response_message += \"&lt;\/body>\";   response_message += \"&lt;center>NTP \u0441\u0435\u0440\u0432\u0435\u0440: \"+String(ntpServerName2)+\" &lt;br>&lt;\/center>\";   response_message += \"&lt;center>\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441: &lt;\/center>\";   response_message += \"&lt;center>\";  if(timeZone==5){ response_message += \"UTC\/GMT+5 (\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433)\"; }  if(timeZone==3){ response_message += \"UTC\/GMT+3 (\u041c\u043e\u0441\u043a\u0432\u0430)\"; }  if(timeZone==4){ response_message += \"UTC\/GMT+4 (\u0421\u0430\u043c\u0430\u0440\u0430, \u0418\u0436\u0435\u0432\u0441\u043a)\"; }  if(timeZone==6){ response_message += \"UTC\/GMT+6 (\u041e\u043c\u0441\u043a)\"; }  if(timeZone==7){ response_message += \"UTC\/GMT+7 (\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a)\"; }  if(timeZone==8){ response_message += \"UTC\/GMT+8 (\u0418\u0440\u043a\u0443\u0442\u0441\u043a)\"; }  if(timeZone==9){ response_message += \"UTC\/GMT+9 (\u042f\u043a\u0443\u0442\u0441\u043a)\"; }  if(timeZone==10){ response_message += \"UTC\/GMT+10 (\u0412\u043b\u0430\u0434\u0438\u0432\u043e\u0441\u0442\u043e\u043a)\"; }  if(timeZone==11){ response_message += \"UTC\/GMT+11 (\u041a\u0430\u043c\u0447\u0430\u0442\u043a\u0430)\"; }  if(timeZone==1){ response_message += \"UTC\/GMT+1(\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0415\u0432\u0440\u043e\u043f\u0430)\"; }  if(timeZone==-2){ response_message += \"UTC\/GMT-2 (\u0421\u0440\u0435\u0434\u043d\u0435\u0430\u0442\u043b\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f)\"; }  if(timeZone==-3){ response_message += \"UTC\/GMT-3 (\u0410\u0440\u0433\u0435\u043d\u0442\u0438\u043d\u0430)\"; }  if(timeZone==-4){ response_message += \"UTC\/GMT-4 (\u041a\u0430\u043d\u0430\u0434\u0430)\"; }  if(timeZone==-5){ response_message += \"UTC\/GMT-5 (\u041d\u044c\u044e-\u0419\u043e\u0440\u043a)\"; }  if(timeZone==-6){ response_message += \"UTC\/GMT-6 (\u0427\u0438\u043a\u0430\u0433\u043e)\"; }  if(timeZone==-7){ response_message += \"UTC\/GMT-7 (\u0414\u0435\u043d\u0432\u0435\u0440)\"; }  if(timeZone==-8){ response_message += \"UTC\/GMT-8 (\u041b\u043e\u0441-\u0410\u043d\u0434\u0436\u0435\u043b\u0435\u0441)\"; }  response_message += \"&lt;\/center>\";  String timenow = String(hour())+\":\"+twoDigits(minute())+\":\"+twoDigits(second());  response_message += \"&lt;hr>\u0412\u0440\u0435\u043c\u044f \u0441\u0435\u0442\u0438: &lt;div id=\\\"xzy\\\">\"+String(timenow)+\"&lt;\/div>\";   if (WiFi.status() == WL_CONNECTED){     IPAddress ip = WiFi.localIP();     String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]);     response_message += \"&lt;hr>\u0421\u0442\u0430\u0442\u0443\u0441: \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u0441\u0435\u0442\u0438 \"+String(WiFi.SSID())+\"&lt;br>\";     response_message += \"\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u0430: \"+String(WiFi.RSSI())+\" dBi &lt;br>&lt;hr>\";     response_message += \"IP \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f: \"+String(ipStr)+\"&lt;br>&lt;hr>\";    }else{     response_message += \"&lt;br>&lt;hr>WLAN \u0441\u0442\u0430\u0442\u0443\u0441: \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e&lt;br>&lt;hr>\";   }         response_message += \"&lt;\/p>&lt;form method='get' action='setting'>&lt;label>NTP \u0441\u0435\u0440\u0432\u0435\u0440: &lt;br>&lt;\/label>&lt;input name='ssid' length=32>&lt;br>&lt;label>\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441&lt;\/label>&lt;br>\";         response_message += \"&lt;select name='pass'>\";         response_message += \"&lt;option disabled>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441&lt;\/option>\";         response_message += \"&lt;option selected value = '5'>UTC\/GMT+5 (\u0415\u043a\u0430\u0442\u0435\u0440\u0438\u043d\u0431\u0443\u0440\u0433)&lt;\/option>\";         response_message += \"&lt;option value = '3'>UTC\/GMT+3 (\u041c\u043e\u0441\u043a\u0432\u0430)&lt;\/option>\";         response_message += \"&lt;option value = '4'> UTC\/GMT+4 (\u0421\u0430\u043c\u0430\u0440\u0430, \u0418\u0436\u0435\u0432\u0441\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '6'> UTC\/GMT+6 (\u041e\u043c\u0441\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '7'> UTC\/GMT+7 (\u041a\u0440\u0430\u0441\u043d\u043e\u044f\u0440\u0441\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '8'> UTC\/GMT+8 (\u0418\u0440\u043a\u0443\u0442\u0441\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '9'> UTC\/GMT+9 (\u042f\u043a\u0443\u0442\u0441\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '10'> UTC\/GMT+10 (\u0412\u043b\u0430\u0434\u0438\u0432\u043e\u0441\u0442\u043e\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '11'> UTC\/GMT+11 (\u041a\u0430\u043c\u0447\u0430\u0442\u043a\u0430)&lt;\/option>\";         response_message += \"&lt;option value = '1'> UTC\/GMT+1(\u0426\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u0415\u0432\u0440\u043e\u043f\u0430)&lt;\/option>\";         response_message += \"&lt;option value = '0'> UTC\/GMT-0 (\u0413\u0440\u0438\u043d\u0432\u0438\u0447)&lt;\/option>\";         response_message += \"&lt;option value = '-2'> UTC\/GMT-2 (\u0421\u0440\u0435\u0434\u043d\u0435\u0430\u0442\u043b\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f)&lt;\/option>\";         response_message += \"&lt;option value = '-3'> UTC\/GMT-3 (\u0410\u0440\u0433\u0435\u043d\u0442\u0438\u043d\u0430)&lt;\/option>\";         response_message += \"&lt;option value = '-4'> UTC\/GMT-4 (\u041a\u0430\u043d\u0430\u0434\u0430)&lt;\/option>\";         response_message += \"&lt;option value = '-5'> UTC\/GMT-5 (\u041d\u044c\u044e-\u0419\u043e\u0440\u043a)&lt;\/option>\";         response_message += \"&lt;option value = '-6'> UTC\/GMT-6 (\u0427\u0438\u043a\u0430\u0433\u043e)&lt;\/option>\";         response_message += \"&lt;option value = '-7'> UTC\/GMT-7 (\u0414\u0435\u043d\u0432\u0435\u0440)&lt;\/option>\";         response_message += \"&lt;option value = '-8'> UTC\/GMT-8 (\u041b\u043e\u0441-\u0410\u043d\u0434\u0436\u0435\u043b\u0435\u0441)&lt;\/option>\";         response_message += \"&lt;\/select>\";         response_message += \"&lt;br>&lt;br>&lt;input type='submit'>&lt;\/form>\";         response_message += \"&lt;a href=\\\"\/wlan_config\\\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f&lt;\/a>&lt;br>&lt;hr>\";         response_message += \"&lt;a href=\\\"\/update\\\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 (OTA)&lt;\/a>&lt;br>&lt;hr>\";         response_message += \"&lt;\/div>&lt;\/center>&lt;\/body>&lt;\/html>\";      httpServer.send(200, \"text\/html\", response_message); } \/\/\/====================================================  void setting() {   String response_message = \"&lt;html>\";   response_message +=\"&lt;head>\";   response_message +=\"&lt;title>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0435\u043e\u043d\u043e\u0432\u044b\u0445 \u0447\u0430\u0441\u043e\u0432&lt;\/title>\";   response_message += \"&lt;meta http-equiv=\\\"Content-Type\\\" content=\\\"text\/html; charset=utf-8;\\\" \/>\";   response_message += \"&lt;style type=\\\"text\/css\\\">body{background-color: #7D8EE2;color:#FFF;}a {color:#73B9FF;}.blockk {border:solid 1px #2d2d2d;text-align:center;background:#0059B3;padding:10px 10px 10px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}\";   response_message += \".blockk{border:double 2px #000000;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;}\";   response_message +=\"&lt;\/style>&lt;style type=\\\"text\/css\\\" media=\\'(min-width: 810px)\\'>body{font-size:18px;}.blockk {width: 400px;}&lt;\/style>\";   response_message +=\"&lt;style type=\\\"text\/css\\\" media=\\'(max-width: 800px) and (orientation:landscape)\\'>body{font-size:8px;}&lt;\/style>&lt;\/head>\";   response_message += \"&lt;body>&lt;center>&lt;div class=\\\"blockk\\\">\";   response_message += \"\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Smart Power Switch &lt;br>&lt;hr>\";   \/\/time display   response_message += \"&lt;b>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430: \"+String(ESP.getChipId())+\" &lt;\/b>&lt;hr>\";   \/\/time   int times =(millis()\/1000);   int timehour =(((times)  % 86400L) \/ 3600);     if ( ((times % 3600) \/ 60) &lt; 10 ) {       int timehour = 0;           }     int timeminuts=((times  % 3600) \/ 60); \/\/ print the minute (3600 equals secs per minute)      if ( (times % 60) &lt; 10 ) {       int timeminuts = 0;         }     int timeseconds=(times % 60); \/\/ print the second           response_message += \"&lt;div id=\\\"content3\\\">\"+String(timehour)+\":\"+String(timeminuts)+\":\"+String(timeseconds)+\"&lt;\/div>\";          if (WiFi.status() == WL_CONNECTED){     IPAddress ip = WiFi.localIP();     String ipStr = String(ip[0]) + '.' + String(ip[1]) + '.' + String(ip[2]) + '.' + String(ip[3]);     response_message += \"&lt;br>&lt;hr>\u0421\u0442\u0430\u0442\u0443\u0441: \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u0441\u0435\u0442\u0438 \"+String(WiFi.SSID())+\"&lt;br>\";     response_message += \"\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u0430: \"+String(WiFi.RSSI())+\" dBi &lt;br>&lt;hr>\";     response_message += \"IP \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f: \"+String(ipStr)+\"&lt;br>&lt;hr>\";        }else{     response_message += \"&lt;br>&lt;hr>WLAN \u0441\u0442\u0430\u0442\u0443\u0441: \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u043e&lt;br>&lt;hr>\";   }   \/\/\/==== String qsid =  httpServer.arg(\"ssid\");         String qpass =  httpServer.arg(\"pass\");         if (qsid.length() > 0 &amp;&amp; qpass.length() > 0) {           timeZone = qpass.toInt();           for (int i = 0; i &lt; 96; ++i) { EEPROM.write(i, 0); }            for (int i = 0; i &lt; qsid.length(); ++i)             {               EEPROM.write(i, qsid[i]);             }                    for (int i = 0; i &lt; qpass.length(); ++i)             {               EEPROM.write(32+i, qpass[i]);              }               EEPROM.commit();           timeZone = qpass.toInt();           ntpServerName2 = string_to_char(qsid);           response_message += \"\u0412\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043e! \u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043e \u0432 \u043f\u0430\u043c\u044f\u0442\u0438... \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 &lt;br>\";           statusCode = 200;         } else {           response_message += \"\u041e\u0448\u0438\u0431\u043a\u0430! \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435\u0435 &lt;br>\";           statusCode = 404;                    }              \/\/\/\/===      response_message += \"&lt;a href=\\\"\/wlan_config\\\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f&lt;\/a>&lt;br>&lt;hr>\";   response_message += \"&lt;a href=\\\"\/update\\\">\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 (OTA)&lt;\/a>&lt;br>&lt;hr>\";   response_message += \"&lt;a href=\\\"\/\\\">\u0413\u043b\u0430\u0432\u043d\u0430\u044f&lt;\/a>&lt;br>&lt;hr>\";   response_message += \"&lt;\/div>&lt;\/center>&lt;\/body>&lt;\/html>\";      httpServer.send(200, \"text\/html\", response_message); } void timess(){   String response_message = \"\";   String timenow = String(hour())+\":\"+twoDigits(minute())+\":\"+twoDigits(second());  response_message += String(timenow);  httpServer.send(200, \"text\/html\", response_message); } void testpage(){   String response_message = \"\";  int times =(millis()\/1000);   int timehour =(((times)  % 86400L) \/ 3600);     if ( ((times % 3600) \/ 60) &lt; 10 ) {       \/\/ In the first 10 minutes of each hour, we'll want a leading '0'       int timehour = 0;                }     int timeminuts=((times  % 3600) \/ 60); \/\/     if ( (times % 60) &lt; 10 ) {       int timeminuts = 0;         }     int timeseconds=(times % 60); \/\/         String timenow = String(timehour)+\":\"+twoDigits(timeminuts)+\":\"+twoDigits(timeseconds);   response_message += String(timenow);  httpServer.send(200, \"text\/html\", response_message); }  void SSDP_init(){               SSDP.setName(\"V.G.C. Smart Device Network\");               SSDP.setSchemaURL(\"description.xml\");               SSDP.setHTTPPort(80);               SSDP.setName(\"NixieClock IN-14\");               SSDP.setSerialNumber(String(ESP.getChipId()));               SSDP.setURL(\"index.html\");               SSDP.setModelName(\"NixieClock IN-14\");               SSDP.setModelNumber(\"1.1.5\");               SSDP.setModelURL(\"https:\/\/cyberex.online\");               SSDP.setManufacturer(\"V.G.C. Smart Electronics\");               SSDP.setManufacturerURL(\"https:\/\/cyberex.online\");               SSDP.begin();            }                    void HTTP_init(){               httpServer.on(\"\/index.html\", HTTP_GET, [](){               httpServer.send(200, \"text\/plain\", \"NixieClock IN-14\");              });               httpServer.on(\"\/description.xml\", HTTP_GET, [](){               SSDP.schema(httpServer.client());              });               httpServer.begin();          }     char* string_to_char(String char_var){ \/\/\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0432 char          char char_var_resp[char_var.length()];          char_var.toCharArray(char_var_resp, char_var.length()+1);          return char_var_resp;          }           \/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0445 \u044f\u0447\u0435\u0439\u043a\u0438    String read_EEPROM(int star_t, int end_t){             String data;             for(int i = star_t; i &lt; end_t; ++i){             int bu = EEPROM.read(i);               if(bu > 31 &amp;&amp; bu &lt; 241){                  data += char(bu);               }               }             return data;          }     \/\/ \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u044f\u0447\u0435\u0439\u043a\u0438         String save_EEPROM (String data, int cell_start, int cell_end){                     for (int i = cell_start; i &lt; cell_end; ++i) \/\/\u0441\u0442\u0438\u0440\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0438\u0441\u044c\u044e            {              EEPROM.write(i, 0);              }           for (int i = 0; i &lt; data.length(); ++i) \/\/\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u044f\u0447\u0435\u0439\u043a\u0438             {             EEPROM.write(cell_start+i, data[i]);             }                 EEPROM.commit();                     return data;    }              <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0443\u0434\u0430\u0447\u043d\u043e\u0439 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 \u0438 \u043f\u0435\u0440\u0432\u043e\u043c \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438, \u0447\u0430\u0441\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0443\u0442 Wi-Fi \u0442\u043e\u0447\u043a\u0443 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0414\u043b\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u043e\u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 (\u043f\u0430\u0440\u043e\u043b\u044c \u0441\u0435\u0442\u0438 \u0443\u043a\u0430\u0437\u0430\u043d \u0432 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435) \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u044f \u043f\u043e IP \u0430\u0434\u0440\u0435\u0441\u0443 192.168.4.1 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0447\u0430\u0441\u043e\u0432. \u041d\u0438\u0436\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/3w\/a1\/ql\/3wa1qlvpcgz79o9ni7-h6zxjles.png\" title=\"\u0412\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/3w\/a1\/ql\/3wa1qlvpcgz79o9ni7-h6zxjles.png\"\/><\/div>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0430\u0441\u043e\u0432, \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0432\u0430\u0448\u0435\u0439 Wi-Fi \u0441\u0435\u0442\u0438, \u0443\u043a\u0430\u0437\u0430\u0442\u044c NTP \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0432\u0430\u0448 \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441. \u0417\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0447\u0430\u0441\u044b. \u0412\u0441\u0451, \u0447\u0430\u0441\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e. <\/p>\n<h2><font color=\"#1c22be\">\u276f<\/font> <font color=\"#454cee\">\u0427\u0442\u043e \u0432 \u0438\u0442\u043e\u0433\u0435?<\/font><\/h2>\n<p>  \u0412 \u0438\u0442\u043e\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u044b \u043d\u0430 \u043b\u0430\u043c\u043f\u043e\u0432\u044b\u0445 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445, \u0433\u0434\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0430\u043d\u0442\u0438\u043a\u0432\u0430\u0440\u043d\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u0442\u0438\u043f\u0430 \u041a155\u0418\u04141, \u0432\u0441\u044f \u0441\u0445\u0435\u043c\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u043d\u0430 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043d\u043e\u0439 \u0431\u0430\u0437\u0435. \u0427\u0430\u0441\u044b \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u0440\u0443\u0447\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e NTP \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0447\u0442\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438, \u0440\u0430\u0431\u043e\u0442\u0430\u044f \u0443\u0436\u0435 \u0431\u043e\u043b\u0435\u0435 \u043f\u044f\u0442\u0438 \u043b\u0435\u0442. <\/p>\n<p>  \u0415\u0441\u0442\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0447\u0430\u0441\u044b \u043d\u0430 \u0431\u0430\u0437\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043b\u0430\u043c\u043f \u0418\u041d-18, \u043d\u043e \u043f\u043e\u043a\u0430 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043b\u0430\u043c\u043f \u043c\u0435\u043d\u044f \u043f\u0443\u0433\u0430\u0435\u0442).<\/p>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e, \u0447\u0442\u043e \u0434\u043e\u0447\u0438\u0442\u0430\u043b\u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430! \u0415\u0441\u043b\u0438 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c, \u0442\u043e \u0432\u044b \u0437\u043d\u0430\u0435\u0442\u0435 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u0418 \u043a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430, \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f, \u043e\u0441\u0443\u0436\u0434\u0435\u043d\u0438\u0435? \ud83d\ude42 \u2014 \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438. \u0414\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438 \u0432 \u043d\u043e\u0432\u044b\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445! <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0431\u043e\u043d\u0443\u0441, \u0444\u043e\u0442\u043e \u0438\u0437 \u0430\u0440\u0445\u0438\u0432\u0430<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/2a\/xp\/lr\/2axplrarkv-yzlgnmpdsuehrlfa.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/2a\/xp\/lr\/2axplrarkv-yzlgnmpdsuehrlfa.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/jk\/9s\/zf\/jk9szfg1ig01asoepwf_1fiawo8.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/jk\/9s\/zf\/jk9szfg1ig01asoepwf_1fiawo8.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/7f\/bu\/41\/7fbu41bd3fwwshovpqbx2losogg.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/7f\/bu\/41\/7fbu41bd3fwwshovpqbx2losogg.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/tq\/xw\/1y\/tqxw1yaakejqg3izg0bmzfzpnsq.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/tq\/xw\/1y\/tqxw1yaakejqg3izg0bmzfzpnsq.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/wh\/mt\/ll\/whmtll8zp5acgxbdfmrxtu2rczc.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/wh\/mt\/ll\/whmtll8zp5acgxbdfmrxtu2rczc.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/dn\/tg\/rk\/dntgrk5pi5dztrro6yf_jidtayk.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/dn\/tg\/rk\/dntgrk5pi5dztrro6yf_jidtayk.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/2h\/gx\/zx\/2hgxzxpqhuqrhbl_l35h_tixbs8.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/2h\/gx\/zx\/2hgxzxpqhuqrhbl_l35h_tixbs8.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ff\/o8\/ud\/ffo8udseqbmpezgyi-acw4hkisg.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/ff\/o8\/ud\/ffo8udseqbmpezgyi-acw4hkisg.jpeg\" data-blurred=\"true\"\/><\/div>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/0g\/tl\/yz\/0gtlyz5sziju6ynaugkoq93f8bo.jpeg\" title=\"\u0418\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043b\u0430\u0442\u044b \u0434\u043b\u044f \u0447\u0430\u0441\u043e\u0432\" width=\"458\" data-src=\"https:\/\/habrastorage.org\/webt\/0g\/tl\/yz\/0gtlyz5sziju6ynaugkoq93f8bo.jpeg\" data-blurred=\"true\"\/><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>  <\/p>\n<h4><font color=\"#454cee\">\u0421\u0441\u044b\u043b\u043a\u0438 \u043a \u0441\u0442\u0430\u0442\u044c\u0435:<\/font><\/h4>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/3dtoday.ru\/3d-models\/art\/design\/korpus-dlya-neonovyx-casov\">\u041c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0440\u043f\u0443\u0441\u0430 \u0447\u0430\u0441\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/VGCH\/retroCLOCK_web_CD4028BM\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430 GitHub (\u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043b\u0430\u0442\u044b)<\/a><\/li>\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.vgc.ssdpscan\">\u041c\u043e\u0451 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043c\u043e\u0438\u043c(\u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e) \u0441\u0430\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c.<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<hr\/>\n<p>  <\/p>\n<h4><font color=\"#454cee\">\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u044d\u0442\u043e:<\/font><\/p>\n<ul>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/774806\/\">\u041d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u043c\u043d\u0435 \u0432 \u043f\u043e\u043c\u043e\u0449\u044c \u0438\u043b\u0438 \u043a\u0430\u043a \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c \u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0435\u0441\u043d\u0438<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/777502\/\">DongShan Pi Pico-W: \u043a\u0440\u043e\u0448\u0435\u0447\u043d\u044b\u0439 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a \u0441 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0447\u0438\u043f\u0441\u0435\u0442\u043e\u043c \u0437\u0430 600 \u0440\u0443\u0431\u043b\u0435\u0439<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/775650\/\">\u0426\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0442\u0435\u0440\u043c\u043e\u043c\u0435\u0442\u0440 \u043d\u0430 \u0436\u0435\u0441\u0442\u043a\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0435<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/775694\/\">\u0412\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u0430 VGA \u0434\u043b\u044f \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u041e\u0442 \u0438\u0434\u0435\u0438 \u0434\u043e \u043c\u0435\u043b\u043a\u043e\u0439 \u0441\u0435\u0440\u0438\u0438<\/a><\/li>\n<li>\u27a4 <a href=\"https:\/\/habr.com\/ru\/companies\/timeweb\/articles\/778084\/\">\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0441\u0442\u0443\u0434\u0438\u0438 Remedy. \u0421\u0443\u0434\u044c\u0431\u0430 \u043f\u043e\u0434 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u043c<\/a><\/li>\n<\/ul>\n<p>  <a href=\"https:\/\/timeweb.cloud\/?i=106909\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/b5\/pj\/of\/b5pjofdoxth14ro-rjsrn7sbmiy.png\" data-src=\"https:\/\/habrastorage.org\/webt\/b5\/pj\/of\/b5pjofdoxth14ro-rjsrn7sbmiy.png\"\/><\/a><\/h4>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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:\/\/habr.com\/ru\/articles\/777136\/\"> https:\/\/habr.com\/ru\/articles\/777136\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/w2\/oh\/xl\/w2ohxlw84b2wzwsl_mm3jp6ojp8.jpeg\" title=\"\u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430 \u0434\u043b\u044f \u0441\u0442\u0430\u0442\u044c\u0438\" width=\"858\" data-src=\"https:\/\/habrastorage.org\/webt\/w2\/oh\/xl\/w2ohxlw84b2wzwsl_mm3jp6ojp8.jpeg\" data-blurred=\"true\"\/><\/div>\n<p>  \u0420\u0430\u0434\u0438\u043e\u043b\u0430\u043c\u043f\u044b, \u0441\u043b\u043e\u0432\u043d\u043e \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442\u044b \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e, \u043e\u043b\u0438\u0446\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u043d\u0435\u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0435, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e. \u041e\u043d\u0438 \u043d\u0435\u0441\u0443\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u043c\u0430\u0433\u0438\u044e, \u043e\u0442\u0440\u0430\u0436\u0430\u044e\u0449\u0443\u044e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u0430\u0441\u0442\u0435\u0440\u0441\u0442\u0432\u0430 \u0438 \u044d\u0441\u0442\u0435\u0442\u0438\u043a\u0438. \u041d\u0435 \u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u0447\u0430\u0441\u044b \u043d\u0430 \u043d\u0435\u043e\u043d\u043e\u0432\u044b\u0445 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430\u0445 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u043d\u0438\u0448\u0443 \u0432 \u043c\u0438\u0440\u0435 \u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u0438 \u0438\u043d\u0442\u0435\u0440\u044c\u0435\u0440\u0430. \u041e\u043d\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043d\u043e \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0435\u043a\u043e\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0430\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u0443 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f. \u042d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f Nixie Clock \u043d\u0430 \u0431\u0430\u0437\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. <\/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-361503","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/361503","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=361503"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/361503\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=361503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=361503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=361503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}