{"id":460625,"date":"2025-05-22T22:05:45","date_gmt":"2025-05-22T22:05:45","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=460625"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=460625","title":{"rendered":"<span>\u041f\u0440\u043e\u0435\u043a\u0442 \u00ab\u041c\u0443\u043b\u044c\u0442\u0438\u043a\u043b\u044e\u0447\u00bb. \u042d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 \u043a\u043b\u044e\u0447\u0435\u0439 \u043e\u0442 \u0434\u043e\u043c\u043e\u0444\u043e\u043d\u0430 \u043d\u0430 ESP8266<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u042d\u0442\u043e \u0443\u0436\u0435 \u0442\u0440\u0435\u0442\u044c\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438, \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c.<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/808553\/\">Flipper \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u043a\u0430\u0445. \u041a\u0430\u043a \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u043e\u0442 \u0434\u043e\u043c\u043e\u0444\u043e\u043d\u043e\u0432\u2026<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/810073\/\">\u041f\u0440\u043e\u0435\u043a\u0442 \u00ab\u041c\u0443\u043b\u044c\u0442\u0438\u043a\u043b\u044e\u0447\u00bb. \u041a\u0430\u043a \u043c\u044b \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 Metacom \u0438 Cyfral<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0438\u043a\u0430\u043a \u043d\u0435 \u0434\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0440\u0443\u043a\u0438 \u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u0442\u043e\u0447\u043d\u0435\u0435 \u044f \u0435\u0451 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 esp32 c3, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f.<\/p>\n<p>\u0412\u043a\u0440\u0430\u0442\u0446\u0435 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u043e \u0447\u0435\u043c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0447\u0435\u043c \u043e\u043d \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u041c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0443 \u043d\u0430\u0441 \u0432 \u043f\u043e\u0434\u044a\u0435\u0437\u0434\u0430\u0445 \u0438 \u043d\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u043d\u044b\u0445). \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0431\u044b\u043b \u043f\u0440\u043e\u0435\u043a\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043c\u043e\u0438\u0445 \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u0432. \u041d\u043e \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443, \u0434\u043b\u044f \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0432\u043e \u0412\u0441\u041e\u0428 \u043f\u043e \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u0435\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0435\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u043e\u0436\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f, \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u043e \u043d\u0435\u0451 \u0442\u043e\u0436\u0435 \u043d\u0430\u043f\u0438\u0448\u0443). \u0410 \u044f \u043f\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0437\u043c\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b \u0434\u043e\u0431\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 esp8266, \u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043e \u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438 \u0440\u0435\u0448\u0438\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u0423 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 dallas \u0438 \u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u0421yfral \u0438 Metacom. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u0430\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 EmMarine.<\/p>\n<h2>\u276f \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c<\/h2>\n<p>\u0411\u0435\u0441\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0443\u0436\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u0430, \u043d\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0448\u044c, \u043d\u0443\u0436\u0435\u043d \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0430 125 \u043a\u0413\u0446. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043e\u043f\u044f\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433 <a href=\"https:\/\/github.com\/AlexMalov\/EasyKeyDublicatorRFID_OLED\/tree\/master\">\u043f\u0440\u043e\u0435\u043a\u0442 \u043e\u0442 Alex Malov EasyKeyDublicator<\/a>. \u0423 \u043d\u0435\u0433\u043e \u044f \u0432\u0437\u044f\u043b \u0441\u0445\u0435\u043c\u0443 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0418 \u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b \u043d\u0430 Arduino Nano.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ffa\/421\/91d\/ffa42191d347c357b33951b8f3b58699.png\" alt=\"\u0421\u0445\u0435\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f\" title=\"\u0421\u0445\u0435\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f\" width=\"458\" height=\"410\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ffa\/421\/91d\/ffa42191d347c357b33951b8f3b58699.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ffa\/421\/91d\/ffa42191d347c357b33951b8f3b58699.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0445\u0435\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f<\/figcaption><\/div>\n<\/figure>\n<p>\u0423 \u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435\u0433\u043e 3 \u0432\u044b\u0432\u043e\u0434\u0430. <\/p>\n<ol>\n<li>\n<p>GND \u2014 \u044d\u0442\u043e, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0437\u0435\u043c\u043b\u044f.<\/p>\n<\/li>\n<li>\n<p>DAT, \u044d\u0442\u043e \u0432\u044b\u0432\u043e\u0434 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430, \u0435\u0433\u043e \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u043f\u043e\u0434\u0446\u0435\u043f\u0438\u0442\u044c \u043a \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0443 \u0438\u043b\u0438 \u043d\u0430 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u043f\u043e\u0440\u0442.<\/p>\n<\/li>\n<li>\n<p>CL \u2014 \u044d\u0442\u043e \u0432\u044b\u0432\u043e\u0434 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043c\u0430\u0433\u043d\u0438\u0442\u043d\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 125\u043a\u0413\u0446.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0440\u0438\u0447\u0435\u043c C1 \u0438 L1 \u2014 \u044d\u0442\u043e \u043a\u043e\u043b\u0435\u0431\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0443\u0440, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125\u043a\u0413\u0446. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0440\u0435\u0437\u043e\u043d\u0430\u043d\u0441\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435:<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a0\/a15\/789\/1a0a15789145fa968c22811ee7696e07.png\" alt=\"\u0413\u0434\u0435\u00a0f\u00a0\u2014 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u0439,\u00a0L\u00a0\u2014 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u0442\u0443\u0448\u043a\u0438,\u00a0C\u00a0\u2014 \u0451\u043c\u043a\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u0430\" title=\"\u0413\u0434\u0435\u00a0f\u00a0\u2014 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u0439,\u00a0L\u00a0\u2014 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u0442\u0443\u0448\u043a\u0438,\u00a0C\u00a0\u2014 \u0451\u043c\u043a\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u0430\" width=\"476\" height=\"197\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1a0\/a15\/789\/1a0a15789145fa968c22811ee7696e07.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1a0\/a15\/789\/1a0a15789145fa968c22811ee7696e07.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0413\u0434\u0435\u00a0f\u00a0\u2014 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u0439,\u00a0L\u00a0\u2014 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u0442\u0443\u0448\u043a\u0438,\u00a0C\u00a0\u2014 \u0451\u043c\u043a\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u0430<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041a\u0430\u0442\u0443\u0448\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043c\u043e\u0442\u0430\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438, \u043f\u0435\u0440\u0432\u0443\u044e \u044f \u0442\u0430\u043a \u0438 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u0438\u043b. <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bf9\/d70\/adf\/bf9d70adf038c77f4a0884bc984c474a.png\" width=\"794\" height=\"842\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/bf9\/d70\/adf\/bf9d70adf038c77f4a0884bc984c474a.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/bf9\/d70\/adf\/bf9d70adf038c77f4a0884bc984c474a.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u041d\u043e \u0443 \u043a\u0430\u0442\u0443\u0448\u0435\u043a, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0436\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0433\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043a\u0430\u0442\u0443\u0448\u043a\u0438, \u0434\u043e\u0431\u044b\u0442\u044b\u0435 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u043a\u0430\u0440\u0442. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b. \u041d\u0430 \u043a\u043b\u044e\u0447\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u0442\u0443\u0448\u043a\u0438 \u043d\u0430 \u0425\u0425 \u043c\u043a\u0413\u043d, \u0434\u043b\u044f \u043d\u0438\u0445 \u043d\u0443\u0436\u0435\u043d \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440 \u043d\u0430 560\u043f\u0424. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430, \u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0435\u0449\u0451 \u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0442\u0443\u0448\u043a\u0430\u0445. \u0414\u0443\u043c\u0430\u044e, \u044d\u0442\u043e \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443 \u043a\u043b\u044e\u0447\u0430 \u0438 \u0443 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043a\u0430\u0442\u0443\u0448\u043a\u0438.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u044f \u043f\u0440\u0438\u0448\u0435\u043b \u043a \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c \u043a\u0430\u0442\u0443\u0448\u043a\u0430\u043c \u043d\u0430 345 \u043c\u043a\u0413\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c\u0438 \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u043c\u0438.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/30a\/47e\/12b\/30a47e12b771bc89693a0b31a19565ce.jpg\" alt=\"\u0420\u044f\u0434\u043e\u043c pn532, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0447\u0442\u0438 \u0443\u043c\u0435\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c mifare, \u043d\u043e \u043e \u043d\u0435\u043c \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0442\u043e\u043c\" title=\"\u0420\u044f\u0434\u043e\u043c pn532, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0447\u0442\u0438 \u0443\u043c\u0435\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c mifare, \u043d\u043e \u043e \u043d\u0435\u043c \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0442\u043e\u043c\" width=\"1280\" height=\"960\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/30a\/47e\/12b\/30a47e12b771bc89693a0b31a19565ce.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/30a\/47e\/12b\/30a47e12b771bc89693a0b31a19565ce.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0420\u044f\u0434\u043e\u043c pn532, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0447\u0442\u0438 \u0443\u043c\u0435\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c mifare, \u043d\u043e \u043e \u043d\u0435\u043c \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0442\u043e\u043c<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041a \u044d\u0442\u0438\u043c \u043a\u0430\u0442\u0443\u0448\u043a\u0430\u043c \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f, \u0430 \u0443\u0447\u0435\u043d\u0438\u043a\u0438 \u043c\u043d\u0435 \u0435\u0451 \u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0438\u043b\u0438 \ud83d\ude42 <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/968\/e87\/a92\/968e87a92f50d47a9770642ee7336b70.jpg\" width=\"1280\" height=\"960\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/968\/e87\/a92\/968e87a92f50d47a9770642ee7336b70.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/968\/e87\/a92\/968e87a92f50d47a9770642ee7336b70.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h2>\u276f \u0420\u0430\u0437\u0433\u043e\u043d\u044f\u0435\u043c \u0428\u0418\u041c<\/h2>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u044b\u043b \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d, \u043f\u0440\u0438\u0448\u043b\u0430 \u043f\u043e\u0440\u0430 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 esp8266. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0443\u0436\u043d\u0430 \u043d\u0435\u0441\u0443\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 125 \u043a\u0413\u0446. \u0423 \u0430\u0440\u0434\u0443\u0438\u043d\u044b \u0441 \u044d\u0442\u0438\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0430 \u0432\u043e\u0442 \u043d\u0430 esp8266 \u043d\u0435\u0442 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0428\u0418\u041c, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439. \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043c \u043e\u0442 100 \u0413\u0446 \u0434\u043e 1 \u043a\u0413\u0446, \u0438 \u0442\u043e \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 wi-fi. \u041e\u0431\u0438\u0434\u043d\u043e. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0443\u043c\u0430\u043b \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0448\u0438\u043c\u043a\u0443, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0448 \u043c\u0435\u0442\u043e\u0434 \ud83d\ude42<\/p>\n<p>\u042f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0437\u0430\u043d\u0438\u0437\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c, \u0438 \u0432 \u0442\u0443\u043f\u0443\u044e \u0437\u0430\u0434\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125000, \u0430 \u043e\u043d\u043e \u0432\u0437\u044f\u043b\u043e \u0438 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430 160MHz.<\/p>\n<pre><code class=\"cpp\">   void rfidACsetOn() {     \/\/\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 125\u043a\u0413\u0446     pinMode(FreqGen, OUTPUT);  \/\/\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0439\u0442\u0435 pin \u043a\u0430\u043a \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439     analogWriteResolution(4);\/\/\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c 4 \u0431\u0438\u0442\u0430     analogWriteFreq(125000); \/\/\u0447\u0430\u0441\u0442\u043e\u0442\u0430 125 \u043a\u0413\u0446     analogWrite(FreqGen, 10); \/\/\u0441\u043a\u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 50%   }<\/code><\/pre>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4c9\/99f\/9ad\/4c999f9ade83e57e828d32673449b8bd.jpg\" alt=\"\u041d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 esp \u0432\u044b\u0434\u0430\u043b\u0430 \u043f\u043e\u0447\u0442\u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125 \u043a\u0413\u0446, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0443\u044e, \u043d\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0435\u0439 \u0437\u0430\u0432\u0435\u043b\u0441\u044f\" title=\"\u041d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 esp \u0432\u044b\u0434\u0430\u043b\u0430 \u043f\u043e\u0447\u0442\u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125 \u043a\u0413\u0446, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0443\u044e, \u043d\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0435\u0439 \u0437\u0430\u0432\u0435\u043b\u0441\u044f\" width=\"1280\" height=\"960\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4c9\/99f\/9ad\/4c999f9ade83e57e828d32673449b8bd.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4c9\/99f\/9ad\/4c999f9ade83e57e828d32673449b8bd.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u041d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 esp \u0432\u044b\u0434\u0430\u043b\u0430 \u043f\u043e\u0447\u0442\u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125 \u043a\u0413\u0446, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0443\u044e, \u043d\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0435\u0439 \u0437\u0430\u0432\u0435\u043b\u0441\u044f<\/em><\/figcaption><\/div>\n<\/figure>\n<h2>\u276f \u0427\u0442\u0435\u043d\u0438\u0435 EmMarine<\/h2>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0447\u0442\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0435\u0433\u043e \u043d\u0430 esp8266. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0434\u043e\u043b\u0433\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b AnalogRead \u043c\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e  <code>analogReadFast()<\/code> \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u041e\u043f\u044f\u0442\u044c \u0436\u0435, \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 160MHz.<\/p>\n<pre><code class=\"cpp\">  uint16_t analogReadFast()  \/\/pin \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438   {     uint16_t res;                      \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0430\u0446\u043f, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c [1, 65535]     system_adc_read_fast(&amp;res, 1, 10);  \/\/\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0437\u0430 17\u043c\u043a\u0441, \u0430 \u043d\u0435 80      return res;   }<\/code><\/pre>\n<p>\u0412 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435 EM4102 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0445\u0435\u043c\u0430 \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u044e\u0447 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0442\u0440\u043e\u0433\u043e \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u043a \u0432\u044b\u0441\u043e\u043a\u043e\u043c\u0443 \u0443\u0440\u043e\u0432\u043d\u044e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u00ab1\u00bb, \u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043a \u043d\u0438\u0437\u043a\u043e\u043c\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u00ab0\u00bb.  <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/29e\/186\/ef0\/29e186ef09ea559687e380bc525deadd.png\" width=\"599\" height=\"163\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/29e\/186\/ef0\/29e186ef09ea559687e380bc525deadd.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/29e\/186\/ef0\/29e186ef09ea559687e380bc525deadd.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430 \u044f \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0443 AlexMalow, \u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043f\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 A\u0426\u041f, \u0432\u043c\u0435\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 ATmega328P \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430. <\/p>\n<pre><code class=\"cpp\">\/\/aver - \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 A0 byte BitRead(int aver = 500, unsigned long timeOut = 7000) {  \/\/ pulse 0 or 1 or -1 if timeout     byte AcompState, AcompInitState;     unsigned long tEnd = micros() + timeOut;     AcompInitState = (analogReadFast() &gt; aver);  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0444\u043b\u0430\u0433 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430     do {       AcompState = (analogReadFast() &gt; aver);  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0444\u043b\u0430\u0433 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430       if (AcompState != AcompInitState) {         \/\/delayMicroseconds(1000 \/ (rfidBitRate * 4));    \/\/ 1\/4 Period on 2 kBps = 125 mks          delayMicroseconds(10);                   \/\/ 1\/4 Period on 2 kBps = 125 mks         AcompState = (analogReadFast() &gt; aver);  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0444\u043b\u0430\u0433 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430         \/\/delayMicroseconds(1000 \/ (rfidBitRate * 2));  \/\/ 1\/2 Period on 2 kBps = 250 mks          delayMicroseconds(200);  \/\/ 1\/2 Period on 2 kBps = 250 mks         return AcompState;       }     } while (micros() &lt; tEnd);     return 2;  \/\/\u0442\u0430\u0439\u043c\u0430\u0443\u0442, \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440 \u043d\u0435 \u0441\u043c\u0435\u043d\u0438\u043b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435   }<\/code><\/pre>\n<p>\u041f\u043e \u0438\u0434\u0435\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u0441\u043a\u0430\u0442\u044c \u0441\u043c\u0435\u043d\u0443 \u0441\u0438\u0433\u043d\u0430\u043b\u0430, \u043f\u043e\u0441\u043b\u0435 \u0436\u0434\u0430\u0442\u044c \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044c \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0436\u0434\u0430\u0442\u044c \u0435\u0449\u0451 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u043f\u0435\u0440\u0438\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u0438\u0442. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 10 \u043c\u043a\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f, \u0438 200 \u043c\u043a\u0441 \u0434\u043b\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0438\u043e\u0434. \u0412\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u0445 \u043f\u0430\u0443\u0437 \u043a \u0442\u0430\u0439\u043c\u0435\u0440\u0443.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043c\u043d\u0435 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u044d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0447\u0442\u0435\u043d\u0438\u044f, \u043d\u0435\u0442 \u0447\u0435\u0442\u043a\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0448\u044c \u0447\u0442\u0435\u043d\u0438\u0435 \u0442\u044b \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0430\u0439\u0442\u0430, \u0438\u043b\u0438 \u0441 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043e\u0447\u0435\u043d\u044c \u0442\u043e\u0447\u043d\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438.<\/p>\n<p>\u041d\u0430 esp32 \u0443 \u043c\u0435\u043d\u044f \u0441 \u044d\u0442\u0438\u043c \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u041f\u0440\u043e\u0441\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u0430\u0439\u0442, \u0438 \u0432\u043e\u0442 \u00ab0\u00bb \u0438 \u00ab1\u00bb \u0443 \u043d\u0430\u0441 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043c\u0435\u0441\u0442\u0430\u043c\u0438, \u0430 \u0432\u0441\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u0438\u0434\u0435\u0442 \u043a\u0440\u0430\u0445\u043e\u043c :(. \u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0438\u0442\u044c, \u043d\u043e \u043d\u0430 esp8266 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043f\u043b\u043e\u0445\u043e.<\/p>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430 \u0433\u043e\u0442\u043e\u0432\u043e, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043a\u043b\u044e\u0447 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<\/p>\n<h2>\u276f \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0432\u043a\u0440\u0430\u0442\u0446\u0435, EM4102 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f RFID-\u043c\u0435\u0442\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 64 \u0431\u0438\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f. \u041e\u0431\u044b\u0447\u043d\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0432 \u0432\u0438\u0434\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8f6\/f27\/479\/8f6f2747954c5d969f5e027781a93af9.png\" width=\"536\" height=\"292\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/8f6\/f27\/479\/8f6f2747954c5d969f5e027781a93af9.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/8f6\/f27\/479\/8f6f2747954c5d969f5e027781a93af9.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f 9 \u0435\u0434\u0438\u043d\u0438\u0446, \u044d\u0442\u043e \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438. \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 10 \u0433\u0440\u0443\u043f\u043f \u043f\u043e 4 \u0431\u0438\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 1 \u0431\u0438\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443. \u0418\u0437 \u043d\u0438\u0445 \u043f\u0435\u0440\u0432\u044b\u0435 2 \u0433\u0440\u0443\u043f\u043f\u044b \u2014 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0435\u0449\u0451 4 \u0431\u0438\u0442\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438 \u0441\u0442\u043e\u043f-\u0431\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e.<\/p>\n<p>\u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c (\u0433\u0440\u0443\u043f\u043f\u0430\u043c) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438, \u0438 \u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u0442\u043a\u0438 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 06x001259E3  (06 \u2014 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u0430\u043d\u043d\u044b\u0435)<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b55\/7fb\/7c3\/b557fb7c38ce6ee6de3e06e670295859.png\" width=\"767\" height=\"49\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b55\/7fb\/7c3\/b557fb7c38ce6ee6de3e06e670295859.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b55\/7fb\/7c3\/b557fb7c38ce6ee6de3e06e670295859.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<pre><code class=\"cpp\"> bool readEM_Marie(byte* buf) {   int aver = calcAverageU();     unsigned long tEnd = millis() + 50;     byte ti;     \/\/\u0436\u0434\u0435\u043c 9 \u0430\u0434\u044f\u043d\u0438\u0446      byte validate;     byte ones = 0;     while(millis() &lt; tEnd)     {         ti = BitRead(aver) ;         if (ti == 1) ones++;         else ones = 0;                      if(ones == 9) break;     }            if(ones != 9)  return false; \/\/\u043d\u0435 \u043d\u0430\u0448\u043b\u0438              \/\/  Serial.println(\"Nashel\");     \/\/\u0447\u0438\u0442\u0430\u0435\u043c 10 \u0433\u0440\u0443\u043f\u043f \u043f\u043e 4 \u0431\u0438\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 1 \u0431\u0438\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443     for(int i=0;i&lt;10;i++)     {       validate = 0;       for(int j=0;j&lt;5;j++)       {          if (BitRead(aver))         {           bitSet(buf[ones&gt;&gt;3], 7-(ones%8));           validate+=1; \/\/\u0421\u0447\u0438\u0442\u0430\u0435\u043c \u043a\u043e\u043b-\u0432\u043e \u0435\u0434\u0435\u043d\u0438\u0446 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438         }          else bitClear(buf[ones&gt;&gt;3], 7-(ones%8));         ones++;       }     if(validate&amp;1) return false; \/\/\u043d\u0435 \u0447\u0435\u0442\u043d\u043e     }    \/\/\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0435\u0441\u0442\u044c 4 \u0431\u0438\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u043e\u043f\u043e\u0432\u044b\u0439 \u0431\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e.   for(int j=0;j&lt;5;j++)   {         if (BitRead(aver))bitSet(buf[ones&gt;&gt;3], 7-ones%8);     else bitClear(buf[ones&gt;&gt;3], 7-ones%8);     ones++;   }    \/\/\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c 9 \u0435\u0434\u0435\u043d\u0438\u0446 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e   buf[0] = 255;   bitSet(buf[1], 7);    return vertEvenCheck(buf); \/\/\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 }<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u044f \u0432\u0437\u044f\u043b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0443 AlexMalow, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d \u0441\u0442\u0440\u0430\u0448\u043d\u043e, \u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0443\u043a\u0438 \u0435\u0449\u0451 \u043d\u0435 \u0434\u043e\u0448\u043b\u0438. \u0412\u043e\u043e\u0431\u0449\u0435 \u043d\u0430\u0434\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0447\u0442\u0435\u043d\u0438\u044f.<\/p>\n<pre><code class=\"cpp\">byte rfidData[5];    bool vertEvenCheck(byte* buf) {  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438     byte k;     k = 1 &amp; buf[1] &gt;&gt; 6 + 1 &amp; buf[1] &gt;&gt; 1 + 1 &amp; buf[2] &gt;&gt; 4 + 1 &amp; buf[3] &gt;&gt; 7 + 1 &amp; buf[3] &gt;&gt; 2 + 1 &amp; buf[4] &gt;&gt; 5 + 1 &amp; buf[4] + 1 &amp; buf[5] &gt;&gt; 3 + 1 &amp; buf[6] &gt;&gt; 6 + 1 &amp; buf[6] &gt;&gt; 1 + 1 &amp; buf[7] &gt;&gt; 4;     if (k &amp; 1) return false;     k = 1 &amp; buf[1] &gt;&gt; 5 + 1 &amp; buf[1] + 1 &amp; buf[2] &gt;&gt; 3 + 1 &amp; buf[3] &gt;&gt; 6 + 1 &amp; buf[3] &gt;&gt; 1 + 1 &amp; buf[4] &gt;&gt; 4 + 1 &amp; buf[5] &gt;&gt; 7 + 1 &amp; buf[5] &gt;&gt; 2 + 1 &amp; buf[6] &gt;&gt; 5 + 1 &amp; buf[6] + 1 &amp; buf[7] &gt;&gt; 3;     if (k &amp; 1) return false;     k = 1 &amp; buf[1] &gt;&gt; 4 + 1 &amp; buf[2] &gt;&gt; 7 + 1 &amp; buf[2] &gt;&gt; 2 + 1 &amp; buf[3] &gt;&gt; 5 + 1 &amp; buf[3] + 1 &amp; buf[4] &gt;&gt; 3 + 1 &amp; buf[5] &gt;&gt; 6 + 1 &amp; buf[5] &gt;&gt; 1 + 1 &amp; buf[6] &gt;&gt; 4 + 1 &amp; buf[7] &gt;&gt; 7 + 1 &amp; buf[7] &gt;&gt; 2;     if (k &amp; 1) return false;     k = 1 &amp; buf[1] &gt;&gt; 3 + 1 &amp; buf[2] &gt;&gt; 6 + 1 &amp; buf[2] &gt;&gt; 1 + 1 &amp; buf[3] &gt;&gt; 4 + 1 &amp; buf[4] &gt;&gt; 7 + 1 &amp; buf[4] &gt;&gt; 2 + 1 &amp; buf[5] &gt;&gt; 5 + 1 &amp; buf[5] + 1 &amp; buf[6] &gt;&gt; 3 + 1 &amp; buf[7] &gt;&gt; 6 + 1 &amp; buf[7] &gt;&gt; 1;     if (k &amp; 1) return false;     if (1 &amp; buf[7]) return false;     \/\/\u043d\u043e\u043c\u0435\u0440 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u043a\u043e\u0440\u043f\u0443\u0441\u0435     rfidData[0] = (0b01111000 &amp; buf[1]) &lt;&lt; 1 | (0b11 &amp; buf[1]) &lt;&lt; 2 | buf[2] &gt;&gt; 6;     rfidData[1] = (0b00011110 &amp; buf[2]) &lt;&lt; 3 | buf[3] &gt;&gt; 4;     rfidData[2] = buf[3] &lt;&lt; 5 | (0b10000000 &amp; buf[4]) &gt;&gt; 3 | (0b00111100 &amp; buf[4]) &gt;&gt; 2;     rfidData[3] = buf[4] &lt;&lt; 7 | (0b11100000 &amp; buf[5]) &gt;&gt; 1 | 0b1111 &amp; buf[5];     rfidData[4] = (0b01111000 &amp; buf[6]) &lt;&lt; 1 | (0b11 &amp; buf[6]) &lt;&lt; 2 | buf[7] &gt;&gt; 6;     return true;   }<\/code><\/pre>\n<p>\u0418, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0430\u043c \u0432\u044b\u0437\u043e\u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u0439:<\/p>\n<pre><code class=\"cpp\">byte addr[8]; byte keyID[8]; bool searchEM_Marine() {     bool rez = false;     rfidACsetOn(FreqGen);  \/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 125\u043a\u0413\u0446 \u0438 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440     delay(6);       \/\/6 \u043c\u0441 \u0434\u043b\u044f\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043d\u044b\u0435 \u043f\u0440\u0446\u0435\u0441\u0441\u044b \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430     if (!readEM_Marie(addr)) { \/\/\u0447\u0442\u0435\u043d\u0438\u0435       return rez;     }        rez = true;     keyType = keyEM_Marine;   \/\/\u0412\u044b\u0432\u043e\u0434 \u043a\u043b\u044e\u0447\u0430 \u0432 \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430     for (byte i = 0; i &lt; 8; i++) {        Serial.print(addr[i], HEX);       Serial.print(\":\");     }     Serial.print(F(\" ( id \"));     Serial.print(rfidData[0]);     Serial.print(\" key \");     unsigned long keyNum = (unsigned long)rfidData[1] &lt;&lt; 24 | (unsigned long)rfidData[2] &lt;&lt; 16 | (unsigned long)rfidData[3] &lt;&lt; 8 | (unsigned long)rfidData[4];     Serial.print(keyNum);     Serial.println(F(\") Type: EM-Marie \"));     return rez;   }<\/code><\/pre>\n<h2>\u276f \u042d\u043c\u0443\u043b\u044f\u0446\u0438\u044f<\/h2>\n<p>\u0421 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0435\u0439 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435\u0442, \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0435\u0440\u0433\u0430\u0435\u043c \u043d\u043e\u0433\u043e\u0439 \u0432 \u043d\u0443\u0436\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443 \u0441 \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u043c 250\u043c\u043a\u0441<\/p>\n<pre><code class=\"cpp\">void Emulate(byte buf[8]) {     digitalWrite(FreqGen, LOW);  \/\/ \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0448\u0438\u043c     delay(20);     for (byte k = 0; k &lt; 10; k++) {       for (byte i = 0; i &lt; 8; i++) {         for (byte j = 0; j &lt; 8; j++) {           if (1 &amp; (buf[i] &gt;&gt; (7 - j))) {             pinMode(FreqGen, INPUT);             delayMicroseconds(250);             pinMode(FreqGen, OUTPUT);             delayMicroseconds(250);           } else {             pinMode(FreqGen, OUTPUT);             delayMicroseconds(250);             pinMode(FreqGen, INPUT);             delayMicroseconds(250);           }         }       }       \/\/ delay(1);     }   }<\/code><\/pre>\n<h2>\u276f \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b<\/h2>\n<p>\u0418 \u0432\u043e\u0442 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0438 \u043f\u043e\u0440\u0442\u043e\u0432, \u0442\u043e\u0447\u043d\u0435\u0435 \u043f\u043e\u0440\u0442\u0430. \u041d\u0430 ESP8266 \u0432\u0441\u0435\u0433\u043e \u043e\u0434\u0438\u043d \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u043f\u043e\u0440\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u044f\u0442 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0434\u043b\u044f \u043a\u043b\u044e\u0447\u0435\u0439 Cyfral \u0438 Metacom, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441 \u0447\u0442\u0435\u043d\u0438\u0435\u043c EmMarine \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e \u0441\u0445\u0435\u043c\u043e\u0439 \u0438 \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b, \u043d\u043e \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u0442\u044c \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u0439 \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u2014 esp32 c3.<\/p>\n<p>\u0423 esp32 c3 \u043f\u044f\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0445 \u043f\u043e\u0440\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043d\u0435 \u0441 \u0433\u043e\u043b\u043e\u0432\u043e\u0439, \u043d\u043e \u0434\u0440\u0443\u0433\u0430\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0441\u0442\u0430\u0440\u044b\u0439 \u043a\u043e\u0434 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c.<\/p>\n<p>\u0418\u0437 \u043f\u043b\u044e\u0441\u043e\u0432 \u0443 esp32 c3 \u0435\u0441\u0442\u044c \u0446\u0430\u043f, \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c 125 \u043a\u0413\u0446.<\/p>\n<pre><code class=\"cpp\">void rfidACsetOn(int pwmpin){   \/\/\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 125\u043a\u0413\u0446   pinMode(pwmpin, OUTPUT);   ledcAttach(pwmpin, 125000, 4);   ledcWrite(pwmpin, 8); \/\/ 50% \u0441\u043a\u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c (128 \u0438\u0437 255) } <\/code><\/pre>\n<p>\u0418\u0437 \u043c\u0438\u043d\u0443\u0441\u043e\u0432, \u0430\u0446\u043f \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0447\u0435\u043c \u0443 esp8266. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f \u0438 \u043f\u043e\u043a\u043e\u043f\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 (\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0430\u0445), \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0447\u0442\u0435\u043d\u0438\u044f. \u041d\u043e \u043e\u043d\u0430 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u043e\u0447\u0442\u0438 \u0432 2 \u0440\u0430\u0437\u0430 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0439 \u043d\u0430 esp8266.<\/p>\n<pre><code class=\"cpp\">void analogSetup() {   adc1_config_channel_atten(ADC1_CHANNEL_0,ADC_ATTEN_DB_11);   adc1_config_channel_atten(ADC1_CHANNEL_4,ADC_ATTEN_DB_11); } uint16_t analogReadFast0() \/\/\u0447\u0442\u0435\u043d\u0438\u0435 \u0441 A0 {   return adc1_get_raw(ADC1_CHANNEL_0); }  uint16_t analogReadFast4()  \/\/\u0447\u0442\u0435\u043d\u0438\u0435 \u0441 A4 {   return adc1_get_raw(ADC1_CHANNEL_4); \/\/4 \u043f\u0438\u043d }<\/code><\/pre>\n<p>\u0414\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f Cyfral \u0418 Metacom \u044d\u0442\u043e\u0433\u043e \u0445\u0432\u0430\u0442\u0438\u043b\u043e, \u0430 \u0441 \u0447\u0442\u0435\u043d\u0438\u0435\u043c EmMarine \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0438 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b.<\/p>\n<p>\u0412 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043a\u0443\u0447\u0430 \u043c\u0435\u043b\u043a\u0438\u0445 \u043f\u0440\u0430\u0432\u043e\u043a, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043f\u0440\u0430\u0432\u043a\u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0430\u0432\u043a\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0449\u0438\u0445\u0441\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f1a\/ea8\/02a\/f1aea802aea2d6153a148000bb4455b4.jpg\" alt=\"\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0431\u044b\u043b \u0441\u043e\u0431\u0440\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 esp32 c3. \u0412\u0441\u0435 \u0436\u0435\u043b\u0435\u0437\u043e (\u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0438\u0434\u0435\u0440\u0430 EmMarine) \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434 \u044d\u043a\u0440\u0430\u043d\u043e\u043c\" title=\"\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0431\u044b\u043b \u0441\u043e\u0431\u0440\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 esp32 c3. \u0412\u0441\u0435 \u0436\u0435\u043b\u0435\u0437\u043e (\u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0438\u0434\u0435\u0440\u0430 EmMarine) \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434 \u044d\u043a\u0440\u0430\u043d\u043e\u043c\" width=\"960\" height=\"1280\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f1a\/ea8\/02a\/f1aea802aea2d6153a148000bb4455b4.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f1a\/ea8\/02a\/f1aea802aea2d6153a148000bb4455b4.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0431\u044b\u043b \u0441\u043e\u0431\u0440\u0430\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 esp32 c3. \u0412\u0441\u0435 \u0436\u0435\u043b\u0435\u0437\u043e (\u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0438\u0434\u0435\u0440\u0430 EmMarine) \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434 \u044d\u043a\u0440\u0430\u043d\u043e\u043c<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0434\u0438\u0438 \u043f\u043e\u0434\u0437\u0430\u0432\u0438\u0441 \u043f\u0440\u043e\u0435\u043a\u0442. \u0412 \u0438\u0442\u043e\u0433\u0435 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043b\u044e\u0447\u0438 EM4102 \u043d\u0430 esp32 c3 (\u043a\u043e\u0434, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c), \u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435, \u0438 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u043e. \u0424\u0443\u043d\u043a\u0446\u0438\u044f BitRead \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0443\u0442\u0430\u0435\u0442 \u00ab0\u00bb \u0438 \u00ab1\u00bb. \u041f\u0440\u0438\u0447\u0435\u043c, \u043f\u043e\u0445\u043e\u0436\u0435, \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438 \u043f\u043b\u044f\u0448\u0443\u0442 \u043e\u0442 \u043a\u043b\u044e\u0447\u0430 \u043a \u043a\u043b\u044e\u0447\u0443. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438 \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0447\u0442\u0435\u043d\u0438\u044f, \u043d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0410\u0426\u041f (\u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u043e\u043c), \u043b\u0438\u0431\u043e \u044f \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u043d\u0430\u044e \u043a\u0430\u043a \ud83d\ude42 \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c.  <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/27a\/7ad\/6d5\/27a7ad6d5c0d877e352983e570a0c05c.jpg\" alt=\"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0433\u0430\u0431\u0430\u0440\u0438\u0442\u043e\u0432\" title=\"\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0433\u0430\u0431\u0430\u0440\u0438\u0442\u043e\u0432\" width=\"1280\" height=\"960\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/27a\/7ad\/6d5\/27a7ad6d5c0d877e352983e570a0c05c.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/27a\/7ad\/6d5\/27a7ad6d5c0d877e352983e570a0c05c.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><em>\u0421\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0433\u0430\u0431\u0430\u0440\u0438\u0442\u043e\u0432<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 <a href=\"https:\/\/github.com\/prorab228\/Multikey.git\">\u0443 \u043c\u0435\u043d\u044f \u043d\u0430 GitHub<\/a>.<\/p>\n<hr\/>\n<blockquote>\n<p><a href=\"https:\/\/t.me\/timewebru\"><strong>\u041d\u043e\u0432\u043e\u0441\u0442\u0438, \u043e\u0431\u0437\u043e\u0440\u044b \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0438 \u043a\u043e\u043d\u043a\u0443\u0440\u0441\u044b \u043e\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b\u00a0<\/strong><\/a><a href=\"http:\/\/Timeweb.Cloud\"><strong>Timeweb.Cloud<\/strong><\/a><a href=\"https:\/\/t.me\/timewebru\"><strong>\u00a0\u2014 \u0432 \u043d\u0430\u0448\u0435\u043c Telegram-\u043a\u0430\u043d\u0430\u043b\u0435<\/strong><\/a>\u00a0<strong>\u21a9<\/strong><\/p>\n<\/blockquote>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/810\/acf\/01e\/810acf01e23fbb59a2b163ee33d4a3b3.png\" alt=\"\u041e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u21a9\" title=\"\u041e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u21a9\" width=\"1560\" height=\"564\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/810\/acf\/01e\/810acf01e23fbb59a2b163ee33d4a3b3.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/810\/acf\/01e\/810acf01e23fbb59a2b163ee33d4a3b3.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><a href=\"https:\/\/timeweb.cloud\/?utm_source=habr&amp;utm_medium=banner&amp;utm_campaign=promo\"><strong><em>\u041e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c<\/em><\/strong><\/a><strong><em> \u21a9<\/em><\/strong><\/figcaption><\/div>\n<\/figure>\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\/906902\/\"> https:\/\/habr.com\/ru\/articles\/906902\/<\/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<p>\u042d\u0442\u043e \u0443\u0436\u0435 \u0442\u0440\u0435\u0442\u044c\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438, \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0430\u043c.<\/p>\n<ul>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/808553\/\">Flipper \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u043a\u0430\u0445. \u041a\u0430\u043a \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0438 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u043a\u043b\u044e\u0447\u0435\u0439 \u043e\u0442 \u0434\u043e\u043c\u043e\u0444\u043e\u043d\u043e\u0432\u2026<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/habr.com\/ru\/articles\/810073\/\">\u041f\u0440\u043e\u0435\u043a\u0442 \u00ab\u041c\u0443\u043b\u044c\u0442\u0438\u043a\u043b\u044e\u0447\u00bb. \u041a\u0430\u043a \u043c\u044b \u043f\u043e\u0431\u0435\u0436\u0434\u0430\u043b\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 Metacom \u0438 Cyfral<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0438\u043a\u0430\u043a \u043d\u0435 \u0434\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u0440\u0443\u043a\u0438 \u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438, \u0442\u043e\u0447\u043d\u0435\u0435 \u044f \u0435\u0451 \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 esp32 c3, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0438\u043a\u0430\u043a \u043d\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442\u0441\u044f.<\/p>\n<p>\u0412\u043a\u0440\u0430\u0442\u0446\u0435 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u043e \u0447\u0435\u043c \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0447\u0435\u043c \u043e\u043d \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b\u0441\u044f \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u041c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f, \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f, \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 (\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u0443 \u043d\u0430\u0441 \u0432 \u043f\u043e\u0434\u044a\u0435\u0437\u0434\u0430\u0445 \u0438 \u043d\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u043d\u044b\u0445). \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044d\u0442\u043e \u0431\u044b\u043b \u043f\u0440\u043e\u0435\u043a\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0438\u0437 \u043c\u043e\u0438\u0445 \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u0432. \u041d\u043e \u0432 \u044d\u0442\u043e\u043c \u0433\u043e\u0434\u0443, \u0434\u043b\u044f \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u0432\u043e \u0412\u0441\u041e\u0428 \u043f\u043e \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u0435\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0442\u0435\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u043e\u0436\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f, \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u0440\u043e \u043d\u0435\u0451 \u0442\u043e\u0436\u0435 \u043d\u0430\u043f\u0438\u0448\u0443). \u0410 \u044f \u043f\u043e \u043d\u0430\u043b\u0438\u0447\u0438\u044e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0437\u043c\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043b \u0434\u043e\u0431\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c.<\/p>\n<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 esp8266, \u0447\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u043b\u043e \u0435\u0433\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438 \u0440\u0435\u0448\u0438\u043b\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u0423 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 dallas \u0438 \u0440\u0443\u0441\u0441\u043a\u0438\u0435 \u0421yfral \u0438 Metacom. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0440\u0435\u0448\u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0431\u0435\u0441\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u0430\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 EmMarine.<\/p>\n<h2>\u276f \u0421\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c<\/h2>\n<p>\u0411\u0435\u0441\u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u043a\u043b\u044e\u0447\u0438 \u0443\u0436\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440\u0430, \u043d\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0435\u0448\u044c, \u043d\u0443\u0436\u0435\u043d \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440-\u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043d\u0430 125 \u043a\u0413\u0446. \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043e\u043f\u044f\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433 <a href=\"https:\/\/github.com\/AlexMalov\/EasyKeyDublicatorRFID_OLED\/tree\/master\">\u043f\u0440\u043e\u0435\u043a\u0442 \u043e\u0442 Alex Malov EasyKeyDublicator<\/a>. \u0423 \u043d\u0435\u0433\u043e \u044f \u0432\u0437\u044f\u043b \u0441\u0445\u0435\u043c\u0443 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u0418 \u043f\u0435\u0440\u0432\u044b\u0435 \u0442\u0435\u0441\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b \u043d\u0430 Arduino Nano.<\/p>\n<figure class=\"\">\n<div><figcaption>\u0421\u0445\u0435\u043c\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f<\/figcaption><\/div>\n<\/figure>\n<p>\u0423 \u044d\u0442\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0435\u0433\u043e 3 \u0432\u044b\u0432\u043e\u0434\u0430. <\/p>\n<ol>\n<li>\n<p>GND \u2014 \u044d\u0442\u043e, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0437\u0435\u043c\u043b\u044f.<\/p>\n<\/li>\n<li>\n<p>DAT, \u044d\u0442\u043e \u0432\u044b\u0432\u043e\u0434 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440\u0430, \u0435\u0433\u043e \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u043f\u043e\u0434\u0446\u0435\u043f\u0438\u0442\u044c \u043a \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0443 \u0438\u043b\u0438 \u043d\u0430 \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u043f\u043e\u0440\u0442.<\/p>\n<\/li>\n<li>\n<p>CL \u2014 \u044d\u0442\u043e \u0432\u044b\u0432\u043e\u0434 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043c\u0430\u0433\u043d\u0438\u0442\u043d\u043e\u0433\u043e \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440\u0430 125\u043a\u0413\u0446.<\/p>\n<\/li>\n<\/ol>\n<p>\u041f\u0440\u0438\u0447\u0435\u043c C1 \u0438 L1 \u2014 \u044d\u0442\u043e \u043a\u043e\u043b\u0435\u0431\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0443\u0440, \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125\u043a\u0413\u0446. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0440\u0435\u0437\u043e\u043d\u0430\u043d\u0441\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435:<\/p>\n<figure class=\"\">\n<div><figcaption><em>\u0413\u0434\u0435\u00a0f\u00a0\u2014 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u043b\u0435\u0431\u0430\u043d\u0438\u0439,\u00a0L\u00a0\u2014 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u0430\u0442\u0443\u0448\u043a\u0438,\u00a0C\u00a0\u2014 \u0451\u043c\u043a\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440\u0430<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041a\u0430\u0442\u0443\u0448\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043c\u043e\u0442\u0430\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438, \u043f\u0435\u0440\u0432\u0443\u044e \u044f \u0442\u0430\u043a \u0438 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u0438\u043b. <\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u041d\u043e \u0443 \u043a\u0430\u0442\u0443\u0448\u0435\u043a, \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0436\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0433\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u043a\u0430\u0442\u0443\u0448\u043a\u0438, \u0434\u043e\u0431\u044b\u0442\u044b\u0435 \u0438\u0437 \u043a\u043b\u044e\u0447\u0435\u0439 \u0438 \u043a\u0430\u0440\u0442. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u043e\u0436\u0435 \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b. \u041d\u0430 \u043a\u043b\u044e\u0447\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043a\u0430\u0442\u0443\u0448\u043a\u0438 \u043d\u0430 \u0425\u0425 \u043c\u043a\u0413\u043d, \u0434\u043b\u044f \u043d\u0438\u0445 \u043d\u0443\u0436\u0435\u043d \u043a\u043e\u043d\u0434\u0435\u043d\u0441\u0430\u0442\u043e\u0440 \u043d\u0430 560\u043f\u0424. \u0421\u043e\u0431\u0440\u0430\u043d\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430, \u043d\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0435\u0449\u0451 \u0445\u0443\u0436\u0435, \u0447\u0435\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0442\u0443\u0448\u043a\u0430\u0445. \u0414\u0443\u043c\u0430\u044e, \u044d\u0442\u043e \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443 \u043a\u043b\u044e\u0447\u0430 \u0438 \u0443 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043a\u0430\u0442\u0443\u0448\u043a\u0438.<\/p>\n<p>\u0412 \u0438\u0442\u043e\u0433\u0435 \u044f \u043f\u0440\u0438\u0448\u0435\u043b \u043a \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u043c \u043a\u0430\u0442\u0443\u0448\u043a\u0430\u043c \u043d\u0430 345 \u043c\u043a\u0413\u043d, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0438 \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u044b\u043c\u0438 \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u043c\u0438.<\/p>\n<figure class=\"full-width\">\n<div><figcaption><em>\u0420\u044f\u0434\u043e\u043c pn532, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0447\u0442\u0438 \u0443\u043c\u0435\u0435\u0442 \u044d\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c mifare, \u043d\u043e \u043e \u043d\u0435\u043c \u043a\u0430\u043a-\u043d\u0438\u0431\u0443\u0434\u044c \u043f\u043e\u0442\u043e\u043c<\/em><\/figcaption><\/div>\n<\/figure>\n<p>\u041a \u044d\u0442\u0438\u043c \u043a\u0430\u0442\u0443\u0448\u043a\u0430\u043c \u044f \u0441\u043e\u0431\u0440\u0430\u043b \u043a\u043e\u043c\u043f\u0430\u043a\u0442\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f, \u0430 \u0443\u0447\u0435\u043d\u0438\u043a\u0438 \u043c\u043d\u0435 \u0435\u0451 \u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0438\u043b\u0438 \ud83d\ude42 <\/p>\n<figure class=\"full-width\"><\/figure>\n<h2>\u276f \u0420\u0430\u0437\u0433\u043e\u043d\u044f\u0435\u043c \u0428\u0418\u041c<\/h2>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u044b\u043b \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d, \u043f\u0440\u0438\u0448\u043b\u0430 \u043f\u043e\u0440\u0430 \u0437\u0430\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 esp8266. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u0432\u044b\u0448\u0435, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0443\u0436\u043d\u0430 \u043d\u0435\u0441\u0443\u0449\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 125 \u043a\u0413\u0446. \u0423 \u0430\u0440\u0434\u0443\u0438\u043d\u044b \u0441 \u044d\u0442\u0438\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0430 \u0432\u043e\u0442 \u043d\u0430 esp8266 \u043d\u0435\u0442 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0428\u0418\u041c, \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439. \u0421\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f, \u0430 \u0442\u0430\u043c \u043e\u0442 100 \u0413\u0446 \u0434\u043e 1 \u043a\u0413\u0446, \u0438 \u0442\u043e \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 wi-fi. \u041e\u0431\u0438\u0434\u043d\u043e. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0434\u0443\u043c\u0430\u043b \u043f\u0440\u0438\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0448\u0438\u043c\u043a\u0443, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0448 \u043c\u0435\u0442\u043e\u0434 \ud83d\ude42<\/p>\n<p>\u042f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0437\u0430\u043d\u0438\u0437\u0438\u0442\u044c \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c, \u0438 \u0432 \u0442\u0443\u043f\u0443\u044e \u0437\u0430\u0434\u0430\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125000, \u0430 \u043e\u043d\u043e \u0432\u0437\u044f\u043b\u043e \u0438 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u0412\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u043d\u0430 160MHz.<\/p>\n<pre><code class=\"cpp\">   void rfidACsetOn() {     \/\/\u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 125\u043a\u0413\u0446     pinMode(FreqGen, OUTPUT);  \/\/\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0439\u0442\u0435 pin \u043a\u0430\u043a \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439     analogWriteResolution(4);\/\/\u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c 4 \u0431\u0438\u0442\u0430     analogWriteFreq(125000); \/\/\u0447\u0430\u0441\u0442\u043e\u0442\u0430 125 \u043a\u0413\u0446     analogWrite(FreqGen, 10); \/\/\u0441\u043a\u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 50%   }<\/code><\/pre>\n<figure class=\"full-width\">\n<div><figcaption><em>\u041d\u0430 \u0443\u0434\u0438\u0432\u043b\u0435\u043d\u0438\u0435 esp \u0432\u044b\u0434\u0430\u043b\u0430 \u043f\u043e\u0447\u0442\u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 125 \u043a\u0413\u0446, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0443\u044e, \u043d\u043e \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u0435\u043b\u044c \u043d\u0430 \u043d\u0435\u0439 \u0437\u0430\u0432\u0435\u043b\u0441\u044f<\/em><\/figcaption><\/div>\n<\/figure>\n<h2>\u276f \u0427\u0442\u0435\u043d\u0438\u0435 EmMarine<\/h2>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0447\u0430\u043b\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u043e\u0434\u0430 \u0447\u0442\u0435\u043d\u0438\u044f, \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0435\u0433\u043e \u043d\u0430 esp8266. \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0434\u043e\u043b\u0433\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b AnalogRead \u043c\u044b \u043f\u043e\u0431\u0435\u0434\u0438\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e  <code>analogReadFast()<\/code> \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043f\u043e\u0447\u0442\u0438 \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u041e\u043f\u044f\u0442\u044c \u0436\u0435, \u0441 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 160MHz.<\/p>\n<pre><code class=\"cpp\">  uint16_t analogReadFast()  \/\/pin \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043b\u044f \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438   {     uint16_t res;                      \/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0430\u0446\u043f, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c [1, 65535]     system_adc_read_fast(&amp;res, 1, 10);  \/\/\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0437\u0430 17\u043c\u043a\u0441, \u0430 \u043d\u0435 80      return res;   }<\/code><\/pre>\n<p>\u0412 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0435 EM4102 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0445\u0435\u043c\u0430 \u041c\u0430\u043d\u0447\u0435\u0441\u0442\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043b\u044e\u0447 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0442\u0440\u043e\u0433\u043e \u0432 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430. \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u043a \u0432\u044b\u0441\u043e\u043a\u043e\u043c\u0443 \u0443\u0440\u043e\u0432\u043d\u044e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u00ab1\u00bb, \u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043e\u0442 \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043a \u043d\u0438\u0437\u043a\u043e\u043c\u0443 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u00ab0\u00bb.  <\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430 \u044f \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u0443 AlexMalow, \u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u043b \u043f\u043e\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 A\u0426\u041f, \u0432\u043c\u0435\u0441\u0442\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0433\u043e \u0432 ATmega328P \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430. <\/p>\n<pre><code class=\"cpp\">\/\/aver - \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 A0 byte BitRead(int aver = 500, unsigned long timeOut = 7000) {  \/\/ pulse 0 or 1 or -1 if timeout     byte AcompState, AcompInitState;     unsigned long tEnd = micros() + timeOut;     AcompInitState = (analogReadFast() &gt; aver);  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0444\u043b\u0430\u0433 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430     do {       AcompState = (analogReadFast() &gt; aver);  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0444\u043b\u0430\u0433 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430       if (AcompState != AcompInitState) {         \/\/delayMicroseconds(1000 \/ (rfidBitRate * 4));    \/\/ 1\/4 Period on 2 kBps = 125 mks          delayMicroseconds(10);                   \/\/ 1\/4 Period on 2 kBps = 125 mks         AcompState = (analogReadFast() &gt; aver);  \/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0444\u043b\u0430\u0433 \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440\u0430         \/\/delayMicroseconds(1000 \/ (rfidBitRate * 2));  \/\/ 1\/2 Period on 2 kBps = 250 mks          delayMicroseconds(200);  \/\/ 1\/2 Period on 2 kBps = 250 mks         return AcompState;       }     } while (micros() &lt; tEnd);     return 2;  \/\/\u0442\u0430\u0439\u043c\u0430\u0443\u0442, \u043a\u043e\u043c\u043f\u0430\u0440\u0430\u0442\u043e\u0440 \u043d\u0435 \u0441\u043c\u0435\u043d\u0438\u043b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435   }<\/code><\/pre>\n<p>\u041f\u043e \u0438\u0434\u0435\u0435, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u0441\u043a\u0430\u0442\u044c \u0441\u043c\u0435\u043d\u0443 \u0441\u0438\u0433\u043d\u0430\u043b\u0430, \u043f\u043e\u0441\u043b\u0435 \u0436\u0434\u0430\u0442\u044c \u0447\u0435\u0442\u0432\u0435\u0440\u0442\u044c \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f, \u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0436\u0434\u0430\u0442\u044c \u0435\u0449\u0451 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 \u043f\u0435\u0440\u0438\u043e\u0434\u0430, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043f\u0430\u0441\u0442\u044c \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u0438\u0442. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043b\u0443\u0447\u0448\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 10 \u043c\u043a\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f, \u0438 200 \u043c\u043a\u0441 \u0434\u043b\u044f \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0435\u0440\u0438\u043e\u0434. \u0412\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u044f \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0435\u0440\u0435\u0448\u0435\u043b \u043e\u0442 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u0445 \u043f\u0430\u0443\u0437 \u043a \u0442\u0430\u0439\u043c\u0435\u0440\u0443.<\/p>\n<p>\u041d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043c\u043d\u0435 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u044d\u0442\u043e\u0442 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0447\u0442\u0435\u043d\u0438\u044f, \u043d\u0435\u0442 \u0447\u0435\u0442\u043a\u043e\u0433\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0448\u044c \u0447\u0442\u0435\u043d\u0438\u0435 \u0442\u044b \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0430\u0439\u0442\u0430, \u0438\u043b\u0438 \u0441 \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b, \u0438\u0437-\u0437\u0430 \u0447\u0435\u0433\u043e \u043d\u0430\u0434\u043e \u043e\u0447\u0435\u043d\u044c \u0442\u043e\u0447\u043d\u043e \u0441\u043e\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438.<\/p>\n<p>\u041d\u0430 esp32 \u0443 \u043c\u0435\u043d\u044f \u0441 \u044d\u0442\u0438\u043c \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u041f\u0440\u043e\u0441\u0442\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u043f\u043e\u043f\u0430\u0434\u0430\u0435\u0442 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0431\u0430\u0439\u0442, \u0438 \u0432\u043e\u0442 \u00ab0\u00bb \u0438 \u00ab1\u00bb \u0443 \u043d\u0430\u0441 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043c\u0435\u0441\u0442\u0430\u043c\u0438, \u0430 \u0432\u0441\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u0438\u0434\u0435\u0442 \u043a\u0440\u0430\u0445\u043e\u043c :(. \u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043f\u043e\u043a\u0430 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0440\u0435\u0448\u0438\u0442\u044c, \u043d\u043e \u043d\u0430 esp8266 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043f\u043b\u043e\u0445\u043e.<\/p>\n<p>\u0427\u0442\u0435\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0431\u0438\u0442\u0430 \u0433\u043e\u0442\u043e\u0432\u043e, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u043a\u043b\u044e\u0447 \u0432 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.<\/p>\n<h2>\u276f \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430<\/h2>\n<p>\u0415\u0441\u043b\u0438 \u0432\u043a\u0440\u0430\u0442\u0446\u0435, EM4102 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f RFID-\u043c\u0435\u0442\u043a\u0430 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 64 \u0431\u0438\u0442\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f. \u041e\u0431\u044b\u0447\u043d\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0432 \u0432\u0438\u0434\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f 9 \u0435\u0434\u0438\u043d\u0438\u0446, \u044d\u0442\u043e \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0432\u043e, \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438. \u0414\u0430\u043b\u0435\u0435 \u0438\u0434\u0443\u0442 10 \u0433\u0440\u0443\u043f\u043f \u043f\u043e 4 \u0431\u0438\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 1 \u0431\u0438\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443. \u0418\u0437 \u043d\u0438\u0445 \u043f\u0435\u0440\u0432\u044b\u0435 2 \u0433\u0440\u0443\u043f\u043f\u044b \u2014 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u0435\u0449\u0451 4 \u0431\u0438\u0442\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0438 \u0441\u0442\u043e\u043f-\u0431\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e.<\/p>\n<p>\u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c (\u0433\u0440\u0443\u043f\u043f\u0430\u043c) \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438, \u0438 \u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c \u0432 \u043a\u043e\u043d\u0446\u0435.<\/p>\n<p>\u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u0432\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u0442\u043a\u0438 \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c 06x001259E3  (06 \u2014 \u043d\u043e\u043c\u0435\u0440 \u0432\u0435\u0440\u0441\u0438\u0438, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u0430\u043d\u043d\u044b\u0435)<\/p>\n<figure class=\"full-width\"><\/figure>\n<pre><code class=\"cpp\"> bool readEM_Marie(byte* buf) {   int aver = calcAverageU();     unsigned long tEnd = millis() + 50;     byte ti;     \/\/\u0436\u0434\u0435\u043c 9 \u0430\u0434\u044f\u043d\u0438\u0446      byte validate;     byte ones = 0;     while(millis() &lt; tEnd)     {         ti = BitRead(aver) ;         if (ti == 1) ones++;         else ones = 0;                      if(ones == 9) break;     }            if(ones != 9)  return false; \/\/\u043d\u0435 \u043d\u0430\u0448\u043b\u0438              \/\/  Serial.println(\"Nashel\");     \/\/\u0447\u0438\u0442\u0430\u0435\u043c 10 \u0433\u0440\u0443\u043f\u043f \u043f\u043e 4 \u0431\u0438\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 1 \u0431\u0438\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443     for(int i=0;i&lt;10;i++)     {       validate = 0;       for(int j=0;j&lt;5;j++)       {          if (BitRead(aver))         {           bitSet(buf[ones&gt;&gt;3], 7-(ones%8));           validate+=1; \/\/\u0421\u0447\u0438\u0442\u0430\u0435\u043c \u043a\u043e\u043b-\u0432\u043e \u0435\u0434\u0435\u043d\u0438\u0446 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438         }          else bitClear(buf[ones&gt;&gt;3], 7-(ones%8));         ones++;       }     if(validate&amp;1) return false; \/\/\u043d\u0435 \u0447\u0435\u0442\u043d\u043e     }    \/\/\u041d\u0430\u043a\u043e\u043d\u0435\u0446, \u0435\u0441\u0442\u044c 4 \u0431\u0438\u0442\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0443\u043c\u043c\u044b \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u043e\u043f\u043e\u0432\u044b\u0439 \u0431\u0438\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435\u0433\u0434\u0430 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e.   for(int j=0;j&lt;5;j++)   {         if (BitRead(aver))bitSet(buf[ones&gt;&gt;3], 7-ones%8);     else bitClear(buf[ones&gt;&gt;3], 7-ones%8);     ones++;   }    \/\/\u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c 9 \u0435\u0434\u0435\u043d\u0438\u0446 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e   buf[0] = 255;   bitSet(buf[1], 7);    return vertEvenCheck(buf); \/\/\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 }<\/code><\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u044f \u0432\u0437\u044f\u043b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0443 AlexMalow, \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043e\u043d \u0441\u0442\u0440\u0430\u0448\u043d\u043e, \u043d\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0443\u043a\u0438 \u0435\u0449\u0451 \u043d\u0435 \u0434\u043e\u0448\u043b\u0438. \u0412\u043e\u043e\u0431\u0449\u0435 \u043d\u0430\u0434\u043e \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0441\u0430\u043c\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0447\u0442\u0435\u043d\u0438\u044f.<\/p>\n<pre><code class=\"cpp\">byte rfidData[5];    bool vertEvenCheck(byte* buf) {  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0447\u0435\u0442\u043d\u043e\u0441\u0442\u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438     byte k;     k = 1 &amp; buf[1] &gt;&gt; 6 + 1 &amp; buf[1] &gt;&gt; 1 + 1 &amp; buf[2] &gt;&gt; 4 + 1 &amp; buf[3] &gt;&gt; 7 + 1 &amp; buf[3] &gt;&gt; 2 + 1 &amp; buf[4] &gt;&gt; 5 + 1 &amp; buf[4] + 1 &amp; buf[5] &gt;&gt; 3 + 1 &amp; buf[6] &gt;&gt; 6 + 1 &amp; buf[6] &gt;&gt; 1 + 1 &amp; buf[7] &gt;&gt; 4;     if (k &amp; 1) return false;     k = 1 &amp; buf[1] &gt;&gt; 5 + 1 &amp; buf[1] + 1 &amp; buf[2] &gt;&gt; 3 + 1 &amp; buf[3] &gt;&gt; 6 + 1 &amp; buf[3] &gt;&gt; 1 + 1 &amp; buf[4] &gt;&gt; 4 + 1 &amp; buf[5] &gt;&gt; 7 + 1 &amp; buf[5] &gt;&gt; 2 + 1 &amp; buf[6] &gt;&gt; 5 + 1 &amp; buf[6] + 1 &amp; buf[7] &gt;&gt; 3;     if (k &amp; 1) return false;     k = 1 &amp; buf[1] &gt;&gt; 4 + 1 &amp; buf[2] &gt;&gt; 7 + 1 &amp; buf[2] &gt;&gt; 2 + 1 &amp; buf[3] &gt;&gt; 5 + 1 &amp; buf[3] + 1 &amp; buf[4] &gt;&gt; 3 + 1 &amp; buf[5] &gt;&gt; 6 + 1 &amp; buf[5] &gt;&gt; 1 + 1 &amp; buf[6] &gt;&gt; 4 + 1 &amp; buf[7] &gt;&gt; 7 + 1 &amp; buf[7] &gt;&gt; 2;     if (k &amp; 1) return false;     k = 1 &amp; buf[1] &gt;&gt; 3 + 1 &amp; buf[2] &gt;&gt; 6 + 1 &amp; buf[2] &gt;&gt; 1 + 1 &amp; buf[3] &gt;&gt; 4 + 1 &amp; buf[4] &gt;&gt; 7 + 1 &amp; buf[4] &gt;&gt; 2 + 1 &amp; buf[5] &gt;&gt; 5 + 1 &amp; buf[5] + 1 &amp; buf[6] &gt;&gt; 3 + 1 &amp; buf[7] &gt;&gt; 6 + 1 &amp; buf[7] &gt;&gt; 1;     if (k &amp; 1) return false;     if (1 &amp; buf[7]) return false;     \/\/\u043d\u043e\u043c\u0435\u0440 \u043a\u043b\u044e\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u043a\u043e\u0440\u043f\u0443\u0441\u0435     rfidData[0] = (0b01111000 &amp; buf[1]) &lt;&lt; 1 | (0b11 &amp; buf[1]) &lt;&lt; 2 | buf[2] &gt;&gt; 6;     rfidData[1] = (0b00011110 &amp; buf[2]) &lt;&lt; 3 | buf[3] &gt;&gt; 4;     rfidData[2] = buf[3] &lt;&lt; 5 | (0b10000000 &amp; buf[4]) &gt;&gt; 3 | (0b00111100 &amp; buf[4]) &gt;&gt; 2;     rfidData[3] = buf[4] &lt;&lt; 7 | (0b11100000 &amp;<\/code><\/pre>\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-460625","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/460625","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=460625"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/460625\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=460625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=460625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=460625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}