{"id":473607,"date":"2025-09-02T17:04:35","date_gmt":"2025-09-02T17:04:35","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=473607"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=473607","title":{"rendered":"<span>IoT \u043f\u043e-\u0432\u0437\u0440\u043e\u0441\u043b\u043e\u043c\u0443 \u2014 \u0441\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0423\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430 \u043d\u0430 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u0435 Repka Pi 4 \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c NapiLinux<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e0a\/2de\/543\/e0a2de54307b8852c80cc1d0e9a79f1d.jpeg\" alt=\"\" title=\"\" width=\"838\" height=\"622\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e0a\/2de\/543\/e0a2de54307b8852c80cc1d0e9a79f1d.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e0a\/2de\/543\/e0a2de54307b8852c80cc1d0e9a79f1d.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0443\u043c\u043d\u044b\u0445 \u0434\u043e\u043c\u043e\u0432 \u0438 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043a\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 Repka Pi 4, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435 <a href=\"https:\/\/repka-pi.ru\/#mitr_block\" rel=\"noopener noreferrer nofollow\">\u041c\u0438\u043d\u043f\u0440\u043e\u043c\u0442\u043e\u0440\u0433\u0430<\/a>, \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b NapiLinux \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0438 \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a Repka Pi 4.<\/p>\n<p>\u041a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 <u>Repka Pi 4<\/u> \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0440\u0442\u044b USB, Ethernet \u0438 GPIO \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0446\u0435\u043b\u044c\u044e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 NapiLinux \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 (Embedded) \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432:<\/p>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 NapiLinux \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443 \u0438\u043b\u0438 \u043d\u0430 EMMC;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0441\u0435\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0447\u0435\u0440\u0435\u0437 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 NapiConfig, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0447\u0435\u0440\u0435\u0437 SSH;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0438 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 \u041f\u041e \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u2014 \u0430\u0433\u0435\u043d\u0442 \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 Telegraf, \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 InfluxDB, \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 Grafana;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NaPi.API, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 NapiConfig \u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 (A\/B) \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0442\u0430 \u043f\u0440\u0438 \u0441\u0431\u043e\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u0447\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0438\u0445 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u041e\u0421.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0421 NapiLinux \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 Telegraf, InfluxDB \u0438 Grafana \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 Modbus \u0438 Telegraf \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u043e\u043c \u0438\u0437\u043b\u0438\u0448\u043d\u0435\u0439 \u2014 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u044d\u0442\u043e\u0439 \u041e\u0421 \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 SD \u0438\u043b\u0438 EMMC, \u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 NapiLinux, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0435\u0435 \u043d\u0430 <strong><u>Repka Pi<\/u><\/strong><u> <\/u><strong><u>4<\/u><\/strong>\u00a0\u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 CPU, \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 XY-MD02, \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f, \u0442\u043e\u043a\u0430, \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u0438\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f PZEM-016 \u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 ATS-1204, \u0442\u0430\u043a \u0436\u0435 \u0412\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0432 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 NapiConfig, InfluxDB, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Grafana \u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0432\u044b\u0437\u043e\u0432\u0430 NaPi.API \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 curl \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Python.<\/p>\n<h3>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h3>\n<ul>\n<li>\n<p><a href=\"#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-napi-linux-%D0%BD%D0%B0-repka-pi-4\" rel=\"noopener noreferrer nofollow\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 NapiLinux \u043d\u0430 Repka Pi 4<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-influxdb\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 InfluxDB<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-grafana\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Grafana<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC-%D1%81-napiapi\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 NaPi.API<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%B8%D1%82%D0%BE%D0%B3%D0%B8\" rel=\"noopener noreferrer nofollow\">\u0418\u0442\u043e\u0433\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-napi-linux-%D0%BD%D0%B0-repka-pi-4\" id=\"%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-napi-linux-%D0%BD%D0%B0-repka-pi-4\"><\/a><\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 NapiLinux \u043d\u0430 Repka Pi 4<\/h3>\n<p>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u041e\u0421 Napi Linux \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u0430 SD-\u043a\u0430\u0440\u0442\u044b \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e Repka Pi 4. \u0415\u0441\u043b\u0438 \u0432\u0430\u0448 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d EMMC, \u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u041e\u0421 NapiLinux \u043d\u0430 \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0449\u0443\u0442\u0438\u043c\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0434\u0438\u0441\u043a\u043e\u0432 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0438 \u0434\u043e\u043b\u0433\u043e\u0432\u0435\u0447\u043d\u044b\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0430\u0437\u0435 \u0434\u0435\u043d\u043d\u044b\u0445.<\/p>\n<h4>\u0417\u0430\u043f\u0438\u0441\u044c \u043e\u0431\u0440\u0430\u0437\u0430 Napi Linux \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443<\/h4>\n<p>\u041e\u0421 NapiLinux \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u044d\u0442\u043e\u0439 \u041e\u0421 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 <a href=\"https:\/\/download.napilinux.ru\/napilinux\/\" rel=\"noopener noreferrer nofollow\">https:\/\/download.napilinux.ru\/napilinux\/<\/a>. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u0431\u044b\u043b\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u041e\u0421 0.2.2 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 Repka Pi 4.<\/p>\n<p>\u0412\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <a href=\"https:\/\/download.napilinux.ru\/napilinux\/0.2.2\/napilinux-repka-pi4-optimal-dev\/napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz\" rel=\"noopener noreferrer nofollow\">napilinux-repka-pi4-optimal-dev<\/a>\u00a0\u0438 \u0441\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b <a href=\"https:\/\/download.napilinux.ru\/napilinux\/0.2.2\/napilinux-repka-pi4-optimal-dev\/napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz\" rel=\"noopener noreferrer nofollow\">napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz<\/a> (\u0440\u0438\u0441. 1).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0e9\/de4\/e55\/0e9de4e55588b2c2b38c65fcfa8e0f34.jpeg\" alt=\"\" title=\"\" width=\"1193\" height=\"390\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0e9\/de4\/e55\/0e9de4e55588b2c2b38c65fcfa8e0f34.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0e9\/de4\/e55\/0e9de4e55588b2c2b38c65fcfa8e0f34.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 1. \u041e\u0431\u0440\u0430\u0437\u044b Napi Linux \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c<\/strong> <\/p>\n<p>\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443 \u043e\u0431\u044a\u0435\u043c\u043e\u043c 32 \u0413\u0431\u0430\u0439\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b <a href=\"https:\/\/etcher.balena.io\/\" rel=\"noopener noreferrer nofollow\">BalenaEtcher<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/rufus.ie\/ru\/\" rel=\"noopener noreferrer nofollow\">Rufus<\/a>. \u0414\u0430\u043b\u0435\u0435 \u0432\u0441\u0442\u0430\u0432\u044c\u0442\u0435 SD-\u043a\u0430\u0440\u0442\u0443 \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u043c Napi Linux \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u041e\u0421.<\/p>\n<h4>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 IP \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430<\/h4>\n<p>\u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u0441 \u041e\u0421 Napi Linux \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a Repka Pi \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c HDMI \u0438 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443. \u0417\u0430\u0442\u0435\u043c \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u00abip -a\u00bb (\u0440\u0438\u0441. 2).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bd7\/4af\/2b2\/bd74af2b2a6dfdae3f6c4264d225ba25.jpeg\" alt=\"\" title=\"\" width=\"788\" height=\"642\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/bd7\/4af\/2b2\/bd74af2b2a6dfdae3f6c4264d225ba25.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bd7\/4af\/2b2\/bd74af2b2a6dfdae3f6c4264d225ba25.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 2. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP<\/strong> <\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0438\u0441\u043a\u043e\u043c\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 IP. \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig \u0435\u0433\u043e \u043d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 URL \u0432\u0438\u0434\u0430 https:\/\/192.168.0.20\/, \u0433\u0434\u0435 \u0432\u043c\u0435\u0441\u0442\u043e 192.168.0.20 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0437\u043b\u0430. \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043b\u043e\u0433\u0438\u043d\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f (\u0440\u0438\u0441. 3).<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/042\/e74\/a9a\/042e74a9a0dae344062132785cea8d05.jpeg\" alt=\"\" title=\"\" width=\"337\" height=\"289\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/042\/e74\/a9a\/042e74a9a0dae344062132785cea8d05.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/042\/e74\/a9a\/042e74a9a0dae344062132785cea8d05.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 3. \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043b\u043e\u0433\u0438\u043d\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f<\/strong> <\/p>\n<p>\u0412\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d \u00abadmin\u00bb \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u00abadmin\u00bb, \u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig (\u0440\u0438\u0441. 4).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1e6\/4f4\/2e4\/1e64f42e4b24f4afc63091a4666944b9.jpeg\" alt=\"\" title=\"\" width=\"1433\" height=\"660\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1e6\/4f4\/2e4\/1e64f42e4b24f4afc63091a4666944b9.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1e6\/4f4\/2e4\/1e64f42e4b24f4afc63091a4666944b9.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 4. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig<\/strong> <\/p>\n<h4>\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Napi Linux \u043d\u0430 EMMC<\/h4>\n<p>\u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0437 Napi Linux \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 EMMC \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>dd<\/strong>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 EMMC.<\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>lsblk<\/strong> \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0432\u0441\u0435\u0445 \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445:<\/p>\n<pre><code class=\"bash\"># lsblk NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MAJ:MIN RM\u00a0 SIZE RO TYPE MOUNTPOINTS mmcblk0\u00a0\u00a0\u00a0\u00a0\u00a0 179:0\u00a0\u00a0\u00a0 0 28.8G\u00a0 0 disk \u251c\u2500mmcblk0p1\u00a0 179:1\u00a0\u00a0\u00a0 0\u00a0 1.5G\u00a0 0 part \/mount\/rfs\/ro \u251c\u2500mmcblk0p2\u00a0 179:2\u00a0\u00a0\u00a0 0\u00a0 1.5G\u00a0 0 part \u2514\u2500mmcblk0p3\u00a0 179:3\u00a0\u00a0\u00a0 0 25.9G\u00a0 0 part \/mount\/rfs\/rw mmcblk1\u00a0\u00a0\u00a0\u00a0\u00a0 179:32\u00a0\u00a0 0 28.9G\u00a0 0 disk \u2514\u2500mmcblk1p1\u00a0 179:33\u00a0\u00a0 0 28.6G\u00a0 0 part mmcblk1boot0 179:64\u00a0\u00a0 0\u00a0\u00a0\u00a0 4M\u00a0 1 disk mmcblk1boot1 179:96\u00a0\u00a0 0\u00a0\u00a0\u00a0 4M\u00a0 1 disk<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>lsblk<\/strong> \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Napi Linux \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443. \u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e SD-\u043a\u0430\u0440\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e mmcblk0, \u0430 \u043f\u0430\u043c\u044f\u0442\u0438 EMMC \u2014 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e mmcblk1.<\/p>\n<p>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438 \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438:<\/p>\n<pre><code class=\"bash\"># cat \/sys\/class\/block\/mmcblk0\/device\/type SD # cat \/sys\/class\/block\/mmcblk1\/device\/type MMC<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 \u041e\u0421 Napi Linux \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 EMMC, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432 Repka Pi 4, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"># wget -O - https:\/\/download.napilinux.ru\/napilinux\/0.2.2\/napilinux-repka-pi4-optimal-dev\/napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz | xz -T0 -d | dd of=\/dev\/mmcblk1 bs=4M status=progress<\/code><\/pre>\n<p>\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0437 NapiLinux \u0432\u0435\u0440\u0441\u0438\u0438 0.2.2, \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/mmcblk1. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 EMMC \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <strong>of<\/strong> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>wget<\/strong> \u043d\u0430\u0447\u043d\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043e\u0431\u0440\u0430\u0437\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431\u0440\u0430\u0437\u0430 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/mmcblk1:<\/p>\n<pre><code class=\"bash\">Connecting to download.napilinux.ru (87.245.206.189:443) wget: note: TLS certificate validation not implemented writing to stdout -\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 43% |*****************************\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0 193M\u00a0 0:03:39 ETA<\/code><\/pre>\n<p>\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u00abTLS certificate validation not implemented\u00bb \u043c\u043e\u0436\u043d\u043e \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u043e\u043d\u043e \u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u043e\u0441\u044c, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0435 wget &#8212;no-check-certificate.<\/p>\n<p>\u0414\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<pre><code class=\"bash\">writing to stdout -\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100% |*******************************************************************|\u00a0 441M\u00a0 0:00:00 ETA written to stdout 3188154368 bytes (3.2 GB, 3.0 GiB) copied, 412 s, 7.7 MB\/s 0+107914 records in 0+107914 records out 3581935616 bytes (3.6 GB, 3.3 GiB) copied, 426.483 s, 8.4 MB\/s<\/code><\/pre>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430, \u0441\u0431\u0440\u043e\u0441\u044c\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u041e\u0421:<\/p>\n<pre><code class=\"bash\"># sync # shutdown -h now<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 Repka Pi 4, \u0438\u0437\u0432\u043b\u0435\u043a\u0438\u0442\u0435 SD-\u043a\u0430\u0440\u0442\u0443 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 Napi Linux \u0441 \u043a\u0430\u0440\u0442\u044b EMMC.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP \u0434\u043b\u044f \u0443\u0437\u043b\u0430 Repka Pi 4<\/h4>\n<p>\u041a\u0430\u043a \u043c\u044b \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438, \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 Napi Linux \u0432\u0445\u043e\u0434\u0438\u0442 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 NapiConfig, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 NapiConfig \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 https:\/\/192.168.0.20\/, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 192.168.0.20 \u0430\u0434\u0440\u0435\u0441\u043e\u043c IP \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0437\u043b\u0430, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u00ab<strong>ip -a<\/strong>\u00bb. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 <strong>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u0421\u0435\u0442\u044c<\/strong> (\u0440\u0438\u0441. 5).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ce9\/744\/5f1\/ce97445f180908e902f21f08fc0bd450.jpeg\" alt=\"\" title=\"\" width=\"1260\" height=\"250\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ce9\/744\/5f1\/ce97445f180908e902f21f08fc0bd450.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ce9\/744\/5f1\/ce97445f180908e902f21f08fc0bd450.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 5. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432<\/strong><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 <strong>end0<\/strong> \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/strong> (\u0440\u0438\u0441. 6).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f75\/57e\/32f\/f7557e32fdffdc6bc5924bc2c978dc37.jpeg\" alt=\"\" title=\"\" width=\"972\" height=\"634\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f75\/57e\/32f\/f7557e32fdffdc6bc5924bc2c978dc37.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f75\/57e\/32f\/f7557e32fdffdc6bc5924bc2c978dc37.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 6. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/strong><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c IP-\u0430\u0434\u0440\u0435\u0441, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u0438 DNS-\u0441\u0435\u0440\u0432\u0435\u0440\u044b. \u0414\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c<\/strong>. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u041e\u0421 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0430 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430.<\/p>\n<p><a class=\"anchor\" name=\"%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2\" id=\"%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2\"><\/a><\/p>\n<h3>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/h3>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NapiConfig \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c Modbus RTU \u0447\u0435\u0440\u0435\u0437 RS485, \u0447\u0435\u0440\u0435\u0437 \u0448\u043b\u044e\u0437 Modbus TCP \u0438 SNMP \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f Telegraf.<\/p>\n<p>\u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 InfluxDB2 \u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 Grafana.<\/p>\n<h4>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u0442\u0447\u0438\u043a CPU<\/h4>\n<p>\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0449\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a Repka Pi 4, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 CPU. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u044d\u0442\u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a \u0432 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b <strong>\u0414\u0430\u0442\u0447\u0438\u043a\u0438<\/strong> (\u0440\u0438\u0441. 7).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1d9\/cc6\/95a\/1d9cc695ab8dd6da0083c61fc47cb3d0.jpeg\" alt=\"\" title=\"\" width=\"1364\" height=\"373\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1d9\/cc6\/95a\/1d9cc695ab8dd6da0083c61fc47cb3d0.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1d9\/cc6\/95a\/1d9cc695ab8dd6da0083c61fc47cb3d0.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 7. \u0420\u0430\u0437\u0434\u0435\u043b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438<\/strong><\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 NapiLinux \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u0443\u0441\u0442\u043e\u0439, \u0430 \u0441\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u0430. \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a \u0434\u043b\u044f CPU \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439<\/strong> \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0444\u043e\u0440\u043c\u0443 (\u0440\u0438\u0441. 8).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ff\/f1a\/227\/0fff1a227e8ef0e523cc39139e8dc33a.jpeg\" alt=\"\" title=\"\" width=\"1297\" height=\"581\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0ff\/f1a\/227\/0fff1a227e8ef0e523cc39139e8dc33a.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ff\/f1a\/227\/0fff1a227e8ef0e523cc39139e8dc33a.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 8. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 CPU<\/strong><\/p>\n<p>\u0412 \u043f\u043e\u043b\u0435 <strong>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435<\/strong> \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 CPU, \u0430 \u0432 \u043f\u043e\u043b\u0435 <strong>\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/strong> \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f Telegraf, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435:<\/p>\n<pre><code class=\"bash\"># Read metrics about cpu usage [[inputs.cpu]]   ## Whether to report per-cpu stats or not   percpu = false   ## Whether to report total system cpu stats or not   totalcpu = true   ## If true, collect raw CPU time metrics   collect_cpu_time = false   ## If true, compute and report the sum of all non-idle CPU states   ## NOTE: The resulting 'time_active' field INCLUDES 'iowait'!   report_active = false   ## If true and the info is available then add core_id and physical_id tags   core_tags = false<\/code><\/pre>\n<p>\u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c<\/strong>. \u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0430 <strong>\u0422\u0435\u0441\u0442<\/strong>, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u0440\u0438\u0441. 9).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b4f\/874\/580\/b4f87458068c55bafe5330c30cb2364d.jpeg\" alt=\"\" title=\"\" width=\"934\" height=\"425\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b4f\/874\/580\/b4f87458068c55bafe5330c30cb2364d.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b4f\/874\/580\/b4f87458068c55bafe5330c30cb2364d.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 9. \u041e\u043a\u043d\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/strong><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u0442, \u0432 \u043e\u043a\u043d\u0435 <strong>\u0422\u0435\u0441\u0442 \u043f\u0440\u043e\u0439\u0434\u0435\u043d<\/strong> \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u00bb. \u0417\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u043e\u043a\u043d\u043e \u043a\u043d\u043e\u043f\u043a\u043e\u0439 <strong>\u0417\u0430\u043a\u0440\u044b\u0442\u044c<\/strong>, \u0430 \u043f\u043e\u0442\u043e\u043c \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>^+S<\/strong> \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0437\u0435\u043b\u0435\u043d\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430 \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0434\u0438\u0441\u043a\u0435\u0442\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0432 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0442\u0430\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/strong>, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 CPU.<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u0430\u0442\u0447\u0438\u043a <strong>CPU<\/strong>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 (\u0440\u0438\u0441. 10).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d52\/952\/f79\/d52952f791db6acb70e9590b0c26ce21.jpeg\" alt=\"\" title=\"\" width=\"1019\" height=\"231\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d52\/952\/f79\/d52952f791db6acb70e9590b0c26ce21.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d52\/952\/f79\/d52952f791db6acb70e9590b0c26ce21.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 10. \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u0430\u0442\u0447\u0438\u043a CPU \u0438 \u0441\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/strong><\/p>\n<p>\u0421\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430.<\/p>\n<p>\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442, \u0430 \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 <strong>\u0413\u0440\u0430\u0444\u0438\u043a\u0438<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435.<\/strong> \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u0434\u0430\u0442\u0447\u0438\u043a <strong>cpu<\/strong> \u0438 \u043f\u043e\u043b\u0435 <strong>usage_user<\/strong>. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0433\u0440\u0430\u0444\u0438\u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 (\u0440\u0438\u0441. 11).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8c5\/191\/b2a\/8c5191b2af637249dd6b2a9dcca2c13b.jpeg\" alt=\"\" title=\"\" width=\"1047\" height=\"472\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8c5\/191\/b2a\/8c5191b2af637249dd6b2a9dcca2c13b.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8c5\/191\/b2a\/8c5191b2af637249dd6b2a9dcca2c13b.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 11. \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430<\/strong><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u2014 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0438\u043e\u0434 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u0440\u0430\u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0442\u044c \u0443\u0447\u0430\u0441\u0442\u043a\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0434\u043b\u044f \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430, \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438, \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043e\u0441\u0438 \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 <a href=\"https:\/\/napilinux.ru\/napiconfig2\/\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 NapiConfig<\/a>.<\/p>\n<h4>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0430\u0442\u0447\u0438\u043a XY-MD02 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c RS-485<\/h4>\n<p>\u0414\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0441\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u043c <a href=\"https:\/\/www.idbsmart.cz\/wp-content\/uploads\/2024\/05\/xy-md02-manual.pdf\" rel=\"noopener noreferrer nofollow\">XY-MD02<\/a>. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0435\u0433\u043e \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u0438 Repka Pi 4 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a\u0430 \u0438\u0437 USB \u0432 RS-485.<\/p>\n<p>\u041f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0430\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a \u0438\u0437 USB \u0432 RS-485, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432 \u043d\u0435\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0433\u0430\u043b\u044c\u0432\u0430\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0440\u0430\u0437\u0432\u044f\u0437\u043a\u0430 \u0446\u0435\u043f\u0435\u0439. \u0412 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 <a href=\"https:\/\/www.ozon.ru\/product\/preobrazovatel-interfeysov-usb-rs485-rs232-konverter-usb-rs485-rs232-usb-adapter-na-chipe-1595805146\/?advert=ABwBlMcJ2Nr9EO0-m9gPJZXLLX7ab6qoYhh2TgsSmZw7T1MCZm51DKdoZjIQirS-k3mXigGHFXhzuYBWV3rmwCLayGsxXzzZt3vByarwKuVoYNz6SCRszoVGjui9uP10cItQ7QiNMblQoeGd4Q3TZQyRnNZopWMhqOS1rzmMwhcG4Np3Ry7POauN3NSvhtx8k2x46yEwFTND9erjM_N0XXkSKddrF2SYGiZJ2zJ2tRuTMbZQBP_MH3QOZo9Xa1cHZfdKTCQFItAyv1mu8EmNv82x8J8Ejim2Sm45532i2dSlBLSGs-PdwLiWOj_ItVKUzlLSE7qq2wex5DBsLkxZ3QXY2kT19BNTwPoXiJv9snR2V1fkbnvHcXoZq7XTZBMIPqQz2M7CdSdgZeLM3FOg5DETL_OqdoNPFWhIr8EiSjcJ0jrBuMTB0_ymUsZ8StLrPnMWUHhRAIkqFMt4Is7O7J6GvaaW27A&amp;avtc=1&amp;avte=4&amp;avts=1735396403&amp;keywords=%D0%BF%D0%B5%D1%80%D0%B5%D1%85%D0%BE%D0%B4%D0%BD%D0%B8%D0%BA+%D1%81+usb+%D0%BD%D0%B0+rs-485\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 USB-RS485\/RS232 \u043d\u0430 \u0447\u0438\u043f\u0430\u0445 CH340 \u0438 MAX232<\/a> \u0435\u0441\u0442\u044c \u0444\u0440\u0430\u0437\u0430: &#171;\u0410\u0434\u0430\u043f\u0442\u0435\u0440 \u0438\u043c\u0435\u0435\u0442 \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u0443\u044e \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u043e\u043c\u0435\u0445 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435.&#187;<\/p>\n<p>\u041c\u0430\u043a\u0435\u0442 \u043d\u0430 \u0431\u0430\u0437\u0435 Repka Pi 4 c \u041e\u0421 Napi Linux \u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u043c XY-MD02 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043d\u0430 \u0440\u0438\u0441. 12.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6a9\/224\/b7b\/6a9224b7b450f8ad9ab6a65c640b1884.jpeg\" alt=\"\" title=\"\" width=\"894\" height=\"559\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/6a9\/224\/b7b\/6a9224b7b450f8ad9ab6a65c640b1884.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6a9\/224\/b7b\/6a9224b7b450f8ad9ab6a65c640b1884.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 12. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 XY-MD02 \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 Repka Pi 4<\/strong><\/p>\n<p>\u041f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043c\u0430\u043a\u0435\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 12 \u0412 \u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0432\u044b\u0432\u043e\u0434\u0430\u043c \u0434\u0430\u0442\u0447\u0438\u043a\u0430. \u041a\u043e\u043d\u0442\u0430\u043a\u0442\u044b A+ \u0438 B- \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u043c A \u0438 B \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u0438\u043a\u0430.<\/p>\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 mbpoll, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0435\u0441\u0442\u044c \u0432 \u041e\u0421 Napi Linux:<\/p>\n<pre><code class=\"bash\"># mbpoll -m rtu -a 1 -r 2 -c 2 -t 3 -b 9600 -P none -s 1 -d 8 -1 -v \/dev\/ttyUSB0 debug enabled Set device=\/dev\/ttyUSB0 mbpoll 1.0-0 - ModBus(R) Master Simulator Copyright (c) 2015-2023 Pascal JEAN, https:\/\/github.com\/epsilonrt\/mbpoll This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; type 'mbpoll -w' for details. Opening \/dev\/ttyUSB0 at 9600 bauds (N, 8, 1) Set response timeout to 1 sec, 0 us Protocol configuration: ModBus RTU Slave configuration...: address = [1] \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 start reference = 2, count = 2 Communication.........: \/dev\/ttyUSB0,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9600-8N1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0t\/o 1.00 s, poll rate 1000 ms Data type.............: 16-bit register, input register table -- Polling slave 1... [01][04][00][01][00][02][20][0B] Waiting for a confirmation... &lt;01&gt;&lt;04&gt;&lt;04&gt;&lt;01&gt;&lt;1F&gt;&lt;01&gt;&lt;8B&gt; [2]:\u00a0\u00a0\u00a0 287 [3]:\u00a0\u00a0\u00a0 507<\/code><\/pre>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0434\u0430\u0442\u0447\u0438\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041e\u043d \u0432\u0435\u0440\u043d\u0443\u043b \u0442\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438:<\/p>\n<ul>\n<li>\n<p>\u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430: 287\/10 = 28.7 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432 \u0426\u0435\u043b\u044c\u0441\u0438\u044f;<\/p>\n<\/li>\n<li>\n<p>\u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c: 507\/10 = 50.7%<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 mbpoll \u0431\u044b\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u044b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<ul>\n<li>\n<p>\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/ttyUSB0;<\/p>\n<\/li>\n<li>\n<p>-b: \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 9600 \u0431\u043e\u0434;<\/p>\n<\/li>\n<li>\n<p>-P, -d, -s: \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0432\u044f\u0437\u0438: 8 \u0431\u0438\u0442 \u0434\u0430\u043d\u043d\u044b\u0445, 1 \u0441\u0442\u043e\u043f-\u0431\u0438\u0442, \u0431\u0435\u0437 \u0431\u0438\u0442\u0430 \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438;<\/p>\n<\/li>\n<li>\n<p>-m: \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b Modbus RTU;<\/p>\n<\/li>\n<li>\n<p>-a: \u0430\u0434\u0440\u0435\u0441 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (Slave) 1;<\/p>\n<\/li>\n<li>\n<p>-r:\u00a0 \u0430\u0434\u0440\u0435\u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f 2;<\/p>\n<\/li>\n<li>\n<p>-c: \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u0438\u0442\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 2:<\/p>\n<\/li>\n<li>\n<p>-t : \u0447\u0438\u0442\u0430\u044e\u0442\u0441\u044f \u0432\u0445\u043e\u0434\u043d\u044b\u0435 (Input) \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b;<\/p>\n<\/li>\n<li>\n<p>-1: \u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445;<\/p>\n<\/li>\n<li>\n<p>-v: \u0440\u0435\u0436\u0438\u043c \u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0432 \u0434\u0430\u0442\u0447\u0438\u043a \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u044b\u0435 \u043e\u0442 \u043d\u0435\u0433\u043e, \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 -h:<\/p>\n<pre><code class=\"bash\">$ mbpoll -h<\/code><\/pre>\n<p>\u0414\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u0430\u0442\u0447\u0438\u043a\u0430 XY_MD02 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NapiConfig \u0448\u0430\u0431\u043b\u043e\u043d, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0438\u0436\u0435:<\/p>\n<pre><code class=\"bash\">## XY_MD02 Temperature\\Humidity) Modbus RTU [[inputs.modbus]] \u00a0 name = \"XY_MD02\" # \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u00a0 slave_id = 1 \u00a0 timeout = \"10s\" \u00a0 # busy_retries = 0 \u00a0 # busy_retries_wait = \"100ms\" \u00a0 controller = \"\/dev\/ttyUSB0\" \u00a0 baud_rate = 9600 \u00a0 data_bits = 8 \u00a0 parity = \"N\" \u00a0 stop_bits = 1 \u00a0 transmission_mode = \"RTU\" \u00a0 # \u0421\u043f\u0438\u0441\u043e\u043a \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u00a0 input_registers = [ \u00a0 \u00a0 { measurement=\"XY_MD02-rtu\", name = \"Temperature\", \u00a0 byte_order = \"AB\", \u00a0 data_type = \"UINT16\", \u00a0 scale=0.1, \u00a0 \u00a0 address = [1]}, \u00a0 \u00a0 { measurement=\"XY_MD02-rtu\", name = \"Humidity\", \u00a0 byte_order = \"AB\", \u00a0 data_type = \"UINT16\", \u00a0 scale=0.1, \u00a0 \u00a0 address = [2]}, \u00a0 ]<\/code><\/pre>\n<p>\u041d\u0430 \u0440\u0438\u0441. 13 \u043c\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438, \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c Telegraf \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0443\u0436\u0435 \u0441 \u0434\u0432\u0443\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/85f\/123\/c06\/85f123c06a782646952e11b4e2251406.jpeg\" alt=\"\" title=\"\" width=\"884\" height=\"336\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/85f\/123\/c06\/85f123c06a782646952e11b4e2251406.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/85f\/123\/c06\/85f123c06a782646952e11b4e2251406.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 13. \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0434\u0430\u0442\u0447\u0438\u043a\u0438 CPU \u0438 XY_MD02<\/strong><\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442 \u043f\u043e\u0441\u043b\u0435 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 <strong>XY_MD02<\/strong> \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 <strong>\u0413\u0440\u0430\u0444\u0438\u043a\u0438<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435.<\/strong> \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u0434\u0430\u0442\u0447\u0438\u043a <strong>XY_MD02-rtu<\/strong> \u0438 \u043f\u043e\u043b\u0435 <strong>Humidity<\/strong>. \u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0433\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c (\u0440\u0438\u0441. 14).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/30d\/7ab\/7b0\/30d7ab7b0ea55b0ea2dd8e8d6d845461.jpeg\" alt=\"\" title=\"\" width=\"1074\" height=\"471\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/30d\/7ab\/7b0\/30d7ab7b0ea55b0ea2dd8e8d6d845461.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/30d\/7ab\/7b0\/30d7ab7b0ea55b0ea2dd8e8d6d845461.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 14. \u0413\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c<\/strong><\/p>\n<h4>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0430\u0442\u0447\u0438\u043a PZEM-016 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c RS-485<\/h4>\n<p>\u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435, \u0442\u043e\u043a \u0438 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u043e\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u0441\u0435\u0442\u0438, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a <a href=\"https:\/\/smacont.ru\/applying\/015\/PZEM-014-016-Datasheet-User-Manual.pdf\" rel=\"noopener noreferrer nofollow\">PZEM-014\/016 AC communication module<\/a>.<\/p>\n<p>\u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0435\u0441\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 \u043a\u043e\u0440\u043f\u0443\u0441\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 (\u0440\u0438\u0441. 15).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f3f\/1a1\/766\/f3f1a1766e454cb88a5151694093eabc.jpeg\" alt=\"\" title=\"\" width=\"1280\" height=\"1049\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f3f\/1a1\/766\/f3f1a1766e454cb88a5151694093eabc.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f3f\/1a1\/766\/f3f1a1766e454cb88a5151694093eabc.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 15. \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 PZEM-016<\/strong><\/p>\n<p>\u041d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 220 \u0412 \u0441 \u0432\u0438\u043b\u043a\u0438 \u043f\u043e\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043d\u0438\u0436\u043d\u0438\u0435 \u0434\u0432\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430 PZEM-016.<\/p>\n<p>\u041d\u0430 \u0440\u0438\u0441. 16 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043c\u0430\u043a\u0435\u0442 \u0432 \u0441\u0431\u043e\u0440\u0435, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u044f\u043b\u044c\u043d\u0438\u043a\u0430.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a8c\/069\/61d\/a8c06961de2736c925d409b9168b2b6a.jpeg\" alt=\"\" title=\"\" width=\"1211\" height=\"937\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/a8c\/069\/61d\/a8c06961de2736c925d409b9168b2b6a.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/a8c\/069\/61d\/a8c06961de2736c925d409b9168b2b6a.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 16. \u0418\u0437\u043c\u0435\u0440\u044f\u0435\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u044d\u043d\u0435\u0440\u0433\u0438\u0438 \u043f\u0430\u044f\u043b\u044c\u043d\u0438\u043a\u0430<\/strong><\/p>\n<p>\u041a \u0432\u0435\u0440\u0445\u043d\u0438\u043c \u0434\u0432\u0443\u043c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u043c PZEM-016 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u0442\u0447\u0438\u043a \u0442\u043e\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u0432\u043e\u043a\u0440\u0443\u0433 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043f\u043e\u0432\u043e\u0434\u043e\u0432, \u0438\u0434\u0443\u0449\u0438\u0445 \u043a \u0440\u043e\u0437\u0435\u0442\u043a\u0435. \u0420\u043e\u0437\u0435\u0442\u043a\u0430 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f PZEM-016 \u043a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 Repka Pi 4 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 mbpoll:<\/p>\n<pre><code class=\"bash\"># mbpoll -m rtu -a 1 -r 0 -c 10 -t 3 -b 9600 -P none -s 1 -d 8 -1 -0 -v \/dev\/ttyUSB0 debug enabled Set device=\/dev\/ttyUSB0 mbpoll 1.0-0 - ModBus(R) Master Simulator Copyright (c) 2015-2023 Pascal JEAN, https:\/\/github.com\/epsilonrt\/mbpoll This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; type 'mbpoll -w' for details. Opening \/dev\/ttyUSB0 at 9600 bauds (N, 8, 1) Set response timeout to 1 sec, 0 us Protocol configuration: ModBus RTU Slave configuration...: address = [1] \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 start reference = 0, count = 10 Communication.........: \/dev\/ttyUSB0,\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9600-8N1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 t\/o 1.00 s, poll rate 1000 ms Data type.............: 16-bit register, input register table -- Polling slave 1... [01][04][00][00][00][0A][70][0D] Waiting for a confirmation... &lt;01&gt;&lt;04&gt;&lt;14&gt;&lt;08&gt;&lt;00&gt;&lt;00&gt;&lt;00&gt;&lt;01&gt;&lt;9A&gt;&lt;00&gt;&lt;00&gt;&lt;00&gt;&lt;00&gt;&lt;00&gt;&lt;01&gt;&lt;00&gt;&lt;64&gt;&lt;00&gt;&lt;00&gt; [0]:\u00a0\u00a0\u00a0 2226 [1]:\u00a0\u00a0\u00a0 184 [2]:\u00a0\u00a0\u00a0 0 [3]:\u00a0\u00a0\u00a0 410 [4]:\u00a0 \u00a0\u00a00 [5]:\u00a0\u00a0\u00a0 240 [6]:\u00a0\u00a0\u00a0 0 [7]:\u00a0\u00a0\u00a0 500 [8]:\u00a0\u00a0\u00a0 100 [9]:\u00a0\u00a0\u00a0 0<\/code><\/pre>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0447\u0438\u0442\u0430\u0435\u0442 \u0434\u0435\u0441\u044f\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432 \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 0. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u0435\u0440\u0438\u0442\u044c \u0441 \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u043e\u043c \u0434\u0430\u0442\u0447\u0438\u043a\u0430, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u043c \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 <a href=\"https:\/\/smacont.ru\/applying\/015\/PZEM-014-016-Datasheet-User-Manual.pdf\" rel=\"noopener noreferrer nofollow\">https:\/\/smacont.ru\/applying\/015\/PZEM-014-016-Datasheet-User-Manual.pdf<\/a>.<\/p>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439 \u0431\u044b\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b mbpoll, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u0435 \u0434\u043b\u044f \u043f\u0430\u044f\u043b\u044c\u043d\u0438\u043a\u0430 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c\u044e 40 \u0412\u0442:<\/p>\n<ul>\n<li>\n<p>\u041d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435: 222.6 \u0412<\/p>\n<\/li>\n<li>\n<p>\u0422\u043e\u043a: 0.184 \u0410<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0449\u043d\u043e\u0441\u0442\u044c: 41.0 \u0412\u0442<\/p>\n<\/li>\n<li>\n<p>\u042d\u043d\u0435\u0440\u0433\u0438\u044f: 240 \u0412\u0442*\u0447<\/p>\n<\/li>\n<li>\n<p>\u0427\u0430\u0441\u0442\u043e\u0442\u0430: 50.0 \u0413\u0446<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438: 1.00<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NapiConfig, \u043a\u0430\u043a \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0440\u0430\u043d\u0435\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u0442\u0447\u0438\u043a:<\/p>\n<pre><code class=\"bash\">##  AC communication module [[inputs.modbus]]   name = \"pzem016\"   controller = [file:\/\/\/dev\/ttyUSB0](file:\/\/\/dev\/ttyUSB0)   baud_rate = 9600   data_bits = 8   parity = \"N\"   stop_bits = 1   transmission_mode = \"RTU\"   slave_id = 1   timeout = \"5s\"  input_registers = [  { measurement=\"pzem016-modbus-rtu\", name = \"Volt_a\",   byte_order = \"AB\",   data_type = \"UINT16\",   scale=0.1,     address = [0]},  { measurement=\"pzem016-modbus-rtu\", name = \"Current\",  byte_order = \"AB\",   data_type = \"UINT16\",   scale=0.001,     address = [1]},  { measurement=\"pzem016-modbus-rtu\", name = \"Power\",    byte_order = \"AB\",   data_type = \"UINT16\",   scale=0.1,     address = [3]},  { measurement=\"pzem016-modbus-rtu\", name = \"Energy\",    byte_order = \"AB\",   data_type = \"UINT16\",   scale=1.0, address = [5]},  { measurement=\"pzem016-modbus-rtu\", name = \"Frequency\",    byte_order = \"AB\",   data_type = \"UINT16\",   scale=0.1, address = [7]},  { measurement=\"pzem016-modbus-rtu\", name = \"Power factor\", byte_order = \"AB\",   data_type = \"UINT16\",   scale=1.0, address = [8]},  { measurement=\"pzem016-modbus-rtu\", name = \"Alarm status\", byte_order = \"AB\",   data_type = \"UINT16\",   scale=1.0, address = [9]},  ]<\/code><\/pre>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c. \u041d\u0430 \u0440\u0438\u0441. 17 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0438\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f, \u043d\u0430 \u0440\u0438\u0441. 18 \u2014 \u0447\u0430\u0441\u0442\u043e\u0442\u044b, \u0430 \u043d\u0430 \u0440\u0438\u0441. 19 \u2014 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u043e\u0439 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4bd\/c71\/3e8\/4bdc713e8c15413ace099e5f1910c2f7.jpeg\" alt=\"\" title=\"\" width=\"928\" height=\"512\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4bd\/c71\/3e8\/4bdc713e8c15413ace099e5f1910c2f7.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4bd\/c71\/3e8\/4bdc713e8c15413ace099e5f1910c2f7.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 17. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043f\u0438\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f<\/strong><\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7d7\/e30\/250\/7d7e30250125a0bbf4a54c7262e72bfe.jpeg\" alt=\"\" title=\"\" width=\"931\" height=\"506\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7d7\/e30\/250\/7d7e30250125a0bbf4a54c7262e72bfe.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7d7\/e30\/250\/7d7e30250125a0bbf4a54c7262e72bfe.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 18. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u0438\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f<\/strong><\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/80a\/eba\/027\/80aeba027a5b2bd9fbedc66168766f7f.jpeg\" alt=\"\" title=\"\" width=\"927\" height=\"507\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/80a\/eba\/027\/80aeba027a5b2bd9fbedc66168766f7f.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/80a\/eba\/027\/80aeba027a5b2bd9fbedc66168766f7f.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 19. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u043e\u0439 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438<\/strong><\/p>\n<p>\u0421\u043a\u0430\u0447\u043e\u043a \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u043e\u0439 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0435\u0440\u0438\u043e\u0434\u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043a\u043e\u0433\u0434\u0430 \u0432 \u0440\u043e\u0437\u0435\u0442\u043a\u0443 \u0431\u044b\u043b \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0430\u044f\u043b\u044c\u043d\u0438\u043a \u043d\u0430 40 \u0412\u0442.<\/p>\n<h4>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0430\u0442\u0447\u0438\u043a ATS-1204<\/h4>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NapiConfig \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 SNMP \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 <a href=\"https:\/\/www.elemy.ru\/ats-1204-16\" rel=\"noopener noreferrer nofollow\">ELEMY-ATS1204<\/a>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>SNMP \u2013 MIBs<\/strong> web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u044b ELEMY-MIB \u0438 ELEMY-ATS1204-MIB, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 <a href=\"https:\/\/github.com\/lab240\/telegraf-grafana-configs\/tree\/main\/snmp\/elemy-snmp\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/lab240\/telegraf-grafana-configs\/tree\/main\/snmp\/elemy-snmp<\/a> (\u0440\u0438\u0441. 20).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fd8\/5f4\/02b\/fd85f402bfed24b100e1db42bddc9aee.jpeg\" alt=\"\" title=\"\" width=\"929\" height=\"339\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/fd8\/5f4\/02b\/fd85f402bfed24b100e1db42bddc9aee.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fd8\/5f4\/02b\/fd85f402bfed24b100e1db42bddc9aee.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 20. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 ELEMY-MIB \u0438 ELEMY-ATS1204-MIB<\/strong><\/p>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0434\u043b\u044f Telegraf Elemy_ATS-1204_snmp_1.conf \u0441 \u0441\u0430\u0439\u0442\u0430 <a href=\"https:\/\/github.com\/lab240\/telegraf-grafana-configs\/blob\/main\/conf-telegraf\/Elemy\/ATS-1204-snmp-starlrk\/Elemy_ATS-1204_snmp_1.conf\" rel=\"noopener noreferrer nofollow\">https:\/\/github.com\/lab240\/telegraf-grafana-configs\/blob\/main\/conf-telegraf\/Elemy\/ATS-1204-snmp-starlrk\/Elemy_ATS-1204_snmp_1.conf<\/a>.<\/p>\n<p>\u0412 \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u0434\u0430\u0442\u0447\u0438\u043a Elemy_ATS-1204 (\u0440\u0438\u0441. 21).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d7a\/adf\/9f7\/d7aadf9f778b93cdf2d5079014d6fa94.jpeg\" alt=\"\" title=\"\" width=\"941\" height=\"285\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d7a\/adf\/9f7\/d7aadf9f778b93cdf2d5079014d6fa94.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d7a\/adf\/9f7\/d7aadf9f778b93cdf2d5079014d6fa94.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 21. \u0414\u0430\u0442\u0447\u0438\u043a Elemy_ATS-1204 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/strong><\/p>\n<p>\u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043d\u043e\u043f\u043a\u0438 <strong>\u0422\u0435\u0441\u0442<\/strong>. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u043e\u0441\u044c \u0443\u0441\u043f\u0435\u0448\u043d\u043e.<\/p>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u0413\u0440\u0430\u0444\u0438\u043a\u0438<\/strong> \u0434\u0430\u0442\u0447\u0438\u043a Elemy_ATS-1204. \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a, \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 <strong>\u041f\u043e\u043b\u0435<\/strong> (\u0440\u0438\u0441. 22).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d37\/4bd\/9f5\/d374bd9f5f500ab68c8a58642d24a4ba.jpeg\" alt=\"\" title=\"\" width=\"939\" height=\"481\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d37\/4bd\/9f5\/d374bd9f5f500ab68c8a58642d24a4ba.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d37\/4bd\/9f5\/d374bd9f5f500ab68c8a58642d24a4ba.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 22. \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u0430\u0442\u0447\u0438\u043a\u0430 Elemy_ATS-1204<\/strong><\/p>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043a \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0443 \u0447\u0435\u0440\u0435\u0437 NapiConfig \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043e\u0441\u043e\u0431\u043e\u0439 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p><a class=\"anchor\" name=\"%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-influxdb\" id=\"%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-influxdb\"><\/a><\/p>\n<h3>\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 InfluxDB<\/h3>\n<p>\u0414\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0445 \u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 Telegraf, \u0432 Napi Linux \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 InfluxDB.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 InfluxDB, \u0443\u043a\u0430\u0437\u0430\u0432 \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 URL \u0432\u0438\u0434\u0430 http:\/\/192.168.0.20:8086\/, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 \u0430\u0434\u0440\u0435\u0441 IP \u0441\u0432\u043e\u0438\u043c. \u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d \u00abadmin\u00bb \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u00abnnzadmin\u00bb. \u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043e\u043a\u043d\u043e <strong>Get Started<\/strong> (\u0440\u0438\u0441. 23).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/845\/9bf\/ce0\/8459bfce075ad3cfd428644fcd7b4430.jpeg\" alt=\"\" title=\"\" width=\"741\" height=\"396\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/845\/9bf\/ce0\/8459bfce075ad3cfd428644fcd7b4430.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/845\/9bf\/ce0\/8459bfce075ad3cfd428644fcd7b4430.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 23. \u041e\u043a\u043d\u043e Get Started<\/strong><\/p>\n<p>\u0417\u0430\u0442\u0435\u043c \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Data Explorer<\/strong>, \u0449\u0435\u043b\u043a\u043d\u0443\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0437\u043d\u0430\u0447\u043e\u043a \u0432 \u043b\u0435\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 (\u0440\u0438\u0441. 24).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ff\/9ab\/674\/0ff9ab6747bab8718e8bff286dc7596f.jpeg\" alt=\"\" title=\"\" width=\"531\" height=\"327\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/0ff\/9ab\/674\/0ff9ab6747bab8718e8bff286dc7596f.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/0ff\/9ab\/674\/0ff9ab6747bab8718e8bff286dc7596f.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 24. \u0417\u043d\u0430\u0447\u043e\u043a \u0434\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0430 Data Explorer<\/strong><\/p>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 <strong>FROM<\/strong> \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 (\u0431\u0430\u043a\u0435\u0442) <strong>bucket1<\/strong>. \u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a <strong>Filter<\/strong>. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435 \u0444\u043b\u0430\u0436\u043e\u043a <strong>cpu<\/strong>.<\/p>\n<p>\u0421\u043f\u0440\u0430\u0432\u0430 \u043e\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 <strong>Filter<\/strong> \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0444\u0438\u043b\u044c\u0442\u0440 \u0441\u043e \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u043c\u0435\u0442\u0440\u0438\u043a. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u043c\u0435\u0442\u0440\u0438\u043a\u0443 <strong>usage_user<\/strong>. \u041f\u0440\u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0442\u0440\u0435\u0442\u044c\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u043e\u0442\u043c\u0435\u0442\u044c\u0442\u0435 \u0432 \u043d\u0435\u043c \u0444\u043b\u0430\u0436\u043e\u043a <strong>cpu-total<\/strong>.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0438 \u043d\u0443\u0436\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>SUBMIT<\/strong>. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0433\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043f\u0440\u0438\u0447\u0435\u043c \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c, \u0437\u0430 \u043a\u0430\u043a\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 (\u0440\u0438\u0441. 25).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9b1\/77e\/275\/9b177e27587e0076371beea76001f28e.jpeg\" alt=\"\" title=\"\" width=\"933\" height=\"553\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/9b1\/77e\/275\/9b177e27587e0076371beea76001f28e.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/9b1\/77e\/275\/9b177e27587e0076371beea76001f28e.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 25. \u0413\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 usage_user<\/strong><\/p>\n<p>\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 InfluxDB \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Flux. \u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>SCRIPT EDITOR<\/strong>. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0442\u0435\u043a\u0441\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c (\u0440\u0438\u0441. 26).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e6d\/e6c\/300\/e6de6c30085586c439ad36a227635772.jpeg\" alt=\"\" title=\"\" width=\"931\" height=\"612\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e6d\/e6c\/300\/e6de6c30085586c439ad36a227635772.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e6d\/e6c\/300\/e6de6c30085586c439ad36a227635772.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 26. \u0422\u0435\u043a\u0441\u0442 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Flux \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a\u0438 usage_user<\/strong><\/p>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c \u0432\u0438\u0434\u0435:<\/p>\n<pre><code class=\"bash\">from(bucket: \"bucket1\") \u00a0 |&gt; range(start: v.timeRangeStart, stop: v.timeRangeStop) \u00a0 |&gt; filter(fn: (r) =&gt; r[\"_measurement\"] == \"cpu\") \u00a0 |&gt; filter(fn: (r) =&gt; r[\"_field\"] == \"usage_user\") \u00a0 |&gt; filter(fn: (r) =&gt; r[\"cpu\"] == \"cpu-total\") \u00a0 |&gt; aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false) \u00a0 |&gt; yield(name: \"mean\")<\/code><\/pre>\n<p>\u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u0432 Grafana.<\/p>\n<p><a class=\"anchor\" name=\"%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-grafana\" id=\"%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-grafana\"><\/a><\/p>\n<h3>\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Grafana<\/h3>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 \u043d\u0430 Repka Pi 4 Napi Linux, \u0442\u043e \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043c\u043e\u0449\u043d\u0430\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 Grafana. \u0421 \u0435\u0435 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433 \u043c\u0435\u0442\u0440\u0438\u043a \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0434\u0430\u0448\u0431\u043e\u0440\u0434\u044b. \u0421\u0440\u0435\u0434\u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 InfluxDB.<\/p>\n<p>\u0412 Grafana \u043d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438, \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0430\u043b\u0435\u0440\u0442\u044b (\u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u044f \u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u044f\u0445). \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0432\u044b\u0445\u043e\u0434\u0430\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a \u0438\u0437 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u043e\u0432.<\/p>\n<h4>\u0417\u0430\u043f\u0443\u0441\u043a Grafana \u043d\u0430 \u0443\u0437\u043b\u0435 Napi Linux<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c Grafana \u043d\u0430 \u0443\u0437\u043b\u0435 Napi Linux, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 <strong>\u0421\u043b\u0443\u0436\u0431\u044b<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u2013 \u0421\u0438\u0441\u0442\u0435\u043c\u0430.<\/strong> \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 <a href=\"https:\/\/178.218.200.115:8443\/settings\/system\/services\/grafana-server.service\" rel=\"noopener noreferrer nofollow\">grafana-server.service<\/a> \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d (\u0440\u0438\u0441. 27).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/594\/a8e\/cd4\/594a8ecd43a5c3adde9ccc79c5d005da.jpeg\" alt=\"\" title=\"\" width=\"914\" height=\"292\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/594\/a8e\/cd4\/594a8ecd43a5c3adde9ccc79c5d005da.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/594\/a8e\/cd4\/594a8ecd43a5c3adde9ccc79c5d005da.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 27. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 grafana-server.service<\/strong><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u044b \u0443\u0431\u0435\u0434\u0438\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441 <a href=\"https:\/\/178.218.200.115:8443\/settings\/system\/services\/grafana-server.service\" rel=\"noopener noreferrer nofollow\">grafana-server.service<\/a> \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0430\u0434\u0440\u0435\u0441 \u0432\u0438\u0434\u0430 http:\/\/192.168.0.20:3000\/, \u0433\u0434\u0435 \u0432\u043c\u0435\u0441\u0442\u043e 192.168.0.20 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 IP \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0437\u043b\u0430 Napi Linux. \u0414\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b HTTP, \u0430 \u043d\u0435 HTTPS.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u043b\u0443\u0436\u0431\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0430\u0441\u044c \u0431\u0435\u0437 \u043e\u0448\u0438\u0431\u043e\u043a, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 Grafana (\u0440\u0438\u0441. 28).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/36c\/42c\/2f1\/36c42c2f140d368ecf4d9d00f9d2b51b.jpeg\" alt=\"\" title=\"\" width=\"931\" height=\"406\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/36c\/42c\/2f1\/36c42c2f140d368ecf4d9d00f9d2b51b.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/36c\/42c\/2f1\/36c42c2f140d368ecf4d9d00f9d2b51b.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 28. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e Grafana<\/strong><\/p>\n<p>\u0414\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d \u00abadmin\u00bb \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u00abnnzadmin\u00bb.<\/p>\n<h4>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<p>\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432 Grafana \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 InfluxDB. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u0438 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Connections<\/strong> \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u0435\u043d\u044e <strong>Data sources<\/strong> (\u0440\u0438\u0441. 29).<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f54\/001\/fbb\/f54001fbb24d3bdd74294c31e01a6736.jpeg\" alt=\"\" title=\"\" width=\"260\" height=\"379\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f54\/001\/fbb\/f54001fbb24d3bdd74294c31e01a6736.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f54\/001\/fbb\/f54001fbb24d3bdd74294c31e01a6736.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 29. \u0412\u044b\u0431\u043e\u0440 Data sources \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445<\/strong><\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0430 <strong>Data sources<\/strong> (\u0440\u0438\u0441. 30).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e53\/8b9\/137\/e538b9137edc9212740b4b168fc6710c.jpeg\" alt=\"\" title=\"\" width=\"928\" height=\"406\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e53\/8b9\/137\/e538b9137edc9212740b4b168fc6710c.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e53\/8b9\/137\/e538b9137edc9212740b4b168fc6710c.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 30. \u0412\u043a\u043b\u0430\u0434\u043a\u0430 Data sources<\/strong><\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0434\u0430\u043d\u043d\u044b\u0445 <strong>InfluxDB<\/strong> \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d.<\/p>\n<h4>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 Dashboard<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b Grafana \u043c\u043e\u0433\u043b\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432, \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c Dashboard \u0438\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043c\u0435\u043d\u044e Grafana \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 <strong>Dashboards<\/strong> (\u0440\u0438\u0441. 31).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/410\/b83\/7b1\/410b837b1b45697e40d30a5a5236d19d.jpeg\" alt=\"\" title=\"\" width=\"930\" height=\"425\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/410\/b83\/7b1\/410b837b1b45697e40d30a5a5236d19d.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/410\/b83\/7b1\/410b837b1b45697e40d30a5a5236d19d.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 31. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0430\u043d\u0435\u043b\u0438 Dashboards<\/strong><\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u043f\u0430\u043d\u0435\u043b\u044c, \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 <strong>New dashboard<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Dashboards<\/strong>. \u0414\u0430\u043b\u0435\u0435 \u0432 \u0431\u043b\u043e\u043a\u0435 <strong>Add panel<\/strong> \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 <strong>\u0441\u0441\u044b\u043b\u043a\u0443 Add a new panel<\/strong> \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 (\u0440\u0438\u0441. 32).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5fe\/110\/e07\/5fe110e071c49e104c247e3aed5b54c2.jpeg\" alt=\"\" title=\"\" width=\"679\" height=\"464\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/5fe\/110\/e07\/5fe110e071c49e104c247e3aed5b54c2.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5fe\/110\/e07\/5fe110e071c49e104c247e3aed5b54c2.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 32. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438<\/strong><\/p>\n<p>\u0411\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043d\u0430\u044f \u043d\u0430 \u0440\u0438\u0441. 33.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f80\/a6a\/1dd\/f80a6a1ddbbf196e3516841e37c49fe4.jpeg\" alt=\"\" title=\"\" width=\"931\" height=\"602\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f80\/a6a\/1dd\/f80a6a1ddbbf196e3516841e37c49fe4.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f80\/a6a\/1dd\/f80a6a1ddbbf196e3516841e37c49fe4.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 33. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438 \u0434\u043b\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 cpu<\/strong><\/p>\n<p>\u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0442\u0435\u043a\u0441\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Flux, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u043f\u0440\u0438\u0432\u0435\u043b\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0441\u0442\u0430\u0442\u044c\u0438 \u00ab\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 InfluxDB\u00bb. \u0422\u0430\u043a\u0436\u0435 \u0432 \u043f\u043e\u043b\u0435 <strong>Title<\/strong> \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0438\u043c\u044f \u043f\u0430\u043d\u0435\u043b\u0438 \u043a\u0430\u043a <strong>CPU Panel<\/strong>. \u041d\u0430 \u0440\u0438\u0441. 33 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0443\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0432\u043d\u0435\u0441\u0435\u043d\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Apply<\/strong>. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0430\u043d\u0435\u043b\u044c <strong>CPU Panel<\/strong> \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 <strong>usage_user<\/strong> (\u0440\u0438\u0441. 34).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/888\/9fa\/4af\/8889fa4af51830522b7ffe7bbc43d455.jpeg\" alt=\"\" title=\"\" width=\"927\" height=\"409\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/888\/9fa\/4af\/8889fa4af51830522b7ffe7bbc43d455.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/888\/9fa\/4af\/8889fa4af51830522b7ffe7bbc43d455.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 34. \u041f\u0430\u043d\u0435\u043b\u044c CPU Panel \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 usage_user<\/strong><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u0442\u043e \u0432\u0441\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0431\u044b, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u041e\u0421 Napi Linux \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.<\/p>\n<p>\u041d\u0430 \u0440\u0438\u0441. 35 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043d\u0435\u043b\u0435\u0439.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c04\/4e8\/5b2\/c044e85b2116b8e9d8c6532bee33f734.jpeg\" alt=\"\" title=\"\" width=\"930\" height=\"557\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c04\/4e8\/5b2\/c044e85b2116b8e9d8c6532bee33f734.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c04\/4e8\/5b2\/c044e85b2116b8e9d8c6532bee33f734.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 35. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u043f\u0430\u043d\u0435\u043b\u0438 \u0434\u043b\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u0430\u0442\u0447\u0438\u043a\u0430 PZEM-016<\/strong><\/p>\n<p>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u0440\u043e\u0433\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u0442\u043e\u043a \u0434\u0440\u0443\u0433\u0438\u043c \u0446\u0432\u0435\u0442\u043e\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043e\u043f\u043e\u0432\u0435\u0449\u0435\u043d\u0438\u0439 \u0438\u0437 Grafana \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0439, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0430\u043b\u043e \u0438\u043b\u0438 \u0441\u0442\u0430\u043b\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0432\u044b\u0441\u043e\u043a\u0438\u043c.<\/p>\n<h4>\u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/h4>\n<p>\u0414\u043b\u044f Grafana \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <a href=\"https:\/\/sensor.napilinux.ru\/\" rel=\"noopener noreferrer nofollow\">https:\/\/sensor.napilinux.ru\/<\/a> \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d (\u0440\u0438\u0441. 36).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b53\/7bc\/935\/b537bc93567d5a17571175d86c300c60.jpeg\" alt=\"\" title=\"\" width=\"915\" height=\"507\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b53\/7bc\/935\/b537bc93567d5a17571175d86c300c60.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b53\/7bc\/935\/b537bc93567d5a17571175d86c300c60.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 36. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u043b\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/strong><\/p>\n<p>\u0418\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0448\u0430\u0431\u043b\u043e\u043d ATS-1204 (\u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u043d\u0443\u0436\u043d\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d) \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>Import dashboard<\/strong> (\u0440\u0438\u0441. 37).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bfa\/c83\/f55\/bfac83f554e3a40d5db83afa4bd2bd4b.jpeg\" alt=\"\" title=\"\" width=\"618\" height=\"416\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/bfa\/c83\/f55\/bfac83f554e3a40d5db83afa4bd2bd4b.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bfa\/c83\/f55\/bfac83f554e3a40d5db83afa4bd2bd4b.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 37. \u0418\u043c\u043f\u043e\u0440\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430<\/strong><\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u0441\u0434\u0435\u043b\u0430\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 Dashboard (\u0440\u0438\u0441. 38).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1bb\/3be\/8da\/1bb3be8da210daa7e45dbe727603fccf.jpeg\" alt=\"\" title=\"\" width=\"931\" height=\"714\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1bb\/3be\/8da\/1bb3be8da210daa7e45dbe727603fccf.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1bb\/3be\/8da\/1bb3be8da210daa7e45dbe727603fccf.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 38. \u0414\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 Elemy ATS-1204 \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 Dashboard<\/strong><\/p>\n<p><a class=\"anchor\" name=\"%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC-%D1%81-napiapi\" id=\"%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC-%D1%81-napiapi\"><\/a><\/p>\n<h3>\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 NaPi.API<\/h3>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Napi Linux \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e NaPi.API, \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 NapiConfig \u0438\u0437 \u0432\u0430\u0448\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c.<\/p>\n<h4>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 API \u043a\u043b\u044e\u0447\u0430<\/h4>\n<p>\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c NaPi.API, \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 API \u043a\u043b\u044e\u0447 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c<\/strong> (\u0440\u0438\u0441. 39).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/255\/b6e\/102\/255b6e10281fd2b8ba462aa6cd627bc3.jpeg\" alt=\"\" title=\"\" width=\"928\" height=\"572\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/255\/b6e\/102\/255b6e10281fd2b8ba462aa6cd627bc3.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/255\/b6e\/102\/255b6e10281fd2b8ba462aa6cd627bc3.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 39. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 API \u043a\u043b\u044e\u0447\u0430 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 \u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c<\/strong><\/p>\n<p>\u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0421\u043e\u0437\u0434\u0430\u0442\u044c API \u043a\u043b\u044e\u0447<\/strong>. \u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0444\u043e\u0440\u043c\u0430, \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u0435 <strong>\u0418\u043c\u044f<\/strong> \u0438, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u043b\u0435 <strong>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/strong> (\u0440\u0438\u0441. 40).<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/108\/3b9\/2c9\/1083b92c9cb7446d659d854704b6b1e3.jpeg\" alt=\"\" title=\"\" width=\"457\" height=\"548\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/108\/3b9\/2c9\/1083b92c9cb7446d659d854704b6b1e3.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/108\/3b9\/2c9\/1083b92c9cb7446d659d854704b6b1e3.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 40. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 API \u043a\u043b\u044e\u0447\u0430<\/strong><\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0443 \u0432\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043e\u0434\u043d\u043e\u0440\u0430\u0437\u043e\u0432\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0435\u0433\u043e \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c (\u0440\u0438\u0441. 41).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3db\/85c\/e92\/3db85ce92bd02628d0b2f35ca784af85.jpeg\" alt=\"\" title=\"\" width=\"585\" height=\"389\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/3db\/85c\/e92\/3db85ce92bd02628d0b2f35ca784af85.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/3db\/85c\/e92\/3db85ce92bd02628d0b2f35ca784af85.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 41. \u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 API \u043a\u043b\u044e\u0447\u0430<\/strong><\/p>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u043a\u043b\u044e\u0447 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0432\u044b \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0413\u043e\u0442\u043e\u0432\u043e<\/strong>, \u044d\u0442\u043e\u0442 \u043a\u043b\u044e\u0447 \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c. \u041d\u043e \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u044e\u0447.<\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 <strong>API<\/strong> (\u0440\u0438\u0441. 42).<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8b7\/cf8\/364\/8b7cf83649bc2d2c17d48f78e539509b.jpeg\" alt=\"\" title=\"\" width=\"895\" height=\"266\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8b7\/cf8\/364\/8b7cf83649bc2d2c17d48f78e539509b.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8b7\/cf8\/364\/8b7cf83649bc2d2c17d48f78e539509b.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 42. \u0421\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 API \u043a\u043b\u044e\u0447\u0438<\/strong><\/p>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f <a href=\"https:\/\/gitlab.nnz-ipc.net\/pub\/napilinux\/napi-ui\/-\/blob\/main\/openapi.json?ref_type=heads\" rel=\"noopener noreferrer nofollow\">NaPi.API<\/a> \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 <a href=\"https:\/\/www.openapis.org\/\" rel=\"noopener noreferrer nofollow\">OpenAPI<\/a>.<\/p>\n<h4>\u0412\u044b\u0437\u043e\u0432 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 NaPi.API \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b curl<\/h4>\n<p>\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0432\u044b\u0437\u043e\u0432\u0430 NaPi.API \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b curl, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Python, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u0441 \u044d\u0442\u0438\u043c API.<\/p>\n<p>\u0414\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0430 <strong>\/v1\/login<\/strong> \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\">$ curl -k -X POST https:\/\/192.168.0.20\/api\/v1\/login \\ -H \"Content-Type: application\/x-www-form-urlencoded\" \\ -H \"X-API-Key: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTI2NTY3OTIuNTI2MTUsInR5cGUiOiJhcGlfa2V5Iiwib3JpZyI6Im15X2FwcCIsImRlc3QiOiJuYXBpLXJpdmVyYW50In0.m_GUOLH2HSc-Otsz4kNOptI3_SyeLKHXy2eBFfvfniI\" \\ -d \"username=admin&amp;password=admin\"<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0432\u043e\u044e \u0441\u0442\u0440\u043e\u043a\u0443 X-API-Key, \u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0432\u044b\u0448\u0435.<\/p>\n<p>\u041c\u0430\u0440\u0448\u0440\u0443\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 API \u043a\u043b\u044e\u0447:<\/p>\n<pre><code class=\"json\">{\"access_token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuaWNrbmFtZSI6ImFkbWluIiwiZXhwIjoxNzUyNzQzOTE4LCJpYXQiOjE3NTI2NTc1MTh9.N7Dr8hgmzMzlMGZlsLyjbDXVzjqKUtr-o35i8bV_Aos\"}<\/code><\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0432\u0441\u0435\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 <strong>v1\/sensors\/configs<\/strong>:<\/p>\n<pre><code class=\"bash\"># sync # shutdown -h now<\/code><\/pre>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a\u0438, \u0444\u043e\u0440\u043c\u0430\u0442 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u0435\u043d \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430:<\/p>\n<pre><code class=\"json\">[{\"name\":\"CPU\",\"description\":null,\"manufacturer\":null,\"tags\":[],\"file_path\":\"\/opt\/app\/app\/data\/sensor_configs\/cpu.conf\",\"id\":1,\"created_at\":\"2025-07-14T13:18:11.088583\",\"updated_at\":\"2025-07-14T13:24:20.109532\",\"is_active\":true},{\"name\":\"XY_MD02\",\"description\":null,\"manufacturer\":null,\"tags\":[],\"file_path\":\"\/opt\/app\/app\/data\/sensor_configs\/xy_md02.conf\",\"id\":2,\"created_at\":\"2025-07-14T15:32:16.489520\",\"updated_at\":\"2025-07-14T16:09:51.868062\",\"is_active\":true},{\"name\":\"PZEM-016\",\"description\":null,\"manufacturer\":null,\"tags\":[],\"file_path\":\"\/opt\/app\/app\/data\/sensor_configs\/pzem-016.conf\",\"id\":3,\"created_at\":\"2025-07-15T08:25:41.768879\",\"updated_at\":\"2025-07-15T08:25:56.086385\",\"is_active\":true}]<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0439\u0442\u0435 \u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0435 <strong>python3 -m<\/strong>:<\/p>\n<pre><code class=\"json\">echo '[{\"name\":\"CPU\",\"description\":null,\"manufacturer\":null,\"tags\":[],\"file_path\":\"\/opt\/app\/app\/data\/sensor_configs\/cpu.conf\",\"id\":1,\"created_at\":\"2025-07-14T13:18:11.088583\",\"updated_at\":\"2025-07-14T13:24:20.109532\",\"is_active\":true},{\"name\":\"XY_MD02\",\"description\":null,\"manufacturer\":null,\"tags\":[],\"file_path\":\"\/opt\/app\/app\/data\/sensor_configs\/xy_md02.conf\",\"id\":2,\"created_at\":\"2025-07-14T15:32:16.489520\",\"updated_at\":\"2025-07-14T16:09:51.868062\",\"is_active\":true},{\"name\":\"PZEM-016\",\"description\":null,\"manufacturer\":null,\"tags\":[],\"file_path\":\"\/opt\/app\/app\/data\/sensor_configs\/pzem-016.conf\",\"id\":3,\"created_at\":\"2025-07-15T08:25:41.768879\",\"updated_at\":\"2025-07-15T08:25:56.086385\",\"is_active\":true}]' | python3 -m json.tool [ \u00a0\u00a0\u00a0 { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"name\": \"CPU\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"description\": null, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"manufacturer\": null, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"tags\": [], \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"file_path\": \"\/opt\/app\/app\/data\/sensor_configs\/cpu.conf\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"id\": 1, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"created_at\": \"2025-07-14T13:18:11.088583\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"updated_at\": \"2025-07-14T13:24:20.109532\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"is_active\": true \u00a0\u00a0\u00a0 }, \u00a0\u00a0\u00a0 { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"name\": \"XY_MD02\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"description\": null, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"manufacturer\": null, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"tags\": [], \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"file_path\": \"\/opt\/app\/app\/data\/sensor_configs\/xy_md02.conf\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"id\": 2, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"created_at\": \"2025-07-14T15:32:16.489520\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"updated_at\": \"2025-07-14T16:09:51.868062\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"is_active\": true \u00a0\u00a0\u00a0 }, \u00a0\u00a0\u00a0 { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"name\": \"PZEM-016\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"description\": null, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"manufacturer\": null, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"tags\": [], \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"file_path\": \"\/opt\/app\/app\/data\/sensor_configs\/pzem-016.conf\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"id\": 3, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"created_at\": \"2025-07-15T08:25:41.768879\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"updated_at\": \"2025-07-15T08:25:56.086385\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"is_active\": true \u00a0\u00a0\u00a0 } ]<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0442\u0440\u0435\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0434\u043e\u0431\u0430\u0432\u0438\u043b \u0440\u0430\u043d\u0435\u0435. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043c\u044f, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u0438 \u0442\u0435\u0433\u0438 (\u0435\u0441\u043b\u0438 \u0437\u0430\u0434\u0430\u043d\u044b), \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Telegraf, \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u0434\u0430\u0442\u044b \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<h4>\u0412\u044b\u0437\u043e\u0432 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432 NaPi.API \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b Python<\/h4>\n<p>\u041f\u0440\u0438\u0432\u0435\u0434\u0435\u043c \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0435\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 XY_MD02-rtu, \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u0438\u0445 \u0438\u0437 InfluxDB \u0447\u0435\u0440\u0435\u0437 NaPi.API.<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0430\u043a\u0435\u0442 requests:<\/p>\n<pre><code class=\"bash\">$ pip3 install requests<\/code><\/pre>\n<p>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d \u043d\u0438\u0436\u0435:<\/p>\n<pre><code class=\"python\">import requests import getpass import urllib3 urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) API_BASE = \"https:\/\/192.168.0.20\/api\/v1\" API_KEY = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3NTI2NTY3OTIuNTI2MTUsInR5cGUiOiJhcGlfa2V5Iiwib3JpZyI6Im15X2FwcCIsImRlc3QiOiJuYXBpLXJpdmVyYW50In0.m_GUOLH2HSc-Otsz4kNOptI3_SyeLKHXy2eBFfvfniI\" HEADERS = { \"Accept\": \"application\/json\", \u00a0\u00a0\u00a0 \"X-API-Key\": API_KEY, \u00a0\u00a0\u00a0 \"Content-Type\": \"application\/json\" } # --- \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 measurements --- meas_url = f\"{API_BASE}\/influxdb\/data\/measurements\" response = requests.get(meas_url, headers=HEADERS, verify=False) if response.status_code != 200: \u00a0\u00a0\u00a0 print(f\"[!] \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f measurements: {response.status_code}\") \u00a0\u00a0\u00a0 print(response.text) \u00a0\u00a0\u00a0 exit(1) measurements = response.json() print(\"\\n[+] \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f (measurements):\") for m in measurements: \u00a0\u00a0\u00a0 print(\"-\", m) # --- \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 XY_MD02-rtu --- target_measurement = \"XY_MD02-rtu\" #target_measurement = \"cpu\" print(f\"\\n[+] \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 measurement: {target_measurement}\") # \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043f\u043e\u043b\u044f fields_url = f\"{API_BASE}\/influxdb\/data\/measurements\/{target_measurement}\/fields\" response = requests.get(fields_url, headers=HEADERS, verify=False) if response.status_code != 200: \u00a0\u00a0\u00a0 print(f\"[!] \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0434\u043b\u044f {target_measurement}: {response.status_code}\") \u00a0\u00a0\u00a0 print(response.text) \u00a0\u00a0\u00a0 exit(1) fields = response.json() print(f\"[+] \u041f\u043e\u043b\u044f \u0434\u043b\u044f {target_measurement}:\") for field in fields: \u00a0\u00a0\u00a0 print(\"-\", field) # \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044e print(f\"\\n[+] \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044e:\") for field in fields: \u00a0\u00a0\u00a0 sensor_url = f\"{API_BASE}\/influxdb\/data\/sensors\/{target_measurement}\/{field}\" response = requests.get(sensor_url, headers=HEADERS, verify=False) print(f\"\\n\ud83d\udccc \u041f\u043e\u043b\u0435: {field}\") if response.status_code == 200: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 try: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 data = response.json() \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 entries = data.get(target_measurement, {}).get(field, []) \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if not entries: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 print(\"\u041d\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0445\") \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 for entry in entries: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 print(f\"{entry['time']}: {entry['value']}\") except Exception as e: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 print(\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0440\u0430\u0437\u0431\u043e\u0440\u0430 JSON:\", e) \u00a0\u00a0\u00a0 else: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 print(\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430:\", response.text) <\/code><\/pre>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0441\u0432\u043e\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043d\u0430 \u043a\u043e\u043d\u0441\u043e\u043b\u044c:<\/p>\n<pre><code class=\"bash\"># python3 napi_api.py [+] \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f (measurements):\\ XY_MD02-rtu\\ cpu [+] \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 measurement: XY_MD02-rtu [+] \u041f\u043e\u043b\u044f \u0434\u043b\u044f XY_MD02-rtu:\\ Humidity\\ Temperature [+] \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u043e\u043b\u044e: \ud83d\udccc \u041f\u043e\u043b\u0435: Humidity 2025-07-16T09:29:40+00:00: 52 2025-07-16T09:29:50+00:00: 52 2025-07-16T09:30:00+00:00: 52 2025-07-16T09:30:10+00:00: 52 2025-07-16T09:30:20+00:00: 52 2025-07-16T09:30:30+00:00: 52 2025-07-16T09:30:40+00:00: 52 2025-07-16T09:30:50+00:00: 53 2025-07-16T09:31:00+00:00: 53 2025-07-16T09:31:10+00:00: 53 2025-07-16T09:31:20+00:00: 53 2025-07-16T09:31:30+00:00: 53 2025-07-16T09:31:40+00:00: 53 2025-07-16T09:31:50+00:00: 53 2025-07-16T09:32:00+00:00: 53 2025-07-16T09:32:10+00:00: 53 2025-07-16T09:32:20+00:00: 53 2025-07-16T09:32:30+00:00: 53 2025-07-16T09:32:40+00:00: 54 2025-07-16T09:32:50+00:00: 54 2025-07-16T09:33:00+00:00: 54 2025-07-16T09:33:10+00:00: 54 2025-07-16T09:33:20+00:00: 54 2025-07-16T09:33:30+00:00: 54 2025-07-16T09:33:40+00:00: 54 2025-07-16T09:33:50+00:00: 54 2025-07-16T09:34:00+00:00: 54 2025-07-16T09:34:10+00:00: 54 2025-07-16T09:34:20+00:00: 54 2025-07-16T09:34:30+00:00: 54 \ud83d\udccc \u041f\u043e\u043b\u0435: Temperature 2025-07-16T09:29:40+00:00: 27 2025-07-16T09:29:50+00:00: 27 2025-07-16T09:30:00+00:00: 27 2025-07-16T09:30:10+00:00: 27 2025-07-16T09:30:20+00:00: 27 2025-07-16T09:30:30+00:00: 27 2025-07-16T09:30:40+00:00: 27 2025-07-16T09:30:50+00:00: 27 2025-07-16T09:31:00+00:00: 27 2025-07-16T09:31:10+00:00: 27 2025-07-16T09:31:20+00:00: 27 2025-07-16T09:31:30+00:00: 27 2025-07-16T09:31:40+00:00: 27 2025-07-16T09:31:50+00:00: 27 2025-07-16T09:32:00+00:00: 27 2025-07-16T09:32:10+00:00: 27 2025-07-16T09:32:20+00:00: 27 2025-07-16T09:32:30+00:00: 27 2025-07-16T09:32:40+00:00: 27 2025-07-16T09:32:50+00:00: 27 2025-07-16T09:33:00+00:00: 27 2025-07-16T09:33:10+00:00: 27 2025-07-16T09:33:20+00:00: 27 2025-07-16T09:33:30+00:00: 27 2025-07-16T09:33:40+00:00: 27 2025-07-16T09:33:50+00:00: 27 2025-07-16T09:34:00+00:00: 27 2025-07-16T09:34:10+00:00: 27 2025-07-16T09:34:20+00:00: 27 2025-07-16T09:34:30+00:00: 27<\/code><\/pre>\n<p>\u041d\u0430 \u0440\u0438\u0441. 43 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u044d\u0442\u0438\u043c \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b48\/ace\/05b\/b48ace05bb3835f27444526fd3ebdcad.jpeg\" alt=\"\" title=\"\" width=\"939\" height=\"365\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b48\/ace\/05b\/b48ace05bb3835f27444526fd3ebdcad.jpeg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b48\/ace\/05b\/b48ace05bb3835f27444526fd3ebdcad.jpeg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p><strong>\u0420\u0438\u0441. 43. \u0413\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438<\/strong><\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NaPi.API \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a \u0438\u0437 InfluxDB \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043d\u0443\u0436\u043d\u044b\u043c \u0432\u0430\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u043c.<\/p>\n<p><a class=\"anchor\" name=\"%D0%B8%D1%82%D0%BE%D0%B3%D0%B8\" id=\"%D0%B8%D1%82%D0%BE%D0%B3%D0%B8\"><\/a><\/p>\n<h3>\u0418\u0442\u043e\u0433\u0438<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u0431\u0440\u0430\u0437 Napi Linux \u0434\u043b\u044f <u>Repka Pi 4<\/u>, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Modbus, \u0434\u0430\u0436\u0435 \u043d\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u044f \u043d\u0430\u0432\u044b\u043a\u0430\u043c\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Linux.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a\u0438 XY-MD02, PZEM-016 \u0438 ATS-1204, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 NapiConfig. \u0414\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Telegraf, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 InfluxDB, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Grafana. \u0412\u0441\u0435 \u044d\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 NapiConfig.<\/p>\n<p>\u041f\u0440\u043e\u0447\u0438\u0442\u0430\u0432 \u0441\u0442\u0430\u0442\u044c\u044e, \u0432\u044b \u0443\u0437\u043d\u0430\u043b\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 NaPi.API, \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0439 \u0432 Napi Linux, \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0443\u0437\u043b\u043e\u043c \u0438\u0437 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b NaPi.API \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b curl, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0438\u0437 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Python.<\/p>\n<p>\u0425\u043e\u0447\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0435\u044f\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u044f \u044d\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0441\u0431\u043e\u0440\u0430 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0438 Repka Pi 4.<\/p>\n<p><a class=\"anchor\" name=\"%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8\" id=\"%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8\"><\/a><\/p>\n<h3>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/h3>\n<ul>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 <a href=\"https:\/\/etcher.balena.io\/\" rel=\"noopener noreferrer nofollow\">BalenaEtcher<\/a><\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 <a href=\"https:\/\/rufus.ie\/ru\/\" rel=\"noopener noreferrer nofollow\">Rufus<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ru.xhgtc.com\/info\/what-is-emmc-83306376.html\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u0440\u0442\u0430 EMMC<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/napilinux.ru\/napiconfig2\/\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f NapiConfig<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/gitlab.nnz-ipc.net\/pub\/napilinux\/napi-ui\/-\/blob\/main\/openapi.json?ref_type=heads\" rel=\"noopener noreferrer nofollow\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f NaPi.API<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.openapis.org\/\" rel=\"noopener noreferrer nofollow\">\u0424\u043e\u0440\u043c\u0430\u0442 OpenAPI<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/wirenboard.com\/wiki\/Modbus\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b Modbus<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/ru.wikipedia.org\/wiki\/Modbus\" rel=\"noopener noreferrer nofollow\">Modbus<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/companies\/advantech\/articles\/450234\/\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u043c\u0430\u0448\u0438\u043d\u044b: \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b Modbus<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.influxdata.com\/telegraf\/v1\/\" rel=\"noopener noreferrer nofollow\">Telegraf documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/docs.influxdata.com\/platform\/\" rel=\"noopener noreferrer nofollow\">Introduction to the InfluxData platform<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.idbsmart.cz\/wp-content\/uploads\/2024\/05\/xy-md02-manual.pdf\" rel=\"noopener noreferrer nofollow\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 XY-MD02<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/smacont.ru\/applying\/015\/PZEM-014-016-Datasheet-User-Manual.pdf\" rel=\"noopener noreferrer nofollow\">PZEM-014\/016 AC communication module<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/www.elemy.ru\/ats-1204-16\" rel=\"noopener noreferrer nofollow\">ELEMY-ATS1204<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/grafana.com\/docs\/\" rel=\"noopener noreferrer nofollow\">Grafana Technical documentation<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/sensor.napilinux.ru\/#\/\" rel=\"noopener noreferrer nofollow\">\u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f Grafana<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u0421\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 Repka Pi \u0438 \u043d\u0430 Napi Linux \u043d\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0441\u0446\u0435\u043d\u0435\u043d\u043e \u043a\u0430\u043a \u0440\u0435\u043a\u043b\u0430\u043c\u0430, \u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043d\u043e\u0441\u0438\u0442 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440 \u0430) \u043e\u0431\u0437\u043e\u0440\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u043a\u0438 \u0420\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u0438\u0445 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0423\u043c\u043d\u044b\u0445 \u0434\u043e\u043c\u043e\u0432 \u0438 \u0431)  \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u0430.<\/p>\n<p>\u0412\u0441\u0435\u043c \u0443\u0441\u043f\u0435\u0448\u043d\u044b\u0445 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432!<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/932030\/\"> https:\/\/habr.com\/ru\/articles\/932030\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width\"><\/figure>\n<p>\u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043c\u0435\u0442\u0440\u0438\u043a \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043b\u044f \u0443\u043c\u043d\u044b\u0445 \u0434\u043e\u043c\u043e\u0432 \u0438 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0441\u0442\u044c \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c. \u0422\u0435\u043f\u0435\u0440\u044c \u0442\u0430\u043a\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0440\u043e\u0441\u0441\u0438\u0439\u0441\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u0441\u0431\u043e\u0440\u043a\u0438 Repka Pi 4, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0435\u0441\u0442\u044c \u0432 \u0440\u0435\u0435\u0441\u0442\u0440\u0435 <a href=\"https:\/\/repka-pi.ru\/#mitr_block\" rel=\"noopener noreferrer nofollow\">\u041c\u0438\u043d\u043f\u0440\u043e\u043c\u0442\u043e\u0440\u0433\u0430<\/a>, \u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b NapiLinux \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u0439 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0438 \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0435\u0434\u0430\u0432\u043d\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u043d\u0430 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a Repka Pi 4.<\/p>\n<p>\u041a \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 <u>Repka Pi 4<\/u> \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0440\u0442\u044b USB, Ethernet \u0438 GPIO \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 \u0446\u0435\u043b\u044c\u044e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430. \u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 NapiLinux \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0434\u043b\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 (Embedded) \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432:<\/p>\n<ul>\n<li>\n<p>\u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 NapiLinux \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443 \u0438\u043b\u0438 \u043d\u0430 EMMC;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0441\u0435\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0447\u0435\u0440\u0435\u0437 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 NapiConfig, \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0447\u0435\u0440\u0435\u0437 SSH;<\/p>\n<\/li>\n<li>\n<p>\u043f\u0440\u0435\u0434\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u0438 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 \u041f\u041e \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u2014 \u0430\u0433\u0435\u043d\u0442 \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 Telegraf, \u0432\u044b\u0441\u043e\u043a\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 InfluxDB, \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 Grafana;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NaPi.API, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u0440\u0438\u043a \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 NapiConfig \u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c;<\/p>\n<\/li>\n<li>\n<p>\u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432 (A\/B) \u0434\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0442\u0430 \u043f\u0440\u0438 \u0441\u0431\u043e\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438;<\/p>\n<\/li>\n<li>\n<p>\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438, \u0447\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0438\u0445 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438\u043b\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u041e\u0421.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0421 NapiLinux \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 Telegraf, InfluxDB \u0438 Grafana \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 Modbus \u0438 Telegraf \u0432 \u0441\u0432\u044f\u0437\u043a\u0435 \u0441 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u0438\u043a\u043e\u043c \u0438\u0437\u043b\u0438\u0448\u043d\u0435\u0439 \u2014 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437 \u044d\u0442\u043e\u0439 \u041e\u0421 \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 SD \u0438\u043b\u0438 EMMC, \u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 NapiLinux, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0435\u0435 \u043d\u0430 <strong><u>Repka Pi<\/u><\/strong><u> <\/u><strong><u>4<\/u><\/strong>\u00a0\u2014 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 CPU, \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 XY-MD02, \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f, \u0442\u043e\u043a\u0430, \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u0438 \u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043f\u0438\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u044f PZEM-016 \u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 ATS-1204, \u0442\u0430\u043a \u0436\u0435 \u0412\u044b \u0443\u0437\u043d\u0430\u0435\u0442\u0435, \u043a\u0430\u043a \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u0432 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u0445 NapiConfig, InfluxDB, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Grafana \u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0432\u044b\u0437\u043e\u0432\u0430 NaPi.API \u0447\u0435\u0440\u0435\u0437 \u0443\u0442\u0438\u043b\u0438\u0442\u0443 curl \u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 Python.<\/p>\n<h3>\u041e\u0433\u043b\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h3>\n<ul>\n<li>\n<p><a href=\"#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-napi-linux-%D0%BD%D0%B0-repka-pi-4\" rel=\"noopener noreferrer nofollow\">\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 NapiLinux \u043d\u0430 Repka Pi 4<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-influxdb\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 InfluxDB<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B2-grafana\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Grafana<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%B0%D0%B5%D0%BC-%D1%81-napiapi\" rel=\"noopener noreferrer nofollow\">\u0420\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 NaPi.API<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%B8%D1%82%D0%BE%D0%B3%D0%B8\" rel=\"noopener noreferrer nofollow\">\u0418\u0442\u043e\u0433\u0438<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"#%D0%BF%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D1%8B%D0%B5-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B8\" rel=\"noopener noreferrer nofollow\">\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<p><a class=\"anchor\" name=\"%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-napi-linux-%D0%BD%D0%B0-repka-pi-4\" id=\"%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-napi-linux-%D0%BD%D0%B0-repka-pi-4\"><\/a><\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 NapiLinux \u043d\u0430 Repka Pi 4<\/h3>\n<p>\u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u041e\u0421 Napi Linux \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0440\u0430\u0437\u0430 SD-\u043a\u0430\u0440\u0442\u044b \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e Repka Pi 4. \u0415\u0441\u043b\u0438 \u0432\u0430\u0448 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d EMMC, \u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u0441\u043c\u044b\u0441\u043b \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u041e\u0421 NapiLinux \u043d\u0430 \u044d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u0430\u043c\u044f\u0442\u0438, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0434\u043d\u043e\u043f\u043b\u0430\u0442\u043d\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0449\u0443\u0442\u0438\u043c\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0442\u0430\u043a\u043e\u0439 \u0442\u0438\u043f \u0434\u0438\u0441\u043a\u043e\u0432 \u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0438 \u0434\u043e\u043b\u0433\u043e\u0432\u0435\u0447\u043d\u044b\u0439, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u043f\u0440\u0438 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0431\u0430\u0437\u0435 \u0434\u0435\u043d\u043d\u044b\u0445.<\/p>\n<h4>\u0417\u0430\u043f\u0438\u0441\u044c \u043e\u0431\u0440\u0430\u0437\u0430 Napi Linux \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443<\/h4>\n<p>\u041e\u0421 NapiLinux \u0441\u043f\u043e\u0441\u043e\u0431\u0435\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430\u0445. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b \u044d\u0442\u043e\u0439 \u041e\u0421 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u044b \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 <a href=\"https:\/\/download.napilinux.ru\/napilinux\/\" rel=\"noopener noreferrer nofollow\">https:\/\/download.napilinux.ru\/napilinux\/<\/a>. \u041d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u0431\u044b\u043b\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u041e\u0421 0.2.2 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 Repka Pi 4.<\/p>\n<p>\u0412\u043e\u0439\u0434\u0438\u0442\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <a href=\"https:\/\/download.napilinux.ru\/napilinux\/0.2.2\/napilinux-repka-pi4-optimal-dev\/napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz\" rel=\"noopener noreferrer nofollow\">napilinux-repka-pi4-optimal-dev<\/a>\u00a0\u0438 \u0441\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b <a href=\"https:\/\/download.napilinux.ru\/napilinux\/0.2.2\/napilinux-repka-pi4-optimal-dev\/napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz\" rel=\"noopener noreferrer nofollow\">napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz<\/a> (\u0440\u0438\u0441. 1).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 1. \u041e\u0431\u0440\u0430\u0437\u044b Napi Linux \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c<\/strong> <\/p>\n<p>\u0417\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0430\u0439\u043b \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443 \u043e\u0431\u044a\u0435\u043c\u043e\u043c 32 \u0413\u0431\u0430\u0439\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b <a href=\"https:\/\/etcher.balena.io\/\" rel=\"noopener noreferrer nofollow\">BalenaEtcher<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/rufus.ie\/ru\/\" rel=\"noopener noreferrer nofollow\">Rufus<\/a>. \u0414\u0430\u043b\u0435\u0435 \u0432\u0441\u0442\u0430\u0432\u044c\u0442\u0435 SD-\u043a\u0430\u0440\u0442\u0443 \u0441 \u043e\u0431\u0440\u0430\u0437\u043e\u043c Napi Linux \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u041e\u0421.<\/p>\n<h4>\u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u0430 IP \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430<\/h4>\n<p>\u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP, \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443 \u0441 \u041e\u0421 Napi Linux \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043a Repka Pi \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u0441 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c HDMI \u0438 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0443. \u0417\u0430\u0442\u0435\u043c \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u00abip -a\u00bb (\u0440\u0438\u0441. 2).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 2. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP<\/strong> <\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0438\u0441\u043a\u043e\u043c\u044b\u0439 \u0430\u0434\u0440\u0435\u0441 IP. \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig \u0435\u0433\u043e \u043d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c.<\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443 Web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig, \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 URL \u0432\u0438\u0434\u0430 https:\/\/192.168.0.20\/, \u0433\u0434\u0435 \u0432\u043c\u0435\u0441\u0442\u043e 192.168.0.20 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0437\u043b\u0430. \u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0432\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u043f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043b\u043e\u0433\u0438\u043d\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f (\u0440\u0438\u0441. 3).<\/p>\n<figure class=\"\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 3. \u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043b\u043e\u0433\u0438\u043d\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f<\/strong> <\/p>\n<p>\u0412\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d \u00abadmin\u00bb \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u00abadmin\u00bb, \u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig (\u0440\u0438\u0441. 4).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 4. \u0413\u043b\u0430\u0432\u043d\u043e\u0435 \u043e\u043a\u043d\u043e web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 NapiConfig<\/strong> <\/p>\n<h4>\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 Napi Linux \u043d\u0430 EMMC<\/h4>\n<p>\u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0434\u0435\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0437 Napi Linux \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 EMMC \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>dd<\/strong>. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432\u0430\u0436\u043d\u043e \u0443\u0437\u043d\u0430\u0442\u044c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 EMMC.<\/p>\n<p>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 <strong>lsblk<\/strong> \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0432\u0441\u0435\u0445 \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445:<\/p>\n<pre><code class=\"bash\"># lsblk NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 MAJ:MIN RM\u00a0 SIZE RO TYPE MOUNTPOINTS mmcblk0\u00a0\u00a0\u00a0\u00a0\u00a0 179:0\u00a0\u00a0\u00a0 0 28.8G\u00a0 0 disk \u251c\u2500mmcblk0p1\u00a0 179:1\u00a0\u00a0\u00a0 0\u00a0 1.5G\u00a0 0 part \/mount\/rfs\/ro \u251c\u2500mmcblk0p2\u00a0 179:2\u00a0\u00a0\u00a0 0\u00a0 1.5G\u00a0 0 part \u2514\u2500mmcblk0p3\u00a0 179:3\u00a0\u00a0\u00a0 0 25.9G\u00a0 0 part \/mount\/rfs\/rw mmcblk1\u00a0\u00a0\u00a0\u00a0\u00a0 179:32\u00a0\u00a0 0 28.9G\u00a0 0 disk \u2514\u2500mmcblk1p1\u00a0 179:33\u00a0\u00a0 0 28.6G\u00a0 0 part mmcblk1boot0 179:64\u00a0\u00a0 0\u00a0\u00a0\u00a0 4M\u00a0 1 disk mmcblk1boot1 179:96\u00a0\u00a0 0\u00a0\u00a0\u00a0 4M\u00a0 1 disk<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>lsblk<\/strong> \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Napi Linux \u043d\u0430 SD-\u043a\u0430\u0440\u0442\u0443. \u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e SD-\u043a\u0430\u0440\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e mmcblk0, \u0430 \u043f\u0430\u043c\u044f\u0442\u0438 EMMC \u2014 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e mmcblk1.<\/p>\n<p>\u041d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0438 \u0442\u0430\u043a\u0438\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438:<\/p>\n<pre><code class=\"bash\"># cat \/sys\/class\/block\/mmcblk0\/device\/type SD # cat \/sys\/class\/block\/mmcblk1\/device\/type MMC<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 \u041e\u0421 Napi Linux \u043d\u0430 \u043a\u0430\u0440\u0442\u0443 EMMC, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432 Repka Pi 4, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"bash\"># wget -O - https:\/\/download.napilinux.ru\/napilinux\/0.2.2\/napilinux-repka-pi4-optimal-dev\/napilinux-repka-pi4-optimal-dev-0.2.2.rootfs.system_img.xz | xz -T0 -d | dd of=\/dev\/mmcblk1 bs=4M status=progress<\/code><\/pre>\n<p>\u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0437 NapiLinux \u0432\u0435\u0440\u0441\u0438\u0438 0.2.2, \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u0442 \u0435\u0433\u043e \u0438 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/mmcblk1. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 EMMC \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <strong>of<\/strong> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <strong>wget<\/strong> \u043d\u0430\u0447\u043d\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043e\u0431\u0440\u0430\u0437\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043f\u0438\u0441\u044c \u043e\u0431\u0440\u0430\u0437\u0430 \u043d\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \/dev\/mmcblk1:<\/p>\n<pre><code class=\"bash\">Connecting to download.napilinux.ru (87.245.206.189:443) wget: note: TLS certificate validation not implemented writing to stdout -\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 43% |*****************************\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0 193M\u00a0 0:03:39 ETA<\/code><\/pre>\n<p>\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 \u00abTLS certificate validation not implemented\u00bb \u043c\u043e\u0436\u043d\u043e \u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c. \u0427\u0442\u043e\u0431\u044b \u043e\u043d\u043e \u043d\u0435 \u043f\u043e\u044f\u0432\u043b\u044f\u043b\u043e\u0441\u044c, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0435 wget &#8212;no-check-certificate.<\/p>\n<p>\u0414\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043f\u0438\u0441\u0438:<\/p>\n<pre><code class=\"bash\">writing to stdout -\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100% |*******************************************************************|\u00a0 441M\u00a0 0:00:00 ETA written to stdout 3188154368 bytes (3.2 GB, 3.0 GiB) copied, 412 s, 7.7 MB\/s 0+107914 records in 0+107914 records out 3581935616 bytes (3.6 GB, 3.3 GiB) copied, 426.483 s, 8.4 MB\/s<\/code><\/pre>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u0430, \u0441\u0431\u0440\u043e\u0441\u044c\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0431\u0443\u0444\u0435\u0440\u0430 \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u041e\u0421:<\/p>\n<pre><code class=\"bash\"># sync # shutdown -h now<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 Repka Pi 4, \u0438\u0437\u0432\u043b\u0435\u043a\u0438\u0442\u0435 SD-\u043a\u0430\u0440\u0442\u0443 \u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 Napi Linux \u0441 \u043a\u0430\u0440\u0442\u044b EMMC.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 IP \u0434\u043b\u044f \u0443\u0437\u043b\u0430 Repka Pi 4<\/h4>\n<p>\u041a\u0430\u043a \u043c\u044b \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438, \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 Napi Linux \u0432\u0445\u043e\u0434\u0438\u0442 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 NapiConfig, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 NapiConfig \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 https:\/\/192.168.0.20\/, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 192.168.0.20 \u0430\u0434\u0440\u0435\u0441\u043e\u043c IP \u0432\u0430\u0448\u0435\u0433\u043e \u0443\u0437\u043b\u0430, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u00ab<strong>ip -a<\/strong>\u00bb. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 <strong>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u0421\u0435\u0442\u044c<\/strong> (\u0440\u0438\u0441. 5).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 5. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432<\/strong><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443 <strong>end0<\/strong> \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0435\u0442\u0435\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u043f\u0430\u043d\u0435\u043b\u0438 <strong>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/strong> (\u0440\u0438\u0441. 6).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 6. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430<\/strong><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c IP-\u0430\u0434\u0440\u0435\u0441, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u044b \u0438 DNS-\u0441\u0435\u0440\u0432\u0435\u0440\u044b. \u0414\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c<\/strong>. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u041e\u0421 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0430 \u0441\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430.<\/p>\n<p><a class=\"anchor\" name=\"%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2\" id=\"%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2\"><\/a><\/p>\n<h3>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/h3>\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e NapiConfig \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0440\u0438\u043a \u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430\u043c Modbus RTU \u0447\u0435\u0440\u0435\u0437 RS485, \u0447\u0435\u0440\u0435\u0437 \u0448\u043b\u044e\u0437 Modbus TCP \u0438 SNMP \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f Telegraf.<\/p>\n<p>\u0421\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 InfluxDB2 \u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 Grafana.<\/p>\n<h4>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0434\u0430\u0442\u0447\u0438\u043a CPU<\/h4>\n<p>\u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0449\u0435 \u043f\u043e\u043a\u0430 \u043d\u0435\u0442 \u043d\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a Repka Pi 4, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0431\u043e\u0440 \u043c\u0435\u0442\u0440\u0438\u043a \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 CPU. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u044d\u0442\u043e\u0442 \u0434\u0430\u0442\u0447\u0438\u043a \u0432 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433.<\/p>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b <strong>\u0414\u0430\u0442\u0447\u0438\u043a\u0438<\/strong> (\u0440\u0438\u0441. 7).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 7. \u0420\u0430\u0437\u0434\u0435\u043b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438<\/strong><\/p>\n<p>\u0421\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 NapiLinux \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u0443\u0441\u0442\u043e\u0439, \u0430 \u0441\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u0430. \u0427\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a \u0434\u043b\u044f CPU \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439<\/strong> \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0444\u043e\u0440\u043c\u0443 (\u0440\u0438\u0441. 8).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 8. \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 CPU<\/strong><\/p>\n<p>\u0412 \u043f\u043e\u043b\u0435 <strong>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435<\/strong> \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 CPU, \u0430 \u0432 \u043f\u043e\u043b\u0435 <strong>\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/strong> \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f Telegraf, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u043d\u0438\u0436\u0435:<\/p>\n<pre><code class=\"bash\"># Read metrics about cpu usage [[inputs.cpu]]   ## Whether to report per-cpu stats or not   percpu = false   ## Whether to report total system cpu stats or not   totalcpu = true   ## If true, collect raw CPU time metrics   collect_cpu_time = false   ## If true, compute and report the sum of all non-idle CPU states   ## NOTE: The resulting 'time_active' field INCLUDES 'iowait'!   report_active = false   ## If true and the info is available then add core_id and physical_id tags   core_tags = false<\/code><\/pre>\n<p>\u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c<\/strong>. \u041f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0430 <strong>\u0422\u0435\u0441\u0442<\/strong>, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 (\u0440\u0438\u0441. 9).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 9. \u041e\u043a\u043d\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/strong><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0435\u0442, \u0432 \u043e\u043a\u043d\u0435 <strong>\u0422\u0435\u0441\u0442 \u043f\u0440\u043e\u0439\u0434\u0435\u043d<\/strong> \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u00ab\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u00bb. \u0417\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u043e\u043a\u043d\u043e \u043a\u043d\u043e\u043f\u043a\u043e\u0439 <strong>\u0417\u0430\u043a\u0440\u044b\u0442\u044c<\/strong>, \u0430 \u043f\u043e\u0442\u043e\u043c \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 <strong>^+S<\/strong> \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0437\u0435\u043b\u0435\u043d\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430 \u0441 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0434\u0438\u0441\u043a\u0435\u0442\u044b.<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0432\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u0432 \u043e\u043a\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0449\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0442\u0430\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>\u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/strong>, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0430\u0442\u0447\u0438\u043a\u0430 CPU.<\/p>\n<p>\u0427\u0435\u0440\u0435\u0437 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u0443\u0434\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u0430\u0442\u0447\u0438\u043a <strong>CPU<\/strong>, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 (\u0440\u0438\u0441. 10).<\/p>\n<figure class=\"full-width\"><\/figure>\n<p><strong>\u0420\u0438\u0441. 10. \u0410\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d \u0434\u0430\u0442\u0447\u0438\u043a CPU \u0438 \u0441\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/strong><\/p>\n<p>\u0421\u043b\u0443\u0436\u0431\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0438 \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0430.<\/p>\n<p>\u041f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u0438\u043d\u0443\u0442, \u0430 \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 <strong>\u0413\u0440\u0430\u0444\u0438\u043a\u0438<\/strong> \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 <strong>\u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435.<\/strong> \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c \u0434\u0430\u0442\u0447\u0438\u043a <strong>cpu<\/strong> \u0438 \u043f\u043e\u043b\u0435 <strong>usage_user<\/strong>. \u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 <\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-473607","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473607","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=473607"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/473607\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=473607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=473607"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=473607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}