{"id":306642,"date":"2020-07-08T15:00:57","date_gmt":"2020-07-08T15:00:57","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=306642"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=306642","title":{"rendered":"\u041e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 speedtest \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 LTE-\u043c\u043e\u0434\u0435\u043c\u0430\u0445"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510046\/\">\u041d\u0430 \u043a\u0430\u0440\u0430\u043d\u0442\u0438\u043d\u0435 \u043c\u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 LTE-\u043c\u043e\u0434\u0435\u043c\u043e\u0432 \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u0438. <\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510046\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/6h\/ug\/eo\/6hugeoudx6hnugony4hktf8olus.jpeg\"><\/div>\n<p><\/a><\/p>\n<p>  \u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0445\u043e\u0442\u0435\u043b \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0432\u044f\u0437\u0438 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u043e\u0447\u043a\u0430\u0445, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0435\u043c\u0443 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u0435\u043d \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0435 LTE-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e\u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0439. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0434\u0435\u0448\u0435\u0432\u043e, \u0431\u0435\u0437 \u0434\u043e\u0440\u043e\u0433\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0438 \u043d\u0430\u0443\u043a\u043e\u0435\u043c\u043a\u0430\u044f, \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0438\u0441\u044c \u0438 \u043a\u0430\u043a \u044f \u0438\u0445 \u0440\u0435\u0448\u0430\u043b. \u0418\u0442\u0430\u043a, \u043f\u043e\u0435\u0445\u0430\u043b\u0438.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2><font color=\"#3AC1EF\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u0418\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 LTE-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0434\u0435\u043b\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0441\u043b\u043e\u0436\u043d\u043e\u0435: \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0438 \u043c\u0435\u0442\u043e\u0434\u0438\u043a\u0443 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f, \u0442\u0430\u043a\u0436\u0435 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u044e \u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0438. \u041f\u043b\u044e\u0441 \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0430\u0431\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 \u0441\u043e\u0442\u0435, \u043f\u043e\u0433\u043e\u0434\u043d\u044b\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u044f, \u0434\u0430\u0436\u0435 \u043e\u0442 \u0441\u043e\u0442\u044b \u043a \u0441\u043e\u0442\u0435 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c\u0441\u044f \u0438\u0437-\u0437\u0430 \u0442\u043e\u043f\u043e\u043b\u043e\u0433\u0438\u0438 \u0441\u0435\u0442\u0438. \u0412 \u043e\u0431\u0449\u0435\u043c, \u044d\u0442\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445, \u0438 \u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u0432\u044f\u0437\u0438.<\/p>\n<p>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0445\u043e\u0442\u0435\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0433\u043e\u043d\u044f\u0442\u044c \u043a\u0443\u0440\u044c\u0435\u0440\u0430 \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432, \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435 \u0438 \u0434\u0430\u043b\u0435\u0435 \u0432 \u0442\u0435\u0442\u0440\u0430\u0434\u043a\u0443 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u041c\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0441\u0435\u0442\u0435\u0439 lte, \u0445\u043e\u0442\u044c \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e, \u043d\u043e \u0440\u0435\u0448\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<p>  \u0418\u0437-\u0437\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u043b \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u043b\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u043e\u0441\u0442\u0438, \u0430 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u043b\u0441\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 ssh, \u0432\u043c\u0435\u0441\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u043d\u043e\u0433\u043e vpn, \u0440\u0430\u0434\u0438 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430.<\/p>\n<h2><font color=\"#3AC1EF\">\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u041a\u0430\u043a \u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 <a href=\"https:\/\/habr.com\/ru\/post\/315046\/\">\u0411\u0435\u0437 \u0422\u0417: \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0435 \u0445\u043e\u0447\u0435\u0442 \u0435\u0433\u043e<\/a>: <u>\u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0431\u0435\u0437 \u0422\u0417! \u041d\u0438\u043a\u043e\u0433\u0434\u0430, \u043d\u0438\u0433\u0434\u0435!<\/u><\/p>\n<p>  \u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0435\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u044e \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0412\u044b\u0431\u043e\u0440 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u044b\u043b \u043f\u0440\u043e\u0434\u0438\u043a\u0442\u043e\u0432\u0430\u043d \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u043c. \u0418\u0442\u0430\u043a, \u0441\u0430\u043c\u043e \u0422\u0417, \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0439:<\/p>\n<blockquote><p>\u041d\u0430 \u0431\u0430\u0437\u0435 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 <b>vim2<\/b> \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u0435\u0440 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 lte-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043c\u044b H<b>uawei e3372h \u2014 153<\/b> \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0432\u044f\u0437\u0438 (\u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u043e n). \u0422\u0430\u043a \u0436\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0441 GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e UART. \u0417\u0430\u043c\u0435\u0440\u044b \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 <a href=\"https:\/\/www.speedtest.net\/\">www.speedtest.net<\/a> \u0438 \u0441\u0432\u043e\u0434\u0438\u0442\u044c \u0438\u0445 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0432\u0438\u0434\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/v7\/uu\/9u\/v7uu9u2lukpx3pth4ow_rw3d34e.png\"><\/p>\n<p>  \u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 csv. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043e\u0442\u0441\u044b\u043b\u0430\u0442\u044c \u043d\u0430 \u0435-\u043c\u0430\u0439\u043b \u043a\u0430\u0436\u0434\u044b\u0435 6 \u0447\u0430\u0441\u043e\u0432 \u0434\u0430\u043d\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0443. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043c\u0438\u0433\u0430\u0442\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a GPIO.<\/p><\/blockquote>\n<p>  \u0422\u0417 \u044f \u043e\u043f\u0438\u0441\u0430\u043b \u0432 \u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435, \u043f\u043e\u0441\u043b\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0439. \u041d\u043e \u0441\u043c\u044b\u0441\u043b \u0437\u0430\u0434\u0430\u0447\u0438 \u0443\u0436\u0435 \u0432\u0438\u0434\u0435\u043d. \u0421\u0440\u043e\u043a \u043d\u0430 \u0432\u0441\u0435 \u043f\u0440\u043e \u0432\u0441\u0435 \u0431\u044b\u043b \u0434\u0430\u043d \u043d\u0435\u0434\u0435\u043b\u044f. \u041d\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043e\u043d \u0440\u0430\u0441\u0442\u044f\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u0442\u0440\u0438 \u043d\u0435\u0434\u0435\u043b\u0438. \u042d\u0442\u043e \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044f \u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u043f\u043e \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u043c.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044f \u0445\u043e\u0447\u0443 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u043e\u043c \u0431\u044b\u043b\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043e\u0433\u043e\u0432\u043e\u0440\u0435\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043b\u043e \u043c\u043e\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438. \u0411\u044b\u043b \u0442\u0430\u043a \u0436\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u0431\u044e\u0434\u0436\u0435\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0441\u043e\u0431\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u043a\u0443\u043f\u0430\u043b\u043e\u0441\u044c. \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0433\u0440\u0430\u0442\u044c \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c. <\/p>\n<h2><font color=\"#3AC1EF\">\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430<\/font><\/h2>\n<p>  \u0421\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u0430 \u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0441\u0442\u0430\u0432\u043b\u044e \u0435\u0435 \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/sj\/sy\/nm\/sjsynmfycigsaobcv0p3cgoxnt0.png\"><\/p>\n<p>  \u0412\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0440\u0435\u0448\u0438\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 python, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043e\u043f\u044b\u0442\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044d\u0442\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u043e\u0432\u0441\u0435\u043c. \u0412\u044b\u0431\u0440\u0430\u043b \u0435\u0433\u043e, \u0442\u0430\u043a \u043a\u0430\u043a \u0431\u044b\u043b\u0430 \u043a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u043b\u0438 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043f\u0440\u043e\u0448\u0443 \u0432\u0441\u0435\u0445 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u043d\u0435 \u0440\u0443\u0433\u0430\u0442\u044c \u043c\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u043f\u044b\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 python, \u0438 \u0432\u0441\u0435\u0433\u0434\u0430 \u0441 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435\u043c \u0433\u043e\u0442\u043e\u0432 \u0443\u0441\u043b\u044b\u0448\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043a\u0440\u0438\u0442\u0438\u043a\u0443, \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u043a\u0438\u043b\u043b\u0430. <\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043e\u0442\u043a\u0440\u044b\u043b, \u0447\u0442\u043e python \u0438\u043c\u0435\u0435\u0442 \u0434\u0432\u0435 \u0445\u043e\u0434\u043e\u0432\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 2 \u0438 3, \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u0439. <\/p>\n<h2><font color=\"#3AC1EF\">\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0435 \u0443\u0437\u043b\u044b<\/font><\/h2>\n<p>  <\/p>\n<h3>\u041e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a vim2<\/h3>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u043c\u043d\u0435 \u0431\u044b\u043b \u0434\u0430\u043d \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a <a href=\"https:\/\/www.khadas.com\/vim2\">vim2<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/tc\/_-\/5s\/tc_-5sy4xxm3pxnl3ga-gphoix4.png\"><\/p>\n<p>  \u041e\u0442\u043b\u0438\u0447\u043d\u044b\u0439, \u043c\u043e\u0449\u043d\u044b\u0439 \u043c\u0435\u0434\u0438\u0430\u043a\u043e\u043c\u0431\u0430\u0439\u043d \u0434\u043b\u044f \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430 \u0438 SMART-TV, \u043d\u043e \u043d\u0430 \u0440\u0435\u0434\u043a\u043e\u0441\u0442\u044c \u043d\u0435\u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438, \u0438\u043b\u0438 \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u0441\u043b\u0430\u0431\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0433\u043e \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u041e\u0421 \u2014 \u044d\u0442\u043e Android, \u0430 Linux \u2014 \u044d\u0442\u043e \u043f\u043e\u043f\u0443\u0442\u043d\u0430\u044f \u041e\u0421, \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u043e\u0432 \u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 \u043f\u043e\u0434 Linux. \u0418 \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0431\u044b\u043b\u0430 \u0441\u0432\u044f\u0437\u0430\u043d\u0430 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430\u043c\u0438 USB \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0434\u0435\u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435 \u043d\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u0436\u0438\u0434\u0430\u043b. \u0422\u0430\u043a \u0436\u0435 \u0443 \u043d\u0435\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043b\u043e\u0445\u0430\u044f \u0438 \u0440\u0430\u0437\u0440\u043e\u0437\u043d\u0435\u043d\u043d\u0430\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430 \u043c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u043f\u0430\u043d\u0438\u044f \u0432 \u0434\u043e\u043a\u0430\u0445. \u0414\u0430\u0436\u0435 \u0440\u044f\u0434\u043e\u0432\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 GPIO \u043f\u043e\u043f\u0438\u043b\u0430 \u043c\u043d\u043e\u0433\u043e \u043a\u0440\u043e\u0432\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c, \u043c\u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u043e\u0432. \u041d\u043e, \u0435\u0441\u043b\u0438 \u0431\u044b\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u043c, \u0442\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u0437\u0430 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0438 \u0431\u044b\u043b\u0438 USB-\u043f\u043e\u0440\u0442\u044b. <\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Linux \u043d\u0430 \u0434\u0430\u043d\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0443. \u0427\u0442\u043e\u0431\u044b \u043d\u0435 \u0440\u044b\u0441\u043a\u0430\u0442\u044c \u0432\u0441\u0435\u043c \u043f\u043e \u0434\u0435\u0431\u0440\u044f\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u044d\u0442\u0438\u043c \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u043e\u043c, \u043f\u0438\u0448\u0443 \u0434\u0430\u043d\u043d\u0443\u044e \u0433\u043b\u0430\u0432\u0443.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u0434\u0432\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043b\u0438\u043d\u0443\u043a\u0441: \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u044e\u044e SD-\u043a\u0430\u0440\u0442\u0443, \u043b\u0438\u0431\u043e \u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e MMC. \u0421 \u043a\u0430\u0440\u0442\u043e\u0439 \u044f \u043f\u043e\u0431\u0438\u043b\u0441\u044f \u0432\u0435\u0447\u0435\u0440\u043e\u043a, \u0442\u0430\u043a \u0438 \u043d\u0435 \u0432\u043a\u0443\u0440\u0438\u043b \u043a\u0430\u043a \u0436\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0448\u0438\u043b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u043d\u0430 MMC, \u0445\u043e\u0442\u044f \u0431\u0435\u0437 \u0441\u043e\u043c\u043d\u0435\u043d\u0438\u044f \u0441 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043a\u0430\u0440\u0442\u043e\u0439 \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0449\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <\/p>\n<p>  \u041e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435 <a href=\"https:\/\/docs.khadas.com\/vim2\/HowtoBootIntoUpgradeMode.html\">\u043a\u0440\u0438\u0432\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u0442\u0443\u0442<\/a>. \u041f\u0435\u0440\u0435\u0432\u043e\u0436\u0443 \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u0438\u0439. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0448\u0438\u0442\u044c \u043f\u043b\u0430\u0442\u0443, \u043c\u043d\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 UART. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u043b \u0435\u0433\u043e <a href=\"https:\/\/docs.khadas.com\/vim2\/SetupSerialTool.html\">\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/a><\/p>\n<ul>\n<li>Tool Pin GND: &lt;\u2014&gt; Pin17 of VIMs\u2019s GPIO<\/li>\n<li>Tool Pin TXD: &lt;\u2014&gt; Pin18 of VIMs\u2019s GPIO (Linux_Rx)<\/li>\n<li>Tool Pin RXD: &lt;\u2014&gt; Pin19 of VIMs\u2019s GPIO (Linux_Tx)<\/li>\n<li>Tool Pin VCC: &lt;\u2014&gt; Pin20 of VIMs\u2019s GPIO<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1k\/qy\/tf\/1kqytfgzwf8szfyrvjqio2rzjic.jpeg\"><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e, \u044f \u0441\u043a\u0430\u0447\u0430\u043b \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 <a href=\"https:\/\/docs.khadas.com\/firmware\/\">\u043e\u0442\u0441\u044e\u0434\u0430<\/a>. \u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 <a href=\"https:\/\/dl.khadas.com\/Firmware\/VIM1\/Ubuntu\/EMMC\/VIM1_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.7z\">VIM1_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231<\/a>. <\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443, \u043c\u043d\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u043d\u0443\u0436\u043d\u044b \u0443\u0442\u0438\u043b\u0438\u0442\u044b. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e <a href=\"https:\/\/docs.khadas.com\/vim2\/UpgradeViaUSBCable.html\">\u0442\u0443\u0442<\/a>. \u041f\u043e\u0434 Windows \u043d\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u0442\u044c, \u0430 \u0432\u043e\u0442 \u043e \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0435 \u043f\u043e\u0434 Linux \u043d\u0430\u0434\u043e \u043f\u0430\u0440\u0443 \u0441\u043b\u043e\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b, \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.<\/p>\n<pre><code class=\"bash\">git clone https:\/\/github.com\/khadas\/utils cd \/path\/to\/utils sudo .\/INSTALL<\/code><\/pre>\n<p>  \u0418\u0438\u0438\u2026 \u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043f\u0430\u0440\u0443 \u0447\u0430\u0441\u043e\u0432 \u0437\u0430\u043d\u0438\u043c\u0430\u044f\u0441\u044c \u043f\u0440\u0430\u0432\u043a\u0430\u043c\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u0447\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u043e\u0441\u044c \u0443 \u043c\u0435\u043d\u044f. \u0427\u0442\u043e \u0442\u0430\u043c \u0434\u0435\u043b\u0430\u043b \u043d\u0435 \u043f\u043e\u043c\u043d\u044e, \u043d\u043e \u0442\u043e\u0436\u0435 \u0435\u0449\u0435 \u0442\u043e\u0442 \u0446\u0438\u0440\u043a \u0441 \u043a\u043e\u043d\u044f\u043c\u0438. \u0422\u0430\u043a \u0447\u0442\u043e \u0431\u0443\u0434\u044c\u0442\u0435 \u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u044b. \u041d\u043e \u0431\u0435\u0437 \u044d\u0442\u0438\u0445 \u0443\u0442\u0438\u043b\u0438\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u043c\u0443\u0447\u0438\u0442\u044c vim2 \u0441\u043c\u044b\u0441\u043b\u0430 \u043d\u0435\u0442. \u041b\u0443\u0447\u0448\u0435 \u0441 \u043d\u0438\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f!<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0441\u0435\u043c\u0438 \u043a\u0440\u0443\u0433\u043e\u0432 \u0430\u0434\u0430, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0443\u0442\u0438\u043b\u0438\u0442. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b \u043f\u043b\u0430\u0442\u0430 \u043f\u043e USB \u043a \u043c\u043e\u0435\u043c\u0443 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u043b\u0438\u043d\u0443\u043a\u0441, \u0438 \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d UART \u043f\u043e \u0441\u0445\u0435\u043c\u0435 \u0432\u044b\u0448\u0435.<br \/>  \u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e \u043c\u043e\u0439 \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b minicom \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c 115200, \u0431\u0435\u0437 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u043e\u0448\u0438\u0431\u043e\u043a. \u0418 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/re\/hy\/vr\/rehyvrkxzaakeq5ndsexeozckn0.png\"><\/p>\n<p>  \u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 VIM2 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 UART \u043d\u0430\u0436\u0438\u043c\u0430\u044e \u043a\u0430\u043a\u0443\u044e-\u043b\u0438\u0431\u043e \u043a\u043b\u0430\u0432\u0438\u0448\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0440\u043e\u0431\u0435\u043b, \u0447\u0442\u043e\u0431\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 <\/p>\n<pre><code class=\"bash\">kvim2# <\/code><\/pre>\n<p>  \u0412\u0432\u043e\u0436\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0443: <\/p>\n<pre><code class=\"bash\">kvim2# run update<\/code><\/pre>\n<p>  \u041d\u0430 \u0445\u043e\u0441\u0442\u0435, \u043e\u0442\u043a\u0443\u0434\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e:<\/p>\n<pre><code class=\"bash\">burn-tool -v aml -b VIM2 -i  VIM2_Ubuntu-server-bionic_Linux-4.9_arm64_EMMC_V20191231.img<\/code><\/pre>\n<p>  \u0412\u0441\u0435, \u0444\u0443\u0445. \u041f\u0440\u043e\u0448\u0438\u043b, \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u0435\u0441\u0442\u044c Linux. \u041b\u043e\u0433\u0438\u043d\/\u043f\u0430\u0440\u043e\u043b\u044c khadas:khadas.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0414\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u044e \u043f\u0430\u0440\u043e\u043b\u044c \u0443 sudo (\u0434\u0430, \u043d\u0435 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e, \u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e). <\/p>\n<pre><code class=\"bash\">sudo visudo<\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0434\u043e \u0432\u0438\u0434\u0430 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c<\/p>\n<pre><code class=\"plaintext\"># Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) NOPASSWD: ALL<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043c\u0435\u043d\u044f\u044e \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043b\u043e\u043a\u0430\u043b\u044c, \u0447\u0442\u043e\u0431\u044b \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b\u043e \u043f\u043e \u041c\u043e\u0441\u043a\u0432\u0435, \u0438\u043d\u0430\u0447\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e \u0413\u0440\u0438\u043d\u0432\u0438\u0447\u0443.<\/p>\n<pre><code class=\"plaintext\">sudo timedatectl set-timezone Europe\/Moscow<\/code><\/pre>\n<p>  \u043b\u0438\u0431\u043e<\/p>\n<pre><code class=\"bash\">ln -s \/usr\/share\/zoneinfo\/Europe\/Moscow \/etc\/localtime<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0441\u043b\u043e\u0436\u043d\u043e, \u0442\u043e \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u043e\u0439, \u043b\u0443\u0447\u0448\u0435 Raspberry Pi. \u0427\u0435\u0441\u0442\u043d\u043e. <\/p>\n<h3>\u041c\u043e\u0434\u0435\u043c Huawei e3372h \u2014 153<\/h3>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0435\u043c \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043f\u0438\u043b \u043a\u0440\u043e\u0432\u0438 \u0437\u043d\u0430\u0442\u043d\u043e, \u0438, \u043f\u043e \u0441\u0443\u0442\u0438, \u043e\u043d \u0438 \u0441\u0442\u0430\u043b \u0441\u0430\u043c\u044b\u043c \u0443\u0437\u043a\u0438\u043c \u043c\u0435\u0441\u0442\u043e\u043c \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0412\u043e\u043e\u0431\u0449\u0435, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u201c\u043c\u043e\u0434\u0435\u043c\u201d \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0441\u0443\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b: \u044d\u0442\u043e \u043c\u043e\u0449\u043d\u0435\u0439\u0448\u0438\u0439 \u043a\u043e\u043c\u0431\u0430\u0439\u043d, \u044d\u0442\u0430 \u0436\u0435\u043b\u0435\u0437\u044f\u043a\u0430 \u0438\u043c\u0435\u0435\u0442 \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u0440\u0438\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f CD-ROM \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0436\u0438\u043c \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u044b. <\/p>\n<p>  \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u043e, \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f Linux \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a: \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043c\u0430, \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 eth*, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e dhcp \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 ip \u0430\u0434\u0440\u0435\u0441 192.168.8.100, \u0438 \u0448\u043b\u044e\u0437 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 192.168.8.1. <\/p>\n<p>  \u0418 \u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442! <u>\u0414\u0430\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u043e\u0434\u0435\u043c\u0430, \u043d\u0435 \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u043c\u043e\u0434\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0410\u0422-\u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438<\/u>. \u0412\u0441\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0449\u0435, \u0441\u043e\u0437\u0434\u0430\u0442\u044c ppp-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u043e\u0434\u0435\u043c \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0443\u0436\u0435 \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043d\u0438\u043c\u0438. \u041d\u043e \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u00ab\u0441\u0430\u043c\u00bb (\u0442\u043e\u0447\u043d\u0435\u0435 \u0434\u0430\u0439\u0432\u0435\u0440\u0430 Linux \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c udev), \u0441\u043e\u0437\u0434\u0430\u0435\u0442 eth-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u043f\u043e dhcp \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u044e\u0442 \u0435\u043c\u0443 ip-\u0430\u0434\u0440\u0435\u0441. <\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0434\u0430\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u0437\u0430\u0431\u044b\u0442\u044c \u0441\u043b\u043e\u0432\u043e \u00ab\u043c\u043e\u0434\u0435\u043c\u00bb \u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0441\u0435\u0442\u0435\u0432\u0430\u044f \u043a\u0430\u0440\u0442\u0430 \u0438 \u0448\u043b\u044e\u0437, \u0438\u0431\u043e \u043f\u043e \u0441\u0443\u0442\u0438, \u044d\u0442\u043e \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u043a\u0430\u0440\u0442\u044b \u0441\u043e \u0448\u043b\u044e\u0437\u043e\u043c. <br \/>  \u041a\u043e\u0433\u0434\u0430 \u043e\u0434\u0438\u043d \u043c\u043e\u0434\u0435\u043c, \u044d\u0442\u043e \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u043d\u043e \u043a\u043e\u0433\u0434\u0430 \u0438\u0445 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0434\u043d\u043e\u0433\u043e, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e n-\u0448\u0442\u0443\u043a, \u0442\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u0441\u0435\u0442\u0438.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/17\/nh\/uh\/17nhuh6juw9o-w-eixuzgpn-j3e.png\"><\/p>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c n \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u043a\u0430\u0440\u0442, \u0441 \u043e\u0434\u043d\u0438\u043c IP-\u0430\u0434\u0440\u0435\u0441\u043e\u043c, \u0443 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435 \u0448\u043b\u044e\u0437 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041d\u043e \u043f\u043e \u0444\u0430\u043a\u0442\u0443, \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0443.<\/p>\n<p>  \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435: \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b ifconfig \u0438\u043b\u0438 ip \u0433\u0430\u0441\u0438\u0442\u044c \u0432\u0441\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043e\u0434\u0438\u043d \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u044b\u043b\u043e \u0432\u0441\u0435\u043c \u0445\u043e\u0440\u043e\u0448\u043e, \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u044f \u043d\u0435 \u0438\u043c\u0435\u043b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443. \u0410 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438 \u0447\u0430\u0441\u0442\u044b\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u044b\u0435, \u0442\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0443 \u043c\u0435\u043d\u044f \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435. <\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0432\u044b\u0431\u0440\u0430\u043b \u043f\u0443\u0442\u044c \u043c\u0435\u043d\u044f\u0442\u044c \u00ab\u0432\u0440\u0443\u0447\u043d\u0443\u044e\u00bb ip-\u0430\u0434\u0440\u0435\u0441\u0430 \u043c\u043e\u0434\u0435\u043c\u043e\u0432 \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0433\u043e\u043d\u044f\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/u-\/lv\/5c\/u-lv5ceagyxdd-7ygqkysdms9do.png\"><\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0443 \u043c\u0435\u043d\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043c\u043e\u0434\u0435\u043c\u0430\u043c\u0438 \u043d\u0435 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0438\u0441\u044c: \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c, \u043e\u043d\u0438 \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u043b\u0438\u0441\u044c, \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 USB-\u0445\u0430\u0431\u0430. \u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0440\u0435\u0448\u0438\u043b \u0436\u0435\u0441\u0442\u043a\u043e \u043f\u0440\u0438\u043f\u0430\u044f\u0432 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u043f\u0440\u044f\u043c\u043e \u043a \u0445\u0430\u0431\u0443. \u0414\u0440\u0443\u0433\u0430\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0438 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0433\u0443\u0431\u0438\u043b\u0430 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442: \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0438\u043b\u0438 \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0440\u0442\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043b\u0438\u0441\u044c \u043d\u0435 \u0432\u0441\u0435 \u043c\u043e\u0434\u0435\u043c\u044b \u0438 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430, \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u0438 \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u043c\u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c. \u041d\u043e \u043e\u0431\u043e \u0432\u0441\u0435\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443.<\/p>\n<p>  \u0414\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043c\u0430, \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u043f\u0430\u043a\u0435\u0442 usb-modeswitch.<\/p>\n<pre><code class=\"bash\">sudo apt update sudo apt install -y usb-modeswitch<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e, \u043c\u043e\u0434\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 udev. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u044e, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0432 \u043c\u043e\u0434\u0435\u043c \u0438 \u0443\u0431\u0435\u0434\u0438\u0432\u0448\u0438\u0441\u044c, \u0447\u0442\u043e \u0441\u0435\u0442\u044c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c.<br \/>  \u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u043d\u0435 \u0441\u043c\u043e\u0433 \u0440\u0435\u0448\u0438\u0442\u044c: \u044d\u0442\u043e \u043a\u0430\u043a \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0434\u0435\u043c\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043c\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c? \u0418\u043c\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0432 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u043c\u043e\u0434\u0435\u043c\u0430 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 192.168.8.1. \u042d\u0442\u043e \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c ajax-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u043e\u0441\u0442\u043e wget-\u0442\u043d\u0443\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u0441\u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0438\u043c\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0447\u0430\u043b \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u043a\u0430\u043a \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c web-\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0438 \u0442.\u043f., \u0438 \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0435\u0440\u0443\u043d\u0434\u043e\u0439. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043f\u043b\u044e\u043d\u0443\u043b, \u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u043d\u0430\u0447\u0430\u043b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e API \u0441\u0430\u043c\u043e\u0433\u043e Speedtest. <\/p>\n<p>  \u041c\u043d\u043e\u0433\u043e\u0435 \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u0440\u043e\u0449\u0435, \u0435\u0441\u043b\u0438 \u0431\u044b \u0443 \u043c\u043e\u0434\u0435\u043c\u0430 \u0431\u044b\u043b \u0431\u044b \u0434\u043e\u0441\u0442\u0443\u043f \u0447\u0435\u0440\u0435\u0437 AT-\u043a\u043e\u043c\u0430\u043d\u0434\u044b. \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0435\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c ppp-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c IP, \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u0432\u044f\u0437\u0438 \u0438 \u0442.\u0434. \u041d\u043e \u0443\u0432\u044b, \u0440\u0430\u0431\u043e\u0442\u0430\u044e \u0441 \u0442\u0435\u043c \u0447\u0442\u043e \u0434\u0430\u043b\u0438.<\/p>\n<h3>GPS<\/h3>\n<p>  GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043d\u0435 \u0432\u044b\u0434\u0430\u043b\u0438, \u0438\u043c\u0435\u043b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 UART \u0438 \u043f\u0438\u0442\u0430\u043d\u0438\u0435. \u042d\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u043b\u0443\u0447\u0448\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e\u0435. \u041f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u0431\u044b\u043b \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u0438\u0434\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/y-\/sn\/qy\/y-snqyqkk37sslhwkcyijd5ceje.png\"><\/p>\n<p>  \u0427\u0435\u0441\u0442\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0441 GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u043e\u043c, \u043d\u043e \u043a\u0430\u043a \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b, \u0432\u0441\u0435 \u0434\u0430\u0432\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043d\u043e \u0437\u0430 \u043d\u0430\u0441. \u0422\u0430\u043a \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u044e uart_AO_B (UART_RX_AO_B, UART_TX_AO_B) \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f GPS.<\/p>\n<pre><code class=\"bash\">khadas@Khadas:~$ sudo fdtput -t s \/dtb.img \/serial@c81004e0 status okay<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<pre><code class=\"bash\">khadas@Khadas:~$ fdtget \/dtb.img \/serial@c81004e0 status okay<\/code><\/pre>\n<p>  \u0414\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430, \u0441\u0443\u0434\u044f \u043f\u043e \u0432\u0441\u0435\u043c\u0443, \u043d\u0430 \u043b\u0435\u0442\u0443 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u0442 devtree, \u0447\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u043e.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0445\u0430 \u044d\u0442\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u0441\u044f \u0438 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c gps-\u0434\u0435\u043c\u043e\u043d.<\/p>\n<pre><code class=\"bash\">khadas@Khadas:~$ sudo reboot<\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 gps-\u0434\u0435\u043c\u043e\u043d\u0430. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e \u0432\u0441\u0435 \u0438 \u043e\u0442\u0440\u0443\u0431\u0430\u044e \u0435\u0433\u043e \u0441\u0440\u0430\u0437\u0443 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<pre><code class=\"bash\">sudo apt install gpsd gpsd-clients -y sudo killall gpsd   \/* GPS daemon stop\/disable *\/ sudo systemctl stop gpsd.socket sudo systemctl disable gpsd.socket<\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u044e \u0444\u0430\u0439\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. <\/p>\n<pre><code class=\"bash\">sudo vim \/etc\/default\/gpsd<\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e UART, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0432\u0438\u0441\u0435\u0442\u044c GPS.<\/p>\n<pre><code class=\"bash\">DEVICES=&quot;\/dev\/ttyS4&quot;<\/code><\/pre>\n<p>  \u0418 \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0438 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u043c.<\/p>\n<pre><code class=\"bash\">\/* GPS daemon enable\/start *\/ sudo systemctl enable gpsd.socket sudo systemctl start gpsd.socket<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e GPS.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ia\/y1\/3s\/iay13syzrmuopehhy4_apjfhpao.jpeg\"><\/p>\n<p>  <b> \u0412 \u0440\u0443\u043a\u0430\u0445 \u043f\u0440\u043e\u0432\u043e\u0434 GPS, \u043f\u043e\u0434 \u043f\u0430\u043b\u044c\u0446\u0430\u043c\u0438 \u0432\u0438\u0434\u043d\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0430 UART \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a\u0430.<\/b><\/p>\n<p>  \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u044e\u0441\u044c, \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u044e \u0440\u0430\u0431\u043e\u0442\u0443 GPS \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b gpsmon.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fb\/py\/bg\/fbpybghalq-nakqfnl5sdhspa4s.jpeg\"><\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u0435 \u0441\u043f\u0443\u0442\u043d\u0438\u043a\u043e\u0432 \u043d\u0435 \u0432\u0438\u0434\u0430\u0442\u044c, \u043d\u043e \u0432\u0438\u0434\u043d\u043e \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 GPS-\u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u043e\u043c, \u0438 \u044d\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e.<\/p>\n<p>  \u041d\u0430 python \u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043c\u043d\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0434\u0435\u043c\u043e\u043d\u043e\u043c, \u043d\u043e \u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 \u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u0441 python 3. <\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443.<\/p>\n<pre><code class=\"bash\">sudo -H pip3 install gps3 <\/code><\/pre>\n<p>  \u0418 \u0432\u0430\u044f\u044e \u043a\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u044b.<\/p>\n<pre><code class=\"python\">from gps3.agps3threaded import AGPS3mechanism ...  def getPositionData(agps_thread): \tcounter = 0; \twhile True: \t\tlongitude = agps_thread.data_stream.lon \t\tlatitude = agps_thread.data_stream.lat \t\tif latitude != 'n\/a' and longitude != 'n\/a': \t\t\treturn '{}' .format(longitude), '{}' .format(latitude) \t\tcounter = counter + 1 \t\tprint (&quot;Wait gps counter = %d&quot; % counter) \t\tif counter == 10: \t\t\tErrorMessage(&quot;\u041e\u0448\u0438\u0431\u043a\u0430 GPS \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a\u0430!!!&quot;) \t\t\treturn &quot;NA&quot;, &quot;NA&quot; \t\ttime.sleep(1.0) ... f __name__ == '__main__': ... \t#gps \tagps_thread = AGPS3mechanism()  # Instantiate AGPS3 Mechanisms \tagps_thread.stream_data()  # From localhost (), or other hosts, by example, (host='gps.ddns.net') \tagps_thread.run_thread()  # Throttle time to sleep after an empty lookup, default '()' 0.2 two tenths of a second <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0432\u044b\u0437\u043e\u0432\u043e\u043c:<\/p>\n<pre><code class=\"python\">longitude, latitude = getPositionData(agps_thread) <\/code><\/pre>\n<p>  \u0418 \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 1-10 \u0441\u0435\u043a\u0443\u043d\u0434 \u044f \u043b\u0438\u0431\u043e \u043f\u043e\u043b\u0443\u0447\u0443 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0443, \u043b\u0438\u0431\u043e \u043d\u0435\u0442. \u0414\u0430, \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043f\u044b\u0442\u043e\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0431\u044b\u043b\u043e \u0434\u0435\u0441\u044f\u0442\u044c. \u041d\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e, \u043a\u0440\u0438\u0432\u043e \u0438 \u043a\u043e\u0441\u043e, \u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u042f \u0440\u0435\u0448\u0438\u043b \u0442\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e GPS \u043c\u043e\u0436\u0435\u0442 \u043b\u043e\u0432\u0438\u0442\u044c \u043f\u043b\u043e\u0445\u043e \u0438 \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u0415\u0441\u043b\u0438 \u0436\u0434\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0433\u043b\u0443\u0445\u043e\u043c \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u0432\u0438\u0441\u043d\u0435\u0442 \u0432 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b \u0442\u0430\u043a\u043e\u0439 \u043d\u0435 \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442.<\/p>\n<p>  \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0431\u044b\u043b\u043e \u0431\u044b \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043f\u043e UART \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 GPS, \u043f\u0430\u0440\u0441\u0438\u0442\u044c \u0438\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0442\u043e\u043a\u0435 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0438\u043c\u0438. \u041d\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u043e\u0432\u0441\u0435\u043c, \u043e\u0442\u0441\u044e\u0434\u0430 \u043b\u044e\u0442\u044b\u0439 \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u043a\u043e\u0434. \u0418 \u0434\u0430, \u043c\u043d\u0435 \u043d\u0435 \u0441\u0442\u044b\u0434\u043d\u043e.<\/p>\n<h3>\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434<\/h3>\n<p>  \u0421 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430 \u0431\u044b\u043b\u043e \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0441\u043b\u043e\u0436\u043d\u043e \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. \u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u043e\u043c\u0435\u0440 \u043f\u0438\u043d\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u043e\u043c\u0435\u0440\u0443 \u043f\u0438\u043d\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u0438 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043b\u0435\u0432\u043e\u0439 \u043f\u044f\u0442\u043a\u043e\u0439. \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u043f\u0438\u043d\u0430 \u0438 \u043d\u043e\u043c\u0435\u0440 \u043f\u0438\u043d\u0430 \u0432 \u041e\u0421, \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">gpio readall<\/code><\/pre>\n<p>  \u0411\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u043f\u0438\u043d\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0438 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u044f \u0443\u0436\u0435 \u043c\u043e\u0433\u0443 \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0438\u043d\u043e\u043c \u0432 \u0441\u0430\u043c\u043e\u0439 \u041e\u0421. \u0412 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a <b>GPIOH_5<\/b>.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ne\/kx\/3q\/nekx3qlxruqm4kk3mvkngzdz3nu.jpeg\"><\/div>\n<p>  \u041f\u0435\u0440\u0435\u0432\u043e\u0436\u0443 \u043f\u0438\u043d GPIO \u0432 \u0440\u0435\u0436\u0438\u043c \u0432\u044b\u0432\u043e\u0434\u0430.<\/p>\n<pre><code class=\"bash\">gpio -g mode 421 out<\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u043d\u0443\u043b\u044c.<\/p>\n<pre><code class=\"bash\">gpio -g write 421 0<\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u0435\u0434\u0438\u043d\u0438\u0446\u0443.<\/p>\n<pre><code class=\"bash\">gpio -g write 421 1<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/rk\/8e\/m8\/rk8em8x1u2rehrkngecvlmonps0.png\"><\/div>\n<p>  <b>\u0412\u0441\u0435 \u0433\u043e\u0440\u0438\u0442, \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u00ab1\u00bb<\/b><\/p>\n<pre><code class=\"python\">#gpio subsistem def gpio_init(): \tos.system(&quot;gpio -g mode 421 out&quot;) \tos.system(&quot;gpio -g write 421 1&quot;)  def gpio_set(val): \tos.system(&quot;gpio -g write 421 %d&quot; % val) \t def error_blink(): \tgpio_set(0) \ttime.sleep(0.1) \tgpio_set(1) \ttime.sleep(0.1) \tgpio_set(0) \ttime.sleep(0.1) \tgpio_set(1) \ttime.sleep(0.1) \tgpio_set(0) \ttime.sleep(1.0) \tgpio_set(1)  def good_blink(): \tgpio_set(1) <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u044f \u0432\u044b\u0437\u044b\u0432\u0430\u044e error_blink() \u0438 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u043d\u0430\u043c \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043f\u043e\u043c\u0438\u0433\u0430\u0435\u0442.<\/p>\n<h2><font color=\"#3AC1EF\">\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0435 \u0443\u0437\u043b\u044b<\/font><\/h2>\n<p>  <\/p>\n<h3>Speedtest API<\/h3>\n<p>  \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0440\u0430\u0434\u043e\u0441\u0442\u044c, \u0447\u0442\u043e \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 speedtest.net \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 python-API, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043d\u0430 <a href=\"https:\/\/github.com\/sivel\/speedtest-cli\">Github<\/a>. <\/p>\n<p>  \u0427\u0435\u043c \u0445\u043e\u0440\u043e\u0448\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c. \u041a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c API (\u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0438\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b) \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 <a href=\"https:\/\/github.com\/sivel\/speedtest-cli\/wiki\">\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435<\/a>. <\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e python-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439.<\/p>\n<pre><code class=\"bash\">sudo -H pip3 install speedtest-cli<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0434\u0442\u0435\u0441\u0442\u0435\u0440 \u0432 Ubuntu \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u0440\u0435\u043f. \u042d\u0442\u043e \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435 python-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438.<\/p>\n<pre><code class=\"bash\">sudo apt install speedtest-cli -y<\/code><\/pre>\n<p>  \u0418 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0437\u0430\u043c\u0435\u0440\u044b \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430.<\/p>\n<p>  <code>speedtest-cli <br \/>  Retrieving speedtest.net configuration...<br \/>  Testing from B***** (*.*.*.*)...<br \/>  Retrieving speedtest.net server list...<br \/>  Selecting best server based on ping...<br \/>  Hosted by MTS (Moscow) [0.12 km]: 11.8 ms<br \/>  Testing download speed................................................................................<br \/>  Download: 7.10 Mbit\/s<br \/>  Testing upload speed......................................................................................................<br \/>  Upload: 3.86 Mbit\/s<\/code><\/p>\n<p>  \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u043b \u044d\u0442\u043e \u044f. \u041c\u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0432\u043b\u0435\u0437\u0442\u044c \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u043a\u043e\u0434\u044b \u044d\u0442\u043e\u0433\u043e \u0441\u043f\u0438\u0434\u0442\u0435\u0441\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c \u0438\u0445 \u0432 \u043c\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442. \u041e\u0434\u043d\u0430 \u0438\u0437 \u0432\u0430\u0436\u043d\u0435\u0439\u0448\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 \u2014 \u044d\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0435\u0449\u0435 \u0438\u043c\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u0432\u044f\u0437\u0438, \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0435\u0433\u043e \u0432 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0443.<\/p>\n<pre><code class=\"python\">import speedtest from datetime import datetime ... #\u0423\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430 #6053) MaximaTelecom (Moscow, Russian Federation) servers = [&quot;6053&quot;] # If you want to use a single threaded test threads = None s = speedtest.Speedtest() #\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u043c\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 opos = '%(isp)s' % s.config['client'] s.get_servers(servers) #\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 testserver = '%(sponsor)s (%(name)s) [%(d)0.2f km]: %(latency)s ms' % s.results.server #\u0442\u0435\u0441\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 s.download(threads=threads) #\u0442\u0435\u0441\u0442 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 s.upload(threads=threads) #\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b s.results.share()  #\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 csv-\u0444\u0430\u0439\u043b. #\u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u043e\u0437\u0438\u0446\u0438\u044e GPS longitude, latitude = getPositionData(agps_thread) #\u0432\u0440\u0435\u043c\u044f \u0438 \u0434\u0430\u0442\u0430 curdata = datetime.now().strftime('%d.%m.%Y') curtime = datetime.now().strftime('%H:%M:%S') delimiter = ';' result_string = opos + delimiter + str(curpos) + delimiter + \\ \tcurdata + delimiter + curtime + delimiter + longitude + ', ' + latitude + delimiter + \\ \tstr(s.results.download\/1000.0\/1000.0) + delimiter + str(s.results.upload \/ 1000.0 \/ 1000.0) + \\ \tdelimiter + str(s.results.ping) + delimiter + testserver + &quot;\\n&quot; #\u0442\u0443\u0442 \u0438\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u043e\u0432 <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0442\u043e\u0436\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435 \u0442\u0430\u043a \u0432\u0441\u0435 \u043f\u0440\u043e\u0441\u0442\u043e, \u0445\u043e\u0442\u044f, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043a\u0443\u0434\u0430 \u043f\u0440\u043e\u0449\u0435. \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 servers \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u0440\u0430\u0432\u0435\u043d <b>[]<\/b>, \u043c\u043e\u043b \u0432\u044b\u0431\u0435\u0440\u0438 \u043b\u0443\u0447\u0448\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0438 \u043a\u0430\u043a \u043d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0430\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c. \u042d\u0442\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0442\u0435\u043c\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0435\u0441\u043b\u0438 \u0434\u0430, \u0442\u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043b\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439, \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f. \u041d\u043e \u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0437\u0430\u043c\u0435\u0440\u043e\u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0411\u0438\u043b\u0430\u0439\u043d\u0430 \u043f\u0440\u0438 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0432\u044b\u0431\u043e\u0440\u0435 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ec\/cn\/od\/eccnodgfhnbizhgjbx7qizencui.png\"><br \/>  <b>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/b><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mc\/fm\/sf\/mcfmsfvniwqjrvnqbod3jjs8by0.png\"><br \/>  <b>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u043e\u0434\u043d\u043e\u043c \u0441\u0442\u0440\u043e\u0433\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c \u043e\u0434\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/b><\/p>\n<p>  \u00ab\u0428\u0435\u0440\u0441\u0442\u044c\u00bb \u043f\u0440\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0435\u0441\u0442\u044c \u0438 \u0442\u0430\u043c \u0438 \u0442\u0430\u043c, \u0438 \u0435\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438. \u041d\u043e \u043f\u0440\u0438 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0435\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u044c\u0448\u0435 \u0438 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u0430 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0435\u0435. <br \/>  \u0412\u043e\u043e\u0431\u0449\u0435 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439. \u0418 \u044f \u0431\u044b \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0437\u0430\u043c\u0435\u0440\u044b \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043a \u0441\u0432\u043e\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443, \u043f\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u044b iperf. \u041d\u043e \u043c\u044b \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0441\u044f \u043e\u0442 \u0422\u0417.<\/p>\n<h3>\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043f\u043e\u0447\u0442\u044b \u0438 \u043e\u0448\u0438\u0431\u043e\u043a<\/h3>\n<p>  \u0414\u043b\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u0447\u0442\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u043d\u043e \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c. \u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043b \u043f\u043e\u0447\u0442\u043e\u0432\u044b\u0439 \u044f\u0449\u0438\u043a \u043d\u0430 yandex \u0438 \u0434\u0430\u043b\u0435\u0435 \u0432\u0437\u044f\u043b <a href=\"http:\/\/codius.ru\/articles\/Python_%D0%9A%D0%B0%D0%BA_%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C_%D0%BF%D0%B8%D1%81%D1%8C%D0%BC%D0%BE_%D0%BD%D0%B0_%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%BD%D1%83%D1%8E_%D0%BF%D0%BE%D1%87%D1%82%D1%83\">\u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u0447\u0442\u044b<\/a>. \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043b \u0435\u0433\u043e \u0438 \u0432\u043d\u0435\u0434\u0440\u0438\u043b \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u0441 gmail \u0438 \u0442.\u043f. \u0412\u043e\u0437\u0438\u0442\u0441\u044f \u0441 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u0435\u043c \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u043e\u0447\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043c\u043d\u0435 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043d\u0430 \u044d\u0442\u043e, \u043d\u043e \u043a\u0430\u043a \u043f\u043e\u0442\u043e\u043c \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u0436\u0435 \u043d\u0430\u043f\u0440\u0430\u0441\u043d\u043e.<\/p>\n<p>  \u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043b\u043e\u0433\u043e\u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b \u043f\u043e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0443, <u>\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0441\u0432\u044f\u0437\u0438<\/u>, \u043a\u0430\u0436\u0434\u044b\u0435 6 \u0447\u0430\u0441\u043e\u0432: \u0432 00 \u0447\u0430\u0441\u043e\u0432, 06 \u0443\u0442\u0440\u0430, 12 \u0434\u043d\u044f \u0438 18 \u0432\u0435\u0447\u0435\u0440\u0430. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<pre><code class=\"python\">from send_email import * ... message_log = &quot;\u041b\u043e\u0433\u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043b\u0430\u0442\u044b \u21161&quot; EmailForSend = [&quot;dlinyj@trololo.ru&quot;, &quot;pupkin@trololo.ru&quot;] files = [&quot;\/home\/khadas\/modems_speedtest\/csv&quot;] ... def sendLogs(): \tglobal EmailForSend \tcurdata = datetime.now().strftime('%d.%m.%Y') \t\u0441urtime = datetime.now().strftime('%H:%M:%S') \ttry: \t\tfor addr_to in EmailForSend: \t\t\tsend_email(addr_to, message_log, &quot;\u041b\u043e\u0433\u0438 \u0437\u0430 &quot; + curdata + &quot; &quot; + \u0441urtime, files) \texcept: \t\tprint(&quot;Network problem for send mail&quot;) \t\treturn False \treturn True <\/code><\/pre>\n<p>  \u041e\u0448\u0438\u0431\u043a\u0438 \u0442\u043e\u0436\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u0438\u0441\u044c. \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043d\u0438 \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u043b\u0438\u0441\u044c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435, \u0438 \u043f\u043e\u0442\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b \u0442\u0430\u043a\u0436\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430, \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0441\u0432\u044f\u0437\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0442\u043e\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e yandex \u0438\u043c\u0435\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0441\u0443\u0442\u043a\u0438 (\u044d\u0442\u043e \u0431\u043e\u043b\u044c, \u043f\u0435\u0447\u0430\u043b\u044c \u0438 \u0443\u043d\u0438\u0436\u0435\u043d\u0438\u0435). \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u0448\u0438\u0431\u043e\u043a \u0434\u0430\u0436\u0435 \u0432 \u043c\u0438\u043d\u0443\u0442\u0443 \u043c\u043e\u0433\u043b\u043e \u0431\u044b\u0442\u044c \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043e\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u043e \u043f\u043e\u0447\u0442\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043e\u0442\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f. \u0422\u0430\u043a \u0447\u0442\u043e \u0438\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u043f\u0440\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u044f\u043d\u0434\u0435\u043a\u0441\u0430 \u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435. <\/p>\n<h3>\u0421\u0435\u0440\u0432\u0435\u0440 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438<\/h3>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u0436\u0435\u043b\u0435\u0437\u043a\u0435 \u0438 \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0435\u0435 \u0434\u043e\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u0441\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0412\u043e\u043e\u0431\u0449\u0435, \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e\u0441\u0442\u0438 \u0433\u043e\u0432\u043e\u0440\u044f, \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0432 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432\u0441\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0438. \u041d\u043e \u043d\u0435 \u0432\u0441\u0435 \u0441\u0440\u0430\u0437\u0443.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 VPS \u044f \u0432\u044b\u0431\u0440\u0430\u043b <a href=\"https:\/\/ruvds.com\/ru-rub\">ruvds.com<\/a>. \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0432\u0437\u044f\u0442\u044c \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0418 \u0432 \u0446\u0435\u043b\u043e\u043c \u0434\u043b\u044f \u043c\u043e\u0438\u0445 \u0431\u044b \u0446\u0435\u043b\u0435\u0439 \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u0431\u044b \u0437\u0430 \u0433\u043b\u0430\u0437\u0430. \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u043b\u0430\u0442\u0438\u043b \u0437\u0430 \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0435 \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u0430\u0440\u043c\u0430\u043d\u0430, \u0440\u0435\u0448\u0438\u043b \u0432\u0437\u044f\u0442\u044c \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0437\u0430\u043f\u0430\u0441\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0445\u0432\u0430\u0442\u0438\u043b\u043e, \u0435\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u043c \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u0441\u0432\u043e\u0439 SMTP-\u0441\u0435\u0440\u0432\u0435\u0440, vpn \u0438 \u0442.\u0434. \u041f\u043b\u044e\u0441 \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Telegram-\u0431\u043e\u0442\u0430 \u0438 \u043d\u0435 \u0438\u043c\u0435\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u0435\u0433\u043e \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0430\u043c\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u0431\u0440\u0430\u043b Amsterdam \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/7u\/zn\/ed\/7uznedjhrlaq4lvmxh3u7syerly.png\"><\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0436\u0435\u043b\u0435\u0437\u043a\u043e\u0439 vim2 \u0432\u044b\u0431\u0440\u0430\u043b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 ssh \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0438 \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u2014 \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u043b\u0443\u0447\u0448\u0435\u0435. \u041f\u0440\u0438 \u0440\u0430\u0437\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0440\u0442 \u0438 \u043f\u043e \u043d\u0435\u043c\u0443 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0432\u0441\u0435 \u0436\u0435 \u043b\u0443\u0447\u0448\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0441\u0432\u044f\u0437\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 vpn. \u0412 \u0431\u0443\u0434\u0443\u0449\u0435\u043c \u0445\u043e\u0442\u0435\u043b \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 vpn, \u043d\u043e \u043d\u0435 \u0443\u0441\u043f\u0435\u043b.<\/p>\n<p>  \u041d\u0435 \u0431\u0443\u0434\u0443 \u0432\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0444\u0430\u0439\u0440\u0432\u043e\u043b\u0430, \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432, \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f ssh \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f root \u0438 \u043f\u0440\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u043f\u0438\u0441\u043d\u044b\u0435 \u0438\u0441\u0442\u0438\u043d\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 VPS. \u0425\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u044b \u0438 \u0442\u0430\u043a \u0432\u0441\u0435 \u0437\u043d\u0430\u0435\u0442\u0435. \u0414\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0441\u043e\u0437\u0434\u0430\u044e \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435.<\/p>\n<pre><code class=\"bash\">adduser vimssh<\/code><\/pre>\n<p>  \u041d\u0430 \u043d\u0430\u0448\u0435\u0439 \u0436\u0435\u043b\u0435\u0437\u043a\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u044e \u043a\u043b\u044e\u0447\u0438 ssh \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f.<\/p>\n<pre><code class=\"bash\">ssh-keygen<\/code><\/pre>\n<p>  \u0418 \u043a\u043e\u043f\u0438\u0440\u0443\u044e \u0438\u0445 \u043d\u0430 \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<pre><code class=\"bash\">ssh-copy-id vimssh@host.com<\/code><\/pre>\n<p>  \u041d\u0430 \u043d\u0430\u0448\u0435\u0439 \u0436\u0435\u043b\u0435\u0437\u043a\u0435 \u0441\u043e\u0437\u0434\u0430\u044e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e ssh \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435.<\/p>\n<p>  <code>[Unit]<br \/>  Description=Auto Reverse SSH<br \/>  Requires=systemd-networkd-wait-online.service<br \/>  After=systemd-networkd-wait-online.service<br \/>  [Service]<br \/>  User=khadas<br \/>  ExecStart=\/usr\/bin\/ssh -NT -o ExitOnForwardFailure=yes -o ServerAliveInterval=60 -CD 8080 -R 8083:localhost:22 vimssh@host.com<br \/>  RestartSec=5<br \/>  Restart=always<br \/>  [Install]<br \/>  WantedBy=multi-user.target<\/code><\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0440\u0442 8083: \u043e\u043d \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u043e \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u0443 \u043c\u0435\u043d\u044f \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 ssh. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0441\u0442\u0430\u0440\u0442\u0443\u0435\u043c.<\/p>\n<pre><code class=\"bash\">sudo systemctl enable autossh.service sudo systemctl start autossh.service<\/code><\/pre>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0434\u0430\u0436\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441:<\/p>\n<pre><code class=\"bash\">sudo systemctl status autossh.service<\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043d\u0430 \u043d\u0430\u0448\u0435\u043c VPS-\u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0435\u0441\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c: <\/p>\n<pre><code class=\"bash\">ssh -p 8083 khadas@localhost<\/code><\/pre>\n<p>  \u0422\u043e \u044f \u043f\u043e\u043f\u0430\u0434\u0430\u044e \u043d\u0430 \u043c\u043e\u044e \u0442\u0435\u0441\u0442\u043e\u0432\u0443\u044e \u0436\u0435\u043b\u0435\u0437\u043a\u0443. \u0418 \u0441 \u0436\u0435\u043b\u0435\u0437\u043a\u0438 \u043c\u043e\u0433\u0443 \u0442\u0430\u043a \u0436\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u043e\u0433\u0438 \u0438 \u043b\u044e\u0431\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e ssh \u043d\u0430 \u043c\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0447\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u043d\u043e.<\/p>\n<h2><font color=\"#3AC1EF\">\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u0441\u0435 \u0432\u043e\u0435\u0434\u0438\u043d\u043e<\/font><\/h2>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ow\/tm\/xi\/owtmxijco2hwwdwdmuag-syaak0.jpeg\"><\/div>\n<p>  <b>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0435<\/b><\/p>\n<p>  \u0424\u0443\u0445, \u043d\u0443 \u0432\u0440\u043e\u0434\u0435 \u0432\u0441\u0435, \u043e\u043f\u0438\u0441\u0430\u043b \u0432\u0441\u0435 \u0443\u0437\u043b\u044b. \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u044d\u0442\u043e \u0432 \u0435\u0434\u0438\u043d\u0443\u044e \u043a\u0443\u0447\u0443. \u041a\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c <a href=\"https:\/\/github.com\/dlinyj\/modems_speedtest\">\u0432\u043e\u0442 \u0442\u0443\u0442<\/a>.<\/p>\n<p>  \u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441 \u043a\u043e\u0434\u043e\u043c: \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a \u0432\u043e\u0442 \u00ab\u0432\u043b\u043e\u0431\u00bb \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0437\u0430\u0442\u0430\u0447\u0438\u0432\u0430\u043b\u0441\u044f \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b. \u0425\u043e\u0442\u044c \u044f \u0438 \u0434\u0430\u044e \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438, \u043d\u043e \u0432\u0441\u0435 \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0446\u0435\u043d\u043d\u043e\u0435 \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u0432\u043e\u0442 \u0442\u0443\u0442, \u043f\u0440\u044f\u043c\u043e \u0432 \u0442\u0435\u043a\u0441\u0442\u0435, \u0438\u043d\u0430\u0447\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/p>\n<p>  \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0443 \u043c\u0435\u043d\u044f \u0438\u0434\u0435\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f gps, gpio \u0438 \u0437\u0430\u043f\u0443\u0441\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430.<\/p>\n<pre><code class=\"python\">#\u0437\u0430\u043f\u0443\u0441\u043a \u043f\u043e\u0442\u043e\u043a\u0430 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a\u0430 pShedulerThread = threading.Thread(target=ShedulerThread, args=(1,)) pShedulerThread.start()<\/code><\/pre>\n<p>  \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442: \u043e\u043d \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e \u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0438 \u043a\u0430\u043a\u043e\u0439 \u0441\u0435\u0439\u0447\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u043e\u0448\u0438\u0431\u043e\u043a. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0444\u043b\u0430\u0433 \u043e\u0448\u0438\u0431\u043a\u0438, \u0442\u043e \u043c\u0438\u0433\u0430\u0435\u043c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c. <\/p>\n<pre><code class=\"python\">#sheduler def ShedulerThread(name): \tglobal ready_to_send \twhile True: \t\td = datetime.today() \t\ttime_x = d.strftime('%H:%M') \t\tif time_x in time_send_csv: \t\t\tready_to_send = True \t\tif error_status: \t\t\terror_blink() \t\telse: \t\t\tgood_blink() \t\ttime.sleep(1)<\/code><\/pre>\n<p>  \u0421\u0430\u043c\u044b\u0439 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u2014 \u044d\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 ssh-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0435\u0441\u0442\u0435. \u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u0442\u0435\u0441\u0442\u0435 \u0438\u0434\u0435\u0442 \u0437\u0430\u043d\u043e\u0432\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0448\u043b\u044e\u0437\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438 dns-\u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u0435\u0442, \u0442\u043e \u0437\u043d\u0430\u0439\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u0435\u0437\u0434 \u043d\u0435 \u043a\u0430\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0434\u0435\u0440\u0435\u0432\u044f\u043d\u043d\u044b\u043c \u0440\u0435\u043b\u044c\u0441\u0430\u043c. \u041a\u0442\u043e \u043d\u0430\u0439\u0434\u0435\u0442 \u043f\u0430\u0441\u0445\u0430\u043b\u043a\u0443, \u0442\u043e\u043c\u0443 \u043a\u043e\u043d\u0444\u0435\u0442\u043a\u0430. <\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f \u0441\u043e\u0437\u0434\u0430\u044e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 &#8212;set-mark 0x2 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<pre><code class=\"python\">def InitRouteForSSH(): \tcmd_run(&quot;sudo iptables -t mangle -A OUTPUT -p tcp -m tcp --dport 22 -j MARK --set-mark 0x2&quot;) \tcmd_run(&quot;sudo ip rule add fwmark 0x2\/0x2 lookup 102&quot;)<\/code><\/pre>\n<p>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/habr.com\/ru\/post\/108690\/\">\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435<\/a>.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0436\u0443 \u0432 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b, \u0433\u0434\u0435 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0445 \u043c\u043e\u0434\u0435\u043c\u043e\u0432 (\u0447\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c, \u0432\u0434\u0440\u0443\u0433 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0430\u0441\u044c).<\/p>\n<pre><code class=\"python\">network_list = getNetworklist()<\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435.<\/p>\n<pre><code class=\"python\">def getNetworklist(): \tfull_networklist = os.listdir('\/sys\/class\/net\/') \tnetwork_list = [x for x in full_networklist if &quot;eth&quot; in x and x != &quot;eth0&quot;] \treturn network_list<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430, \u0437\u0430\u0434\u0430\u044e IP-\u0430\u0434\u0440\u0435\u0441\u0430 \u0432\u0441\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c, \u043a\u0430\u043a \u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435 \u0432 \u0433\u043b\u0430\u0432\u0435 \u043f\u0440\u043e \u043c\u043e\u0434\u0435\u043c.<\/p>\n<pre><code class=\"python\">SetIpAllNetwork(network_list)  def SetIpAllNetwork(network_list): \tfor iface in network_list: \t\tlastip = &quot;%d&quot; % (3 + network_list.index(iface)) \t\tcmd_run (&quot;sudo ifconfig &quot; + iface + &quot; 192.168.8.&quot; + lastip +&quot; up&quot;)<\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u0446\u0438\u043a\u043b\u0435 \u0438\u0434\u0443 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443. \u0418 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u044e \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/p>\n<pre><code class=\"python\">\tfor iface in network_list: \t\tConfigNetwork(iface)<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">def ConfigNetwork(iface): #\u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \t\tcmd_run(&quot;sudo ip route flush all&quot;) #\u041d\u0430\u0437\u043d\u0430\u0447\u0430\u0435\u043c \u0448\u043b\u044e\u0437 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \t\tcmd_run(&quot;sudo route add default gw 192.168.8.1 &quot; + iface) #\u0437\u0430\u0434\u0430\u0435\u043c dns-\u0441\u0435\u0440\u0432\u0435\u0440 (\u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b speedtest) \t\tcmd_run (&quot;sudo bash -c 'echo nameserver 8.8.8.8 &gt; \/etc\/resolv.conf'&quot;)<\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u044e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c, \u0435\u0441\u043b\u0438 \u0441\u0435\u0442\u0438 \u043d\u0435\u0442, \u0442\u043e \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0438. \u0415\u0441\u043b\u0438 \u0441\u0435\u0442\u044c \u0435\u0441\u0442\u044c, \u0442\u043e \u0432\u0440\u0435\u043c\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c!<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044f \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e ssh \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 (\u0435\u0441\u043b\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e), \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u043e\u0448\u0438\u0431\u043a\u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u0440\u0435\u043c\u044f \u043f\u0440\u0438\u0448\u043b\u043e, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e \u043b\u043e\u0433\u0438 \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432 \u043f\u0440\u043e\u0432\u043e\u0436\u0443 speedtest \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043b\u043e\u0433\u0438 \u0432 csv-\u0444\u0430\u0439\u043b.<\/p>\n<pre><code class=\"python\">if not NetworkAvalible(): .... #\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u043e\u0448\u0438\u0431\u043a\u0438 .... else: #\u0415\u0441\u0442\u044c \u0441\u0435\u0442\u044c, \u0443\u0440\u0430, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c! #\u0415\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c ssh, \u0442\u043e \u043c\u0435\u043d\u044f\u0435\u043c \u0435\u0433\u043e   if (sshint == lastbanint or sshint ==&quot;free&quot;):     print(&quot;********** Setup SSH ********************&quot;)     if sshint !=&quot;free&quot;:       \u0441md_run(&quot;sudo ip route del default via 192.168.8.1 dev &quot; + sshint +&quot; table 102&quot;)     SetupReverseSSH(iface)     sshint = iface #\u0440\u0430\u0437 \u0441\u0435\u0442\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0442\u043e \u0434\u0430\u0432\u0430\u0439 \u0441\u0440\u043e\u0447\u043d\u043e \u0432\u0441\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043c!!!     if ready_to_send:       print (&quot;**** Ready to send!!!&quot;)         if sendLogs():           ready_to_send = False         if error_status:           SendErrors() #\u0438 \u0434\u0430\u043b\u0435\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043b\u043e\u0433\u0438. <\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0441\u0442\u043e\u0438\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e ssh.<\/p>\n<pre><code class=\"python\">def SetupReverseSSH(iface): \tcmd_run(&quot;sudo systemctl stop autossh.service&quot;) \tcmd_run(&quot;sudo ip route add default via 192.168.8.1 dev &quot; + iface +&quot; table 102&quot;) \tcmd_run(&quot;sudo systemctl start autossh.service&quot;)<\/code><\/pre>\n<p>  \u041d\u0443 \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0441\u044e \u044d\u0442\u0443 \u043a\u0440\u0430\u0441\u043e\u0442\u0443 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u044e \u0444\u0430\u0439\u043b:<\/p>\n<pre><code class=\"bash\">sudo vim \/etc\/systemd\/system\/modems_speedtest.service<\/code><\/pre>\n<p>  \u0418 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e \u0432 \u043d\u0435\u0433\u043e:<\/p>\n<p>  <code>[Unit]<br \/>  Description=Modem Speed Test<br \/>  Requires=systemd-networkd-wait-online.service<br \/>  After=systemd-networkd-wait-online.service<br \/>  [Service]<br \/>  User=khadas<br \/>  ExecStart=\/usr\/bin\/python3.6 \/home\/khadas\/modems_speedtest\/networks.py<br \/>  RestartSec=5<br \/>  Restart=always<br \/>  [Install]<br \/>  WantedBy=multi-user.target<\/code><\/p>\n<p>  \u0412\u043a\u043b\u044e\u0447\u0430\u044e \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0441\u0442\u0430\u0440\u0442\u0443\u044e!<\/p>\n<pre><code class=\"bash\">sudo systemctl enable modems_speedtest.service sudo systemctl start modems_speedtest.service<\/code><\/pre>\n<p>   \u0422\u0435\u043f\u0435\u0440\u044c \u044f \u043c\u043e\u0433\u0443 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043b\u043e\u0433\u0438 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"bash\">journalctl -u modems_speedtest.service --no-pager -f<\/code><\/pre>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/font><\/h2>\n<p>  \u041d\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u0430\u043c\u043e\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e \u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435? \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u0441\u043d\u044f\u0442\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u0413\u0440\u0430\u0444\u0438\u043a\u0438 \u0441\u0442\u0440\u043e\u0438\u043b\u0438\u0441\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e gnuplot \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c.<\/p>\n<pre><code class=\"bash\">#! \/usr\/bin\/gnuplot -persist set terminal postscript eps enhanced color solid set output &quot;Rostelecom.ps&quot;   #set terminal png size 1024, 768 #set output &quot;Rostelecom.png&quot;   set datafile separator ';' set grid xtics ytics set xdata time set ylabel &quot;Speed Mb\/s&quot; set xlabel 'Time' set timefmt '%d.%m.%Y;%H:%M:%S' set title &quot;Rostelecom Speed&quot;  plot &quot;Rostelecom.csv&quot; using 3:6 with lines title &quot;Download&quot;, '' using 3:7 with lines title &quot;Upload&quot;   set title &quot;Rostelecom 2 Ping&quot; set ylabel &quot;Ping ms&quot; plot &quot;Rostelecom.csv&quot; using 3:8 with lines title &quot;Ping&quot; <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u043e\u043f\u044b\u0442 \u0431\u044b\u043b \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 Tele2, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u043f\u0440\u043e\u0432\u043e\u0434\u0438\u043b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u043d\u0435\u0439.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fu\/0m\/pr\/fu0mprgtvpr4lc5jjzoefocewhy.jpeg\"><\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u0437\u043c\u0435\u0440\u044f\u044e\u0449\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0417\u0430\u043c\u0435\u0440\u044b \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043b\u0430\u0432\u0430\u044e\u0442, \u043e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435 \u0436\u0435 \u0432\u0438\u0434\u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0440\u0435\u0434\u043d\u044f\u044f \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430, \u0438 \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u044f \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u044e \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043a\u043e\u043b\u044c\u0437\u044f\u0449\u0438\u043c \u0441\u0440\u0435\u0434\u043d\u0438\u043c. <\/p>\n<p>  \u041f\u043e\u0437\u0434\u043d\u0435\u0435 \u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b \u0435\u0449\u0435 \u0440\u044f\u0434 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432, \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0432\u044f\u0437\u0438. \u0421\u0435\u0440\u0432\u0435\u0440 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0436\u0435 \u0431\u044b\u043b \u043e\u0434\u0438\u043d, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0442\u043e\u0436\u0435 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/jy\/h5\/si\/jyh5si7ldp2es8cn13hqaplafgy.png\"><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/od\/ac\/xb\/odacxbapatnfwyt4lpvojuoynb0.png\"><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/z-\/ag\/db\/z-agdbq7mawxvgyfmagixhunneq.png\"><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5_\/mz\/v2\/5_mzv2fg7_bgp8cu62lvbzaq9eq.png\"><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0442\u0435\u043c\u0430 \u043e\u0447\u0435\u043d\u044c \u043e\u0431\u0448\u0438\u0440\u043d\u0430\u044f \u0434\u043b\u044f \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u044f\u0432\u043d\u043e \u043d\u0435 \u0442\u044f\u043d\u0435\u0442 \u043d\u0430 \u043f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c \u0440\u0430\u0431\u043e\u0442\u044b. \u041d\u043e\u2026<\/p>\n<h2><font color=\"#3AC1EF\">\u0418\u0442\u043e\u0433 \u0440\u0430\u0431\u043e\u0442\u044b<\/font><\/h2>\n<p>  \u0420\u0430\u0431\u043e\u0442\u0430 \u0431\u044b\u043b\u0430 \u0440\u0435\u0437\u043a\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430 \u043f\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0438\u043c \u043e\u0442 \u043c\u0435\u043d\u044f \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u043c. \u041e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u043b\u0430\u0431\u044b\u0445 \u0441\u0442\u043e\u0440\u043e\u043d \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043d\u0430 \u043c\u043e\u0439 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0431\u044b\u043b \u043c\u043e\u0434\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0442\u0435\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043c\u043e\u0434\u0435\u043c\u0430\u043c\u0438, \u0438 \u043f\u0440\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0432\u044b\u0434\u0435\u043b\u044b\u0432\u0430\u043b \u0442\u0430\u043a\u0438\u0435 \u0444\u043e\u0440\u0442\u0435\u043b\u044f. \u0414\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0433\u0440\u043e\u043c\u0430\u0434\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043c\u043e\u0434\u0435\u043c\u043e\u0432, \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u043d\u0438 \u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0442 \u0444\u043e\u0440\u043c\u0430\u0442 Mini PCI-e \u0438 \u0441\u0442\u0430\u0432\u044f\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0438\u0445 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0449\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u041d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u041f\u0440\u043e\u0435\u043a\u0442 \u0431\u044b\u043b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0439 \u0438 \u0431\u044b\u043b \u043e\u0447\u0435\u043d\u044c \u0440\u0430\u0434, \u0447\u0442\u043e \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432 \u043d\u0435\u043c \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>  <a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=dlinyj&amp;utm_content=speedtest#order\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/de\/0y\/l-\/de0yl-6ppopvisr_a80b4yuhjj8.png\"><\/a><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510046\/\"> https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510046\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510046\/\">\u041d\u0430 \u043a\u0430\u0440\u0430\u043d\u0442\u0438\u043d\u0435 \u043c\u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0438 \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 LTE-\u043c\u043e\u0434\u0435\u043c\u043e\u0432 \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u0438. <\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/510046\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/6h\/ug\/eo\/6hugeoudx6hnugony4hktf8olus.jpeg\"><\/div>\n<p><\/a><\/p>\n<p>  \u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a \u0445\u043e\u0442\u0435\u043b \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0441\u0432\u044f\u0437\u0438 \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0433\u0435\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u043e\u0447\u043a\u0430\u0445, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043e\u0442\u043e\u0432\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0435\u043c\u0443 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u0435\u043d \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0435 LTE-\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e\u0442\u0440\u0430\u043d\u0441\u043b\u044f\u0446\u0438\u0439. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438 \u0434\u0435\u0448\u0435\u0432\u043e, \u0431\u0435\u0437 \u0434\u043e\u0440\u043e\u0433\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0430 \u043d\u0435 \u0441\u0430\u043c\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0438 \u043d\u0430\u0443\u043a\u043e\u0435\u043c\u043a\u0430\u044f, \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u0438\u0441\u044c \u0438 \u043a\u0430\u043a \u044f \u0438\u0445 \u0440\u0435\u0448\u0430\u043b. \u0418\u0442\u0430\u043a, \u043f\u043e\u0435\u0445\u0430\u043b\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-306642","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/306642","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=306642"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/306642\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=306642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=306642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=306642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}