{"id":280837,"date":"2016-11-11T22:20:03","date_gmt":"2016-11-11T19:20:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=280837"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=280837","title":{"rendered":"\u0425\u0430\u043a\u0430\u0435\u043c CAN \u0448\u0438\u043d\u0443 \u0430\u0432\u0442\u043e \u0434\u043b\u044f \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9c4\/914\/a47\/9c4914a47e5249c9acff9db678ff6f82.jpg\"\/><br \/>  \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435, \u043d\u043e \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u0433\u0430\u0434\u0436\u0435\u0442 \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u0430\u043c\u0438 \u0438 \u043a\u0443\u0447\u0435\u0439 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u043d\u043e\u0433\u0438\u0435 \u0430\u0432\u0442\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u043f\u0440\u0438 \u043f\u0430\u0440\u043a\u043e\u0432\u043a\u0435, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430. \u042d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0432 \u0430\u0432\u0442\u043e CAN \u0448\u0438\u043d\u044b \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b: \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c, \u0442\u043e\u0440\u043c\u043e\u0437\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0440\u0443\u043b\u044c, \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0430, \u043a\u043b\u0438\u043c\u0430\u0442 \u0438 \u0434\u0440. <br \/>  \u041c\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c Skoda Octavia 2011 \u0433. \u0432. \u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a, \u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u043b\u044e\u0437\u0430 \u043c\u0435\u0436\u0434\u0443 CAN \u0448\u0438\u043d\u043e\u0439 \u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043e\u043c \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e Raspberry Pi \u0441 \u0448\u0438\u043b\u0434\u043e\u043c CAN BUS \u0438 WiFi \u0440\u043e\u0443\u0442\u0435\u0440 TP-Link. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0432 \u0430\u0432\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439, \u0438 \u043d\u0430 \u0432\u0441\u0435 \u043c\u043e\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 Volkswagen \u043e\u0442\u0432\u0435\u0447\u0430\u043b \u043e\u0442\u043a\u0430\u0437\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0430\u0432\u0442\u043e \u0438 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438\u043c\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CAN \u0448\u0438\u043d\u044b VW.<\/p>\n<p>  \u042f \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e:  <\/p>\n<ol>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 CAN \u0448\u0438\u043b\u0434\u0430 \u0434\u043b\u044f Raspberry Pi<\/li>\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u041f\u041e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 CAN \u0448\u0438\u043d\u043e\u0439<\/li>\n<li>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a CAN \u0448\u0438\u043d\u0435 \u0430\u0432\u0442\u043e<\/li>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043d\u0438\u0444\u0444\u0435\u0440\u0430 \u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CAN \u0448\u0438\u043d\u044b<\/li>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/li>\n<li>\u0413\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Homekit \u0438 Siri<\/li>\n<\/ol>\n<p>  \u0412 \u043a\u043e\u043d\u0446\u0435 \u0432\u0438\u0434\u0435\u043e \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u043b\u043e\u043f\u043e\u0434\u044a\u0435\u043c\u043d\u0438\u043a\u043e\u043c.<br \/>  <a name=\"habracut\"><\/a><\/p>\n<h2>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 CAN \u0448\u0438\u043b\u0434\u0430 \u0434\u043b\u044f Raspberry Pi<\/h2>\n<p>  \u0421\u0445\u0435\u043c\u0443 \u0448\u0438\u043b\u0434\u0430 \u0432\u0437\u044f\u043b \u0437\u0434\u0435\u0441\u044c <a href=\"http:\/\/lnxpps.de\/rpie\/\">lnxpps.de\/rpie<\/a>, \u0442\u0430\u043c \u0436\u0435 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u043e\u0432, \u0434\u043b\u044f \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0441 CAN \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f 2 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b MCP2515 \u0438 MCP2551. \u041a \u0448\u0438\u043b\u0434\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f 2 \u043f\u0440\u043e\u0432\u043e\u0434\u0430 CAN-High \u0438 CAN-Low. \u0412 SprintLayout 6 \u0440\u0430\u0437\u0432\u0435\u043b \u043f\u043b\u0430\u0442\u0443, \u043c\u043e\u0436\u0435\u0442 \u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f <a href=\"https:\/\/www.dropbox.com\/s\/4zdlzutwkavsll3\/CANBoardRPi.lay?dl=0\">CANBoardRPi.lay<\/a> (\u043d\u0430 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u043e\u043c \u0444\u043e\u0442\u043e \u043f\u0440\u043e\u0442\u043e\u0442\u0438\u043f \u0448\u0438\u043b\u0434\u0430 \u043d\u0430 \u043c\u0430\u043a\u0435\u0442\u043a\u0435).<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/3b2\/37d\/a55\/3b237da55bf640f09b88e609ba02c54f.jpg\"\/><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/cd7\/63f\/cb4\/cd763fcb4fce4b01afa57b0b34cf7afe.png\"\/><\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u041f\u041e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 CAN \u0448\u0438\u043d\u043e\u0439<\/h2>\n<p>  \u041d\u0430 Raspbian 2-x \u0433\u043e\u0434\u0438\u0447\u043d\u043e\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u044c \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0440\u043e\u043f\u0430\u0442\u0447\u0438\u0442\u044c bcm2708.c, \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 CAN (\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u0435\u0439\u0447\u0430\u0441 \u044d\u0442\u043e \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f). \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 CAN \u0448\u0438\u043d\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0443\u0442\u0438\u043b\u0438\u0442 can-utils \u0441 <a href=\"https:\/\/github.com\/linux-can\/can-utils\">github.com\/linux-can\/can-utils<\/a>, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u043e\u0434\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u044c can \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441:  <\/p>\n<pre><code class=\"bash\"># initialize insmod spi-bcm2708 insmod can insmod can-dev insmod can-raw insmod can-bcm insmod mcp251x # Maerklin Gleisbox (60112 and 60113) uses 250000 # loopback mode for testing ip link set can0 type can bitrate 125000 loopback on ifconfig can0 up <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 CAN \u043f\u043e\u0434\u043d\u044f\u043b\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 <b>ifconfig<\/b><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/3f5\/4f9\/065\/3f54f9065c764213a2ff3d644b58e8db.png\"\/><br \/>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u0435\u0435.<br \/>  \u0412 \u043e\u0434\u043d\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u0441\u043b\u0443\u0448\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">root@raspberrypi ~ # candump any,0:0,#FFFFFFFF <\/code><\/pre>\n<p>  \u0412 \u0434\u0440\u0443\u0433\u043e\u043c \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c:  <\/p>\n<pre><code class=\"bash\">root@raspberrypi ~ # cansend can0 123#deadbeef <\/code><\/pre>\n<p>  \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043e\u043f\u0438\u0441\u0430\u043d \u0437\u0434\u0435\u0441\u044c <a href=\"http:\/\/lnxpps.de\/rpie\/\">lnxpps.de\/rpie<\/a>.<\/p>\n<h2>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a CAN \u0448\u0438\u043d\u0435 \u0430\u0432\u0442\u043e<\/h2>\n<p>  \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u0438\u0437\u0443\u0447\u0438\u0432 <a href=\"http:\/\/vwts.ru\/diag\/can_2_obmen_rus.pdf\">\u043e\u0442\u043a\u0440\u044b\u0442\u0443\u044e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430 CAN \u0448\u0438\u043d\u0443 VW<\/a> \u044f \u0432\u044b\u044f\u0441\u043d\u0438\u043b, \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 2 \u0448\u0438\u043d\u044b.<br \/>  <b>\u0428\u0438\u043d\u0430 CAN \u0441\u0438\u043b\u043e\u0432\u043e\u0433\u043e \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u0430<\/b>, \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 500 \u043a\u0431\u0438\u0442\/\u0441, \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435<br \/>  \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u044d\u0442\u043e\u0442 \u0430\u0433\u0440\u0435\u0433\u0430\u0442 \u0431\u043b\u043e\u043a\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a \u0448\u0438\u043d\u0435 CAN \u0441\u0438\u043b\u043e\u0432\u043e\u0433\u043e \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u0430 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u0431\u043e\u0440\u044b:  <\/p>\n<ul>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0435\u043c,<\/li>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0410\u0411\u0421,<\/li>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043a\u0443\u0440\u0441\u043e\u0432\u043e\u0439 \u0441\u0442\u0430\u0431\u0438\u043b\u0438\u0437\u0430\u0446\u0438\u0438,<\/li>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u0440\u043e\u0431\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447,<\/li>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0443\u0448\u043a\u0430\u043c\u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438,<\/li>\n<li>\u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u0431\u043e\u0440\u043e\u0432.<\/li>\n<\/ul>\n<p>  <b>\u0428\u0438\u043d\u0430 CAN \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u00ab\u041a\u043e\u043c\u0444\u043e\u0440\u0442\u00bb \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/b>, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435<br \/>  \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 100 \u043a\u0431\u0438\u0442\/\u0441 \u043c\u0435\u0436\u0434\u0443 \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u044d\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0431\u043b\u043e\u043a\u0430\u043c\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a \u0448\u0438\u043d\u0435 CAN \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u00ab\u041a\u043e\u043c\u0444\u043e\u0440\u0442\u00bb \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e&lt;\u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c<br \/>  \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0440\u0438\u0431\u043e\u0440\u044b:  <\/p>\n<ul>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 Climatronic \u0438\u043b\u0438 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439,<\/li>\n<li>\u0431\u043b\u043e\u043a\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432 \u0434\u0432\u0435\u0440\u044f\u0445 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f,<\/li>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u00ab\u041a\u043e\u043c\u0444\u043e\u0440\u0442\u00bb,<\/li>\n<li>\u0431\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c \u0434\u043b\u044f \u0440\u0430\u0434\u0438\u043e \u0438 \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0435\u0440\u0432\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u043c (\u0432 \u043c\u043e\u0435\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u043d\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0435, \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0440\u0443\u0438\u0437 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u043c), \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u0430\u0433\u043d\u0438\u0442\u043e\u043b\u043e\u0439, \u043a\u043b\u0438\u043c\u0430\u0442\u043e\u043c, \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u0430\u043c\u043a\u043e\u043c, \u0441\u0442\u0435\u043a\u043b\u043e\u043f\u043e\u0434\u044a\u0435\u043c\u043d\u0438\u043a\u0430\u043c\u0438, \u0444\u0430\u0440\u0430\u043c\u0438 \u0438 \u0434\u0440.<br \/>  \u041e\u0431\u0435 \u0448\u0438\u043d\u044b \u0441\u0432\u044f\u0437\u0430\u043d\u044b \u0447\u0435\u0440\u0435\u0437 \u0448\u043b\u044e\u0437, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u043e\u0434 \u0440\u0443\u043b\u0435\u043c, \u0442\u0430\u043a \u0436\u0435 \u043a \u0448\u043b\u044e\u0437\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 OBD2 \u0440\u0430\u0437\u044a\u0435\u043c, \u043a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 OBD2 \u0440\u0430\u0437\u044a\u0435\u043c \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u043e\u0441\u043b\u0443\u0448\u0430\u0442\u044c \u0442\u0440\u0430\u0444\u0438\u043a \u043e\u0442 \u043e\u0431\u0435\u0438\u0445 \u0448\u0438\u043d, \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u042f \u0440\u0435\u0448\u0438\u043b, \u0447\u0442\u043e \u0431\u0443\u0434\u0443 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0448\u0438\u043d\u043e\u0439 \u00ab\u041a\u043e\u043c\u0444\u043e\u0440\u0442\u00bb \u0438 \u0441\u0430\u043c\u044b\u043c \u0443\u0434\u043e\u0431\u043d\u044b\u043c \u043c\u0435\u0441\u0442\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0448\u0438\u043d\u0435 \u043e\u043a\u0430\u0437\u0430\u043b\u0441\u044f \u0440\u0430\u0437\u044a\u0435\u043c \u0432 \u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0434\u0432\u0435\u0440\u0438.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d74\/ec6\/63a\/d74ec663afd44450bd2240160d3d84ce.jpg\"\/><br \/>  \u0422\u0435\u043f\u0435\u0440\u044c \u044f \u043c\u043e\u0433\u0443 \u0441\u043b\u0443\u0448\u0430\u0442\u044c, \u0432\u0441\u0435 \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 CAN \u0448\u0438\u043d\u0435 \u00ab\u041a\u043e\u043c\u0444\u043e\u0440\u0442\u00bb \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b.<\/p>\n<h2>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043d\u0438\u0444\u0444\u0435\u0440\u0430 \u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CAN \u0448\u0438\u043d\u044b<\/h2>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ec4\/f74\/c60\/ec4f74c609bd43ad8ce6b316047e42e1.png\"\/><br \/>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e \u043a\u0430\u043a \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u0440\u043e\u0441\u043b\u0443\u0448\u0438\u0432\u0430\u043d\u0438\u044e CAN \u0448\u0438\u043d\u044b, \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0442\u043e \u043a\u043e\u043c\u0443 \u0438 \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442. \u0424\u043e\u0440\u043c\u0430\u0442 \u043f\u0430\u043a\u0435\u0442\u0430 CAN \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/97f\/667\/5f6\/97f6675f65d64506bbff0e797ef9826e.jpg\"\/><br \/>  \u0412\u0441\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 can-utils \u0441\u0430\u043c\u0438 \u0443\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0442\u044c CAN \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u043e\u0442\u0434\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:  <\/p>\n<ul>\n<li>\u0418\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440<\/li>\n<li>\u0414\u043b\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/li>\n<li>\u0414\u0430\u043d\u043d\u044b\u0435<\/li>\n<\/ul>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0432 \u043d\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435, \u044d\u0442\u043e \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u043b\u043e \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430. \u041d\u0430 Raspberry Pi \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 candump \u0432 TCP\/IP, \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0438\u0445.<br \/>  \u0414\u043b\u044f macOS \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u044f\u0447\u0435\u0439\u043a\u0443 \u0432 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0443 \u0438 \u0432 \u044d\u0442\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0435 \u044f \u0443\u0436\u0435 \u0432\u0438\u0436\u0443 \u043a\u0430\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/19e\/944\/bbe\/19e944bbe865425db15e9af90e69edd9.png\"\/><br \/>  \u041d\u0430\u0436\u0438\u043c\u0430\u044e \u043a\u043d\u043e\u043f\u043a\u0443 \u0441\u0442\u0435\u043a\u043b\u043e\u043f\u043e\u0434\u044a\u0435\u043c\u043d\u0438\u043a\u0430 \u044f \u043d\u0430\u0448\u0435\u043b \u044f\u0447\u0435\u0439\u043a\u0443 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435, \u0437\u0430\u0442\u0435\u043c \u044f \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b \u043a\u0430\u043a\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u0432\u043d\u0438\u0437, \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u0432\u0432\u0435\u0440\u0445, \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u0432\u0432\u0435\u0440\u0445, \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044e \u0432\u043d\u0438\u0437.<br \/>  \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0432 \u0438\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043b\u0435\u0432\u043e\u0435 \u0441\u0442\u0435\u043a\u043b\u043e \u0432\u0432\u0435\u0440\u0445:  <\/p>\n<pre><code class=\"bash\">cansend can0 181#0200<\/code><\/pre>\n<p>  \u041a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e CAN \u0448\u0438\u043d\u0435 \u0432 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f\u0445 VAG (Skoda Octavia 2011), \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u043c \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433:  <\/p>\n<pre><code class=\"cpp\">\/\/ Front Left Glass Up 181#0200 \/\/ Front Left Glass Down 181#0800 \/\/ Front Right Glass Up 181#2000 \/\/ Front Right Glass Down 181#8000 \/\/ Back Left Glass Up 181#0002 \/\/ Back Left Glass Down 181#0008 \/\/ Back Right Glass Up 181#0020 \/\/ Back Right Glass Down 181#0080 \/\/ Central Lock Open 291#09AA020000 \/\/ Central Lock Close 291#0955040000 \/\/ Update Light status of central lock (\u041a\u043e\u0433\u0434\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0448\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0442\u043a\u0440\u044b\u0442\u044c\/\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0437\u0430\u043c\u043e\u043a \u0442\u043e \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u0430\u043c\u043a\u043e\u043c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u043e\u043a\u0430\u0437\u0430\u043b \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043c\u043a\u0430, \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f) 291#0900000000<\/code><\/pre>\n<p>  \u041c\u043d\u0435 \u0431\u044b\u043b\u043e \u043b\u0435\u043d\u044c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u044d\u0442\u043e\u043c \u0441\u043f\u0438\u0441\u043a\u0435, \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e \u0447\u0442\u043e \u043c\u043d\u0435 \u0431\u044b\u043b\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e.<\/p>\n<h2>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/h2>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f iPhone, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\/\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0442\u0435\u043a\u043b\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u0430\u043c\u043a\u043e\u043c.<br \/>  \u041d\u0430 Raspberry Pi \u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b 2 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u0435\u0440\u0432\u044b\u0439 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 candump \u0432 TCP\/IP, \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043e\u0442 iPhone \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0438\u0445 cansend.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/8ab\/4be\/824\/8ab4be824e4946bfb0151492c5c5e0d5.png\"\/>  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0434\u043b\u044f iOS<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"objectivec\">\/\/ \/\/  FirstViewController.m \/\/  Car Control \/\/ \/\/  Created by Vitaliy Yurkin on 17.05.15. \/\/  Copyright (c) 2015 Vitaliy Yurkin. All rights reserved. \/\/  #import &quot;FirstViewController.h&quot; #import &quot;DataConnection.h&quot; #import &quot;CommandConnection.h&quot;  @interface FirstViewController () &lt;DataConnectionDelegate&gt; @property (nonatomic, strong) DataConnection *dataConnection; @property (nonatomic, strong) CommandConnection *commandConnection; @property (weak, nonatomic) IBOutlet UILabel *Door_1; @property (weak, nonatomic) IBOutlet UILabel *Door_2; @property (weak, nonatomic) IBOutlet UILabel *Door_3; @property (weak, nonatomic) IBOutlet UILabel *Door_4; @property (weak, nonatomic) IBOutlet UIButton *CentralLock; - (IBAction)lockUnlock:(UIButton *)sender; @end  @implementation FirstViewController  - (void)viewDidLoad {     self.dataConnection = [DataConnection new];     self.dataConnection.delegate = self;     [self.dataConnection connectToCanBus];          self.commandConnection = [CommandConnection new];     [self.commandConnection connectToCanBus]; }  - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];     \/\/ Dispose of any resources that can be recreated. }  - (void)doorStatusChanged:(char)value {     \/*      1 - Front Left Door      2 - Front Right Door      4 - Back Left Door      8 - Back Right Door            3 - Front Left&Right Door = 1 + 3      5 - Front& Back left Door = 1 + 4      *\/          \/\/ Front Left Door     if (value & 1) {         self.Door_1.backgroundColor = [UIColor yellowColor];         self.Door_1.text = @&quot;\u041e\u0442\u043a\u0440\u044b\u0442\u043e&quot;;         NSLog(@&quot;1&quot;);     }     else {         self.Door_1.backgroundColor = [UIColor lightGrayColor];         self.Door_1.text = @&quot;\u0417\u0430\u043a\u0440\u044b\u0442\u043e&quot;;     }          \/\/ Front Right Door     if (value & 2) {         self.Door_2.backgroundColor = [UIColor yellowColor];         self.Door_2.text = @&quot;\u041e\u0442\u043a\u0440\u044b\u0442\u043e&quot;;         NSLog(@&quot;2&quot;);     }     else {         self.Door_2.backgroundColor = [UIColor lightGrayColor];         self.Door_2.text = @&quot;\u0417\u0430\u043a\u0440\u044b\u0442\u043e&quot;;     }          \/\/ Back Left Door     if (value & 4) {         self.Door_3.backgroundColor = [UIColor yellowColor];         self.Door_3.text = @&quot;\u041e\u0442\u043a\u0440\u044b\u0442\u043e&quot;;         NSLog(@&quot;4&quot;);     }     else {         self.Door_3.backgroundColor = [UIColor lightGrayColor];         self.Door_3.text = @&quot;\u0417\u0430\u043a\u0440\u044b\u0442\u043e&quot;;     }          \/\/ Back Right Door     if (value & 8) {         self.Door_4.backgroundColor = [UIColor yellowColor];         self.Door_4.text = @&quot;\u041e\u0442\u043a\u0440\u044b\u0442\u043e&quot;;         NSLog(@&quot;8&quot;);     }     else {         self.Door_4.backgroundColor = [UIColor lightGrayColor];         self.Door_4.text = @&quot;\u0417\u0430\u043a\u0440\u044b\u0442\u043e&quot;;     } }  BOOL firstStatusChange = YES; BOOL lastStatus;  -(void) centralLockStatusChanged:(BOOL)status {     \/\/ At first status changes set lastStatus variable     if (firstStatusChange) {         firstStatusChange = NO;         \/\/ Invert status, to pass the next test         lastStatus = !status;     }          \/\/ Change Lock image only if status changed     if (!(lastStatus == status)) {         \/\/ Check status         if (status) {             [self.CentralLock setBackgroundImage:[UIImage imageNamed:@&quot;lock_close&quot;] forState:UIControlStateNormal];         }         else {             [self.CentralLock setBackgroundImage:[UIImage imageNamed:@&quot;lock_open&quot;] forState:UIControlStateNormal];         }         lastStatus = status;     } }   \/\/ Front Left Glass - (IBAction)frontLeftUp:(UIButton *)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#0200&quot;]; } - (IBAction)frontLeftDown:(id)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#0800&quot;]; }  \/\/ Front Right Glass - (IBAction)frontRightUp:(UIButton *)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#2000&quot;]; } - (IBAction)frontRightDown:(id)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#8000&quot;]; }  \/\/ Back Left Glass - (IBAction)backLeftUp:(UIButton *)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#0002&quot;]; } - (IBAction)backLeftDown:(id)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#0008&quot;]; }  \/\/ Back Right Glass - (IBAction)backRightUp:(UIButton *)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#0020&quot;]; } - (IBAction)backtRightDown:(id)sender {     [self.commandConnection sendMessage:@&quot;cansend can0 181#0080&quot;]; }  - (IBAction)lockUnlock:(UIButton *)sender {     \/\/ If central lock closed     if (lastStatus) {         \/\/ Open         [self.commandConnection sendMessage:@&quot;cansend can0 291#09AA020000&quot;];          int64_t delayInSeconds = 1; \/\/ 1 sec         dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);         dispatch_after(popTime, dispatch_get_main_queue(), ^(void){             [self.commandConnection sendMessage:@&quot;cansend can0 291#0900000000&quot;];         });              }     else {         \/\/ Close         [self.commandConnection sendMessage:@&quot;cansend can0 291#0955040000&quot;];         int64_t delayInSeconds = 1; \/\/ 1 sec         dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);         dispatch_after(popTime, dispatch_get_main_queue(), ^(void){             [self.commandConnection sendMessage:@&quot;cansend can0 291#0900000000&quot;];         });     }      } @end <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0415\u0441\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0435 \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u0430 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u0438\u0437 \u043c\u0438\u0440\u0430 \u0443\u043c\u043d\u044b\u0445 \u0434\u043e\u043c\u043e\u0432, \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430 Raspberry Pi \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 <a href=\"http:\/\/razberry.z-wave.me\/\">Z-Way<\/a> \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:  <\/p>\n<pre><code class=\"bash\">wget -q -O - razberry.z-wave.me\/install | sudo bash<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0448\u0438 CAN \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 Z-Way \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ae9\/f3f\/da1\/ae9f3fda1c0c4c0d946b3d052ec655de.png\"\/><br \/>  \u0418 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u0435\u043a\u043b\u043e\u043f\u043e\u0434\u044a\u0435\u043c\u043d\u0438\u043a\u043e\u043c \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u043c<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/33b\/87d\/a28\/33b87da284b2450b92abe7c75d398556.png\"\/><br \/>  \u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f Z-Way: ZWay Home Control \u0438 ZWay Control.<\/p>\n<h2>\u0413\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Homekit \u0438 Siri<\/h2>\n<p>  \u0412 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0432\u043e\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u044f \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b <a href=\"https:\/\/geektimes.ru\/post\/276706\/\">\u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Homebridge \u043d\u0430 Raspberry Pi \u0434\u043b\u044f \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 Z-Way<\/a>. \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 Homebridge \u0432\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u0432\u043e\u0437\u043c\u043e\u043d\u043e\u0441\u0442\u044c \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Siri. \u0423\u0432\u0435\u0440\u0435\u043d, \u0447\u0442\u043e \u0434\u043b\u044f Android \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0445 \u0433\u043e\u043b\u043e\u0441\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c HTTP \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f Z-Way.<br \/>  \u0412\u0438\u0434\u0435\u043e \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u043b\u043e\u043f\u043e\u0434\u044a\u0435\u043c\u043d\u0438\u043a\u043e\u043c \u043f\u0440\u0438\u043b\u0430\u0433\u0430\u044e.  <\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/IHX86-q6OGY?rel=0&amp;showinfo=1\" frameborder=\"0\" allowfullscreen=\"true\" webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\" style=\"top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/geektimes.ru\/post\/282338\/\"> https:\/\/geektimes.ru\/post\/282338\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/9c4\/914\/a47\/9c4914a47e5249c9acff9db678ff6f82.jpg\"\/><br \/>  \u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c \u044d\u0442\u043e \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435, \u043d\u043e \u0438 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u0433\u0430\u0434\u0436\u0435\u0442 \u0441 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u0430\u043c\u0438 \u0438 \u043a\u0443\u0447\u0435\u0439 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432. \u041c\u043d\u043e\u0433\u0438\u0435 \u0430\u0432\u0442\u043e\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0438 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u0441\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043e\u0432 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f, \u043f\u043e\u043c\u043e\u0449\u043d\u0438\u043a\u043e\u0432 \u043f\u0440\u0438 \u043f\u0430\u0440\u043a\u043e\u0432\u043a\u0435, \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430. \u042d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0432 \u0430\u0432\u0442\u043e CAN \u0448\u0438\u043d\u044b \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b: \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044c, \u0442\u043e\u0440\u043c\u043e\u0437\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u0440\u0443\u043b\u044c, \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0430, \u043a\u043b\u0438\u043c\u0430\u0442 \u0438 \u0434\u0440. <br \/>  \u041c\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044c Skoda Octavia 2011 \u0433. \u0432. \u043d\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a, \u0430 \u0437\u0430\u043e\u0434\u043d\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0448\u043b\u044e\u0437\u0430 \u043c\u0435\u0436\u0434\u0443 CAN \u0448\u0438\u043d\u043e\u0439 \u0438 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043e\u043c \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e Raspberry Pi \u0441 \u0448\u0438\u043b\u0434\u043e\u043c CAN BUS \u0438 WiFi \u0440\u043e\u0443\u0442\u0435\u0440 TP-Link. \u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0430\u0433\u0440\u0435\u0433\u0430\u0442\u043e\u0432 \u0430\u0432\u0442\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0439, \u0438 \u043d\u0430 \u0432\u0441\u0435 \u043c\u043e\u0438 \u043f\u0438\u0441\u044c\u043c\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 Volkswagen \u043e\u0442\u0432\u0435\u0447\u0430\u043b \u043e\u0442\u043a\u0430\u0437\u043e\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0437\u043d\u0430\u0442\u044c, \u043a\u0430\u043a \u043e\u0431\u0449\u0430\u044e\u0442\u0441\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u0430\u0432\u0442\u043e \u0438 \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438\u043c\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0432\u0435\u0440\u0441-\u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CAN \u0448\u0438\u043d\u044b VW.<\/p>\n<p>  \u042f \u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u043f\u043e\u044d\u0442\u0430\u043f\u043d\u043e:  <\/p>\n<ol>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 CAN \u0448\u0438\u043b\u0434\u0430 \u0434\u043b\u044f Raspberry Pi<\/li>\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u041f\u041e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 CAN \u0448\u0438\u043d\u043e\u0439<\/li>\n<li>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a CAN \u0448\u0438\u043d\u0435 \u0430\u0432\u0442\u043e<\/li>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u043d\u0438\u0444\u0444\u0435\u0440\u0430 \u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0430 CAN \u0448\u0438\u043d\u044b<\/li>\n<li>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430<\/li>\n<li>\u0413\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Homekit \u0438 Siri<\/li>\n<\/ol>\n<p>  \u0412 \u043a\u043e\u043d\u0446\u0435 \u0432\u0438\u0434\u0435\u043e \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0435\u043a\u043b\u043e\u043f\u043e\u0434\u044a\u0435\u043c\u043d\u0438\u043a\u043e\u043c.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-280837","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/280837","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=280837"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/280837\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=280837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=280837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=280837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}