{"id":284734,"date":"2017-04-10T18:41:24","date_gmt":"2017-04-10T14:41:24","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=284734"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=284734","title":{"rendered":"IP KVM \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 2.0"},"content":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0438\u0437\u043b\u043e\u0436\u0443 \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 \u00ab\u0431\u0430\u0433\u0444\u0438\u043a\u0441\u00bb \u0434\u043b\u044f \u0434\u0435\u0432\u0430\u0439\u0441\u0430 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 <a href=\"https:\/\/habrahabr.ru\/post\/325918\/\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a><\/p>\n<p>  \u0412\u0437\u0433\u043b\u044f\u043d\u0443\u0432 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 \u043f\u0440\u0438\u0448\u043b\u0430 \u0438\u0434\u0435\u044f, \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438.<br \/>  \u0410 \u0438\u043c\u0435\u043d\u043d\u043e:   <\/p>\n<ul>\n<li>\u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/li>\n<li>\u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0441\u0435\u0431\u0435\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c<\/li>\n<li>\u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435\u0439 \u0432\u0438\u0434\u0435\u043e, \u0447\u0442\u043e \u0431 \u0431\u044b\u043b\u043e \u0445\u043e\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e<\/li>\n<\/ul>\n<p>  <a name=\"habracut\"><\/a><br \/>  \u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443 \u0441 \u0432\u0438\u0434\u0435\u043e \u043e\u0441\u043e\u0431\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0442\u0430\u043a \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043c \u0447\u0442\u043e \u0435\u0441\u0442\u044c, \u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043e \u0433\u0440\u0443\u0441\u0442\u043d\u043e\u043c. <\/p>\n<p>  \u0418 \u0442\u0430\u043a \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c, \u0441 \u0447\u0438\u0441\u0442\u044b\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438, \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u043b\u043e\u0432\u043e\u0439 \u0438 \u0433\u043e\u0440\u044f\u0447\u0438\u043c \u0441\u0435\u0440\u0434\u0446\u0435\u043c. \u041a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438\u0441\u044c \u0432\u043c\u0435\u0441\u0442\u043e Raspberry PI \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Orange PI \u0430 \u0432\u043c\u0435\u0441\u0442\u043e Arduino UNO \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0443 \u0441\u0430\u043c\u0443\u044e \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443(Atmega16u2) \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0448\u043b\u0430 \u0440\u0435\u0447\u044c \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. <\/p>\n<p>  \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u043d\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c:<br \/>  1. UVC \u043f\u043b\u0430\u0442\u0430 \u0432\u0438\u0434\u0435\u043e\u0437\u0430\u0445\u0432\u0430\u0442\u0430 <br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e24\/04b\/a77\/e2404ba77ae94301b2bb656fa7a2a933.jpg\"\/><\/p>\n<p>  2. VGA to AV \u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/093\/7af\/93b\/0937af93b8524cf296185938bb8380af.jpg\"\/><\/p>\n<p>  \u042d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c, \u0432\u043e\u0442 \u0441 \u044d\u0442\u0438\u043c <br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/083\/0f5\/4f5\/0830f54f581b44f3ba69530f2334b6e8.jpg\"\/><br \/>  \u041d\u043e \u0447\u0443\u0434\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e, \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0438\u0434\u0435\u043e \u043d\u0435 \u0443\u043b\u0443\u0447\u0448\u0438\u043b\u043e\u0441\u044c, \u0430 \u0434\u0430\u0436\u0435 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442.<\/p>\n<p>  3. Atmega16u2<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/d38\/32f\/4a0\/d3832f4a098f4cf8abe96103b11496a3.jpg\"\/><\/p>\n<p>  4. Orange PI \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0434\u0435\u043b\u044c Orange pi PC<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/082\/454\/607\/08245460786e465582426a27049bf149.jpg\"\/><\/p>\n<p>  \u041f\u0430\u0440\u0443 \u0441\u043b\u043e\u0432 \u043e\u0431 \u044d\u0442\u043e\u043c \u043c\u0438\u043a\u0440\u043e \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435. \u041e\u0441\u043d\u043e\u0432\u0430\u043d \u043e\u043d \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0435 Allwinner H3 (\u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0439 \u0434\u0435\u0448\u0435\u0432\u044b\u0439 4\u0445-\u044f\u0434\u0435\u0440\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043d\u0430 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0435 \u0410\u0420\u041c), 1\u0433\u0438\u0433\u0430\u0431\u0430\u0439\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 3 USB, HDMI \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u043f\u043e\u043b\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0435. <\/p>\n<h1>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u044d\u0442\u0430\u043f<\/h1>\n<p>  <\/p>\n<h4>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 Orangepi<\/h4>\n<p>  <a href=\"http:\/\/www.orangepi.org\/orangepibbsen\/forum.php?mod=viewthread&amp;tid=342\">\u0412\u043e\u0442 \u0441\u0441\u044b\u043b\u043a\u0430<\/a> \u043d\u0430 \u0444\u043e\u0440\u0443\u043c, \u0432 \u044d\u0442\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u0444\u043e\u0440\u0443\u043c\u0430 \u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u0441\u0435 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c, \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 OrangePI-PC_Ubuntu_Vivid_Mate.img, \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441 mega.nz \u0438\u043b\u0438 Google Drive. \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0448\u0430\u043f\u043a\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0443 Download from Mega or Google Drive \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043f\u043e \u043d\u0443\u0436\u043d\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u0435, \u043a\u0430\u0447\u0430\u0435\u043c.<\/p>\n<p>  \u041f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0430 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0430 \u043e\u0431\u0440\u0430\u0437\u0430 \u043d\u0430 \u0444\u043b\u0435\u0448\u043a\u0443 \u0442\u0430\u043a\u0430\u044f \u0436\u0435 \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u0440\u0430\u0441\u043f\u0431\u0435\u0440\u0440\u0438, \u043d\u0430 \u0432\u0438\u043d\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f win32 disk imager writer \u043d\u0430 \u043b\u0438\u043d\u0443\u043a\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 dd.<\/p>\n<p>  \u041d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043e\u0442\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435. Orange pi \u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430\u0445 Allwinner \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0440\u0430\u0441\u043f\u0431\u0435\u0440\u0440\u0438 \u043d\u0435 \u043f\u043e \u0436\u0435\u043b\u0435\u0437\u0443(hardware), \u0430 \u043f\u043e \u0441\u043e\u0444\u0442\u0443(software), \u0442\u043e\u0447\u043d\u0435\u0435 \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c \u0438 \u00ab\u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0441\u0442\u0438\u00bb \u041e\u0421, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0440\u0430\u0437\u0438\u0442\u044c\u0441\u044f. \u0423\u0440\u0435\u0437\u0430\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e, \u043d\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430, \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0431\u0430\u0433\u043e\u0432, \u044d\u0442\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0422\u0430\u043a\u0430\u044f \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u0438\u0437 \u0437\u0430 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u043d\u0430 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u044b(\u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0436\u0435 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b) \u043f\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0430\u043d\u0434\u0440\u043e\u0438\u0434, \u0438 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0446\u0435\u043b\u0435\u0441\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u0432 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u043e\u043c \u043b\u0438\u043d\u0443\u043a\u0441 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 \u0432\u0438\u0434\u0438\u043c\u043e \u043d\u0435 \u0431\u044b\u043b\u043e. \u041b\u0438\u043d\u0443\u043a\u0441\u043e\u0432\u043e\u0435 \u044f\u0434\u0440\u043e \u0431\u044b\u043b\u043e \u0443\u0440\u0435\u0437\u0430\u043d\u043e \u043f\u043e \u0441\u0430\u043c\u044b\u0435 \u043f\u043e\u043c\u0438\u0434\u043e\u0440\u044b, \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0436\u0438\u0437\u043d\u0438 \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u043e\u0441\u044c \u0432 \u043e\u0432\u043e\u0449\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u044b\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0414\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0438 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b \u043b\u0438\u043d\u0443\u043a\u0441 \u043d\u0430 \u044f\u0434\u0440\u0435 \u043e\u0442 \u0430\u043d\u0434\u0440\u043e\u0438\u0434\u0430, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u044d\u0434\u0430\u043a\u0438\u0439 \u0434\u0435\u0448\u0435\u0432\u044b\u0439 \u043c\u0430\u0440\u043a\u0435\u0442\u0438\u043d\u0433\u043e\u0432\u044b\u0439 \u0445\u043e\u0434, \u0438 \u0442\u0430\u043a \u0431\u044b \u043e\u043d\u043e \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u043e\u0441\u044c \u0435\u0441\u043b\u0438 \u0431 \u043d\u0435 \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u044b.<\/p>\n<p>  \u041d\u043e \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u043d\u0430\u0448\u0438\u043c \u0431\u0430\u0440\u0430\u043d\u0430\u043c. \u0414\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u0437\u0430\u043f\u0438\u0441\u0430\u043d, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430.<\/p>\n<h4>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c motion<\/h4>\n<p>  \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c<br \/>  \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c <code>orangepi<\/code> \u0438\u043b\u0438 <code>root<\/code> \u043f\u0430\u0440\u043e\u043b\u044c <code>orangepi<\/code><\/p>\n<p>  \u041e\u0431\u043d\u043e\u0432\u0438\u043c \u043f\u0430\u043a\u0435\u0442\u044b  <\/p>\n<pre><code class=\"bash\">sudo apt-get update && sudo apt-get upgrade \u2013y<\/code><\/pre>\n<h4>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043c\u043e\u0443\u0448\u0435\u043d<\/h4>\n<p>  \u0412\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u043a \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0424\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u0441\u0442\u0430\u0442\u044c\u0438<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">sudo apt-get install motion -y<\/code><\/pre>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a\u0430:<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/default\/motion<\/code><\/pre>\n<p>  \u0412 \u0441\u0442\u0440\u043e\u043a\u0435 <code>start_motion_daemon<\/code> \u0441\u0442\u0430\u0432\u0438\u043c \u2018yes\u2019. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f Ctrl + x, y, Enter.<\/p>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433 \u0441\u0430\u043c\u043e\u0433\u043e motion(\u0430):<\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/motion\/motion.conf<\/code><\/pre>\n<p>  \u041c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0434\u0430\u043b\u0435\u0435:<\/p>\n<p>  \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b:<\/p>\n<pre><code>daemon on<\/code><\/pre>\n<p>  \u042d\u0442\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u0441\u043c\u044b\u0441\u043b\u0430 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435\u0442, \u0442.\u043a. \u0437\u0430\u0445\u0432\u0430\u0442 \u0432\u0438\u0434\u0435\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c\u0438 PAL \u0438\u043b\u0438 SECAM, \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u0438\u0445 720\u0445576. \u042d\u0442\u043e \u043a\u0441\u0442\u0430\u0442\u0438 \u0434\u043e\u0441\u0430\u0434\u043d\u044b\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a, \u043d\u043e \u043e\u0431 \u044d\u0442\u043e\u043c \u043f\u043e\u0437\u0434\u043d\u0435\u0435.<\/p>\n<pre><code>width 800 height 600<\/code><\/pre>\n<p>  \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043a\u0430\u0434\u0440\u043e\u0432:<\/p>\n<pre><code>framerate 25<\/code><\/pre>\n<p>  \u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u043e\u0432:<\/p>\n<pre><code>output_normal off<\/code><\/pre>\n<p>  \u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<\/p>\n<pre><code>webcam_quality 100<\/code><\/pre>\n<p>  \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043a\u0430\u0434\u0440\u043e\u0432:<\/p>\n<pre><code>webcam_maxrate 25<\/code><\/pre>\n<p>  \u041e\u0442\u043c\u0435\u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441 \u0434\u0440\u0443\u0433\u0438\u0445 ip<\/p>\n<pre><code>webcam_localhost off<\/code><\/pre>\n<p>  \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f Ctrl + x, y, Enter.  <\/div>\n<\/div>\n<p>  \u041a\u043e\u043d\u0441\u043e\u043b\u044c \u043f\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c.<\/p>\n<h4>\u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043a \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438<\/h4>\n<p>  \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043d\u0438\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0441\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0439, \u043f\u043e\u043a\u0430 \u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0440\u0438\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u043d\u0430\u0448\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u0421  <\/p>\n<pre><code class=\"bash\">sudo apt-get install build-essential -y<\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 ncurses, \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u043d\u0435\u0435 \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448   <\/p>\n<pre><code class=\"bash\">sudo apt-get install ncurses -y<\/code><\/pre>\n<p>  \u0414\u0435\u043b\u0430\u0435\u043c \u0441\u0435\u0431\u044f \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c serial \u043f\u043e\u0440\u0442\u0430, \u0447\u0442\u043e\u0431 \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438  <\/p>\n<pre><code class=\"bash\">sudo chown orangepi \/dev\/ttyS2<\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043a\u043e\u043d\u0444\u0438\u0433 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u044f\u0434\u0440\u0430  <\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/modules<\/code><\/pre>\n<p>  \u0420\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 <code>gpio-sunxi<\/code><br \/>  \u042d\u0442\u0438\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435\u043c \u043c\u044b \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0443\u0435\u043c gpio, \u0442\u043e\u0447\u043d\u0435\u0435 \u043c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c, \u0437\u0430\u0447\u0435\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u043e\u0437\u0434\u043d\u0435\u0435.<\/p>\n<p>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a  <\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/rc.local<\/code><\/pre>\n<p>  \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0441\u0442\u0440\u043e\u043a\u043e\u0439 <code>exit<\/code> \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 <code>chown -R orangepi \/sys\/devices\/platform\/*<\/code><br \/>  \u042d\u0442\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0441\u0434\u0435\u043b\u0430\u0435\u0442 \u044e\u0437\u0435\u0440\u0430 orangepi \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0435\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0441 \u043f\u043e\u0440\u0442\u043e\u043c GPIO.<\/p>\n<p>  \u041f\u043e \u0438\u0434\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0439 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0443, \u043d\u0430\u0437\u043d\u0430\u0447\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u0430, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u0443, \u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u0436 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u043e\u044d\u0442\u043e\u043c\u0443(\u0432\u0441\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0438\u0437 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0433\u043e \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u0430), \u0438 \u0442\u0430\u043a \u0441\u043e\u0439\u0434\u0435\u0442. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u0430\u043c \u044f \u043d\u0435 \u0432 \u043a\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435 \u0437\u0430\u043f\u0440\u0435\u0449\u0430\u044e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0441\u0435 \u043a\u0430\u043a \u043d\u0430\u0434\u043e.<\/p>\n<p>  \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c\u0441\u044f   <\/p>\n<pre><code class=\"bash\">sudo reboot<\/code><\/pre>\n<p>  \u041e\u0442\u0432\u043b\u0435\u043a\u0435\u043c\u0441\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043d\u0430 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c.<\/p>\n<h4>Atmega16u2<\/h4>\n<p>  \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0448\u0435\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 Atmega16u2 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0431\u0435\u0437 \u0443\u0447\u0430\u0441\u0442\u0438\u044f \u043b\u0438\u0448\u043d\u0438\u0445 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0438 ArduinoIDE, \u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u0434 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c, \u043a\u0430\u043a \u0432\u044b \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u043b\u0438\u0441\u044c, \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435.<\/p>\n<p>  \u0420\u0430\u0437\u0431\u0435\u0440\u0435\u043c \u043b\u043e\u0433\u0438\u043a\u0443 \u0440\u0430\u0431\u043e\u0442\u044b \u0430\u0440\u0434\u0443\u0438\u043d\u044b \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. <\/p>\n<p>  \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u043b\u0438 \u043f\u043e \u0441\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0440\u0442\u0443 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 Atmega328p(\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0433\u043e\u0432\u0430\u0442\u0430\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u043d\u0430 Arduino UNO) \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 HIDKeyboard.h \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b \u043a\u043e\u0434\u044b \u043a\u043b\u0430\u0432\u0438\u0448, \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u00abUSB HID keyboard keycodes\u00bb \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 Atmega16u2(\u043e\u043f\u044f\u0442\u044c \u0436\u0435 \u043f\u043e \u0441\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0440\u0442\u0443) \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b \u043f\u043e USB \u0446\u0435\u043b\u0435\u0432\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443. Serial \u2192 Atmega328p \u2192 Serial \u2192 Atmega16u2 \u2192 USB<\/p>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c Atmega328p \u0438\u0433\u0440\u0430\u043b \u0440\u043e\u043b\u044c \u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a\u0430, \u043d\u0443 \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0435\u0433\u043e \u0443\u0431\u0440\u0430\u0442\u044c, \u0447\u0442\u043e \u043c\u044b \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043f\u0438\u0448\u0435\u043c \u043a\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0434\u043b\u044f \u0430\u0440\u0434\u0443\u0438\u043d\u044b \u043f\u043e\u0434 Orangepi, \u0430 Atmega16u2 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e.<\/p>\n<p>  \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0433\u043e\u043b\u0443\u044e \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u043d\u0443\u0436\u043d\u0430 \u0445\u043e\u0442\u044f \u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043e\u0431\u0432\u044f\u0437\u043a\u0430.<br \/>  \u0421\u043e\u0432\u0435\u0442\u0443\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043e\u0431\u0437\u043e\u0440\u043e\u043c \u043f\u043e <a href=\"http:\/\/payalo.net\/index.php?newsid=104\">\u044d\u0442\u043e\u0439<\/a> \u0441\u0441\u044b\u043b\u043a\u0435.\u0414\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c \u043f\u043e USB<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f92\/8ab\/5e1\/f928ab5e12d24c4980e6ba59b80aba9e.jpg\"\/><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u0445\u0435\u043c\u0430 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441 \u043d\u0435\u0439 \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0434\u0430\u0436\u0435 \u043d\u043e\u0432\u0438\u0447\u043e\u043a, \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u043c\u043d\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0438 \u043d\u0430\u0432\u0435\u0441\u043d\u044b\u043c \u043c\u043e\u043d\u0442\u0430\u0436\u043e\u043c, \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0443\u0447\u0448\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0432\u0430\u0440\u0446\u0435\u0432\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0447\u0442\u043e \u0431 \u043d\u0435 \u0431\u043e\u043b\u0442\u0430\u043b\u0441\u044f \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435. \u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043a\u0441\u0442\u0430\u0442\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c 16 \u043c\u0435\u0433\u0430\u0433\u0435\u0440\u0446 \u0435\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u043d\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437 \u0441\u0445\u0435\u043c\u044b. \u0414\u0430 \u0438 \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0439\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u0441\u0445\u0435\u043c\u0430 \u0434\u043b\u044f ATmega32u2 \u043e\u043d\u0430 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f ATmega16u2 \u0438 \u0434\u043b\u044f ATmega8u2 \u0442\u043e\u0436\u0435.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u0442\u0430 Arduino UNO \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0435, \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043a \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u043c tx \u2014 \u2116 0, rx -\u2116 1 \u0438 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0431\u0440\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u0443\u0445\u0443 Atmega328p \u0447\u0442\u043e \u0431 \u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u043b\u0430 \u043f\u0438\u0442\u0430\u043d\u0438\u0435 \u0432\u043f\u0443\u0441\u0442\u0443\u044e \u0438 \u043d\u0435 \u0437\u0430\u0441\u043e\u0440\u044f\u043b\u0430 \u044d\u0444\u0438\u0440 serial \u043f\u043e\u0440\u0442\u0430.<\/p>\n<p>  \u041f\u0440\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u043d\u0430\u0434\u0435\u044e\u0441\u044c \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e, \u0432\u0441\u0435 \u0442\u0430\u043a\u0436\u0435 \u043a\u0430\u043a \u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, serial port Orange PI \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e Raspberry PI \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 3.3 \u0432\u043e\u043b\u044c\u0442\u0430 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438 ATmega16u2 \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043c\u043a\u043d\u0443\u0442\u044c \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u043d\u043e\u0433\u0443 <b>Reset<\/b> \u0441 \u0437\u0435\u043c\u043b\u0435\u0439 \u0438 \u0437\u0430\u043b\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 <b>Flip<\/b><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/645\/df8\/710\/645df8710f44479daa5848a534693518.jpg\"\/><br \/>  \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0443\u0436\u0435 \u0431\u044b\u043b\u043e \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437. \u041d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043e\u043a\u043e\u043d\u0447\u0435\u043d\u0430 \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u0434\u0435\u043b\u0443.<\/p>\n<h1>\u041f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443<\/h1>\n<p>  \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043a\u043b\u0430\u0432\u0438\u0448 \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443.<\/p>\n<h4>\u0422\u0435\u043e\u0440\u0438\u044f<\/h4>\n<p>   \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u044b\u043b \u043f\u043e\u0440\u044b\u0432 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043e\u0442 UNO-HIDKeyboard-Library, \u044d\u0442\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f Arduino IDE(\u0444\u0430\u0439\u043b\u044b HIDKeyboard.cpp \u0438 HIDKeyboard.h) \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0440\u0430\u0437, \u043d\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0437\u0430\u0434\u0443\u043c\u043a\u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0442\u0430\u043a \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u043d\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443. <\/p>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e Linux-Remote-HIDKeyboard, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u043a \u0441\u0435\u0431\u0435, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0436\u0435 \u0431\u044b\u043b\u043e \u043a\u0430\u043a \u0442\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c, \u0434\u0430\u043b\u0435\u0435 \u043f\u043e \u0442\u0435\u043a\u0441\u0442\u0443 LRHIDKeyboard.cpp \u0438\u043b\u0438 rkeysend(\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0431\u0438\u043d\u0430\u0440\u043d\u0438\u043a).<\/p>\n<p>  \u0421\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0438\u0437 2\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 LRHIDKeyboard.cpp \u0438 HIDKeyboard.h. HIDKeyboard.h \u044d\u0442\u043e \u0432\u0441\u0435 \u0442\u043e\u0442 \u0436\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 UNO-HIDKeyboard-Library. \u0412 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u00abUSB HID keyboard keycodes\u00bb \u0442\u043e\u043b\u044c\u043a\u043e \u044f \u0432\u0437\u044f\u043b \u043d\u0430 \u0441\u0435\u0431\u044f \u0441\u043c\u0435\u043b\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 HIDKeyboard.cpp \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430, \u0442\u0430\u043a \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0434\u043b\u044f \u0430\u0440\u0434\u0443\u0438\u043d\u044b.<\/p>\n<p>  USB HID keyboard keycodes \u2014 \u044d\u0442\u043e \u043a\u043e\u0434\u044b \u043a\u043b\u0430\u0432\u0438\u0448 \u043f\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0435 \u043f\u043e USB, \u0432 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u044f\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/www.usb.org\/developers\/hidpage\/Hut1_12v2.pdf\">\u0437\u0434\u0435\u0441\u044c<\/a>(pdf).<\/p>\n<p>  \u0412 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u0447\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 HIDKeyboard.h \u0434\u0432\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043a\u043b\u0430\u0432\u0438\u0448, \u0432\u0442\u043e\u0440\u043e\u0439 \u0434\u043b\u044f \u043a\u043b\u0430\u0432\u0438\u0448 \u0441 \u0437\u0430\u0436\u0430\u0442\u044b\u043c shift. \u0414\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0435 \u043f\u0440\u0438 \u0437\u0430\u0445\u0432\u0430\u0442\u0435 \u0438\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0441 \u043d\u043e\u043c\u0435\u0440\u043e\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a \u00ab0x7f\u00bb(\u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e). \u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043b\u0430\u0432\u0438\u0448\u0430 \u00aba\u00bb \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00ab4\u00bb \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u043c \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u00ab04\u00bb \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c, \u043a\u043b\u0430\u0432\u0438\u0448\u0430 \u00abESCAPE\u00bb \u00ab41\u00bb \u0432 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u043c \u0438\u043b\u0438 \u00ab29\u00bb \u0432 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u043c, \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0449\u0435\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u043a\u0430\u043a\u043e\u0439 \u043b\u0438\u0431\u043e \u043a\u043b\u0430\u0432\u0438\u0448\u0438.<\/p>\n<h4>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/h4>\n<p>  \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043d\u0441\u043e\u043b\u044c Orangepi \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a  <\/p>\n<pre><code class=\"bash\">cd ~ mkdir PROG<\/code><\/pre>\n<p>  C\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u044b <code>HIDKeyboard.h<\/code> \u0438 <code>LRHIDKeyboard.cpp<\/code>  <\/p>\n<pre><code class=\"bash\">touch HIDKeyboard.h touch LRHIDKeyboard.cpp<\/code><\/pre>\n<p>  \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 HIDKeyboard.h  <\/p>\n<pre><code class=\"bash\">nano HIDKeyboard.h<\/code><\/pre>\n<p>  \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0430  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041b\u0438\u0441\u0442\u0438\u043d\u0433 HIDKeyboard.h<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#ifndef HIDKeyboard_h #define HIDKeyboard_h  \/\/#include &quot;Arduino.h&quot;  \/****************************************************************************  * SPECIAL CHARACTER DEFINES  *  * These are the HID values for keys that do not output characters  *  ****************************************************************************\/  \/\/ HID Values of Function Keys #define F1 0x3a #define F2 0x3b #define F3 0x3c #define F4 0x3d #define F5 0x3e #define F6 0x3f #define F7 0x40 #define F8 0x41 #define F9 0x42 #define F10 0x43 #define F11 0x44 #define F12 0x45  \/\/ HID Values of Special Keys #define ENTER 0x28 #define ESCAPE 0x29 #define BACKSPACE 0x2a #define TAB 0x2b #define SPACEBAR 0x2c #define CAPSLOCK 0x39 #define PRINTSCREEN 0x46 #define SCROLLLOCK 0x47 #define PAUSE 0x48 #define INSERT 0x49 #define HOME 0x4a #define PAGEUP 0x4b #define DELETE 0x4c #define END 0x4d #define PAGEDOWN 0x4e #define RIGHTARROW 0x4f #define LEFTARROW 0x50 #define DOWNARROW 0x51 #define UPARROW 0x52  \/\/ HID Values of Keypad Keys #define NUMLOCK 0x53 #define KEYPADSLASH 0x54 #define KEYPADSTAR 0x55 #define KEYPADMINUS 0x56 #define KEYPADPLUS 0x57 #define KEYPADENTER 0x58 #define KEYPAD1 0x59 #define KEYPAD2 0x5a #define KEYPAD3 0x5b #define KEYPAD4 0x5c #define KEYPAD5 0x5d #define KEYPAD6 0x5e #define KEYPAD7 0x5f #define KEYPAD8 0x60 #define KEYPAD9 0x61 #define KEYPAD0 0x62 #define KEYPADPERIOD 0x63  \/\/ HID Values of System Keys #define KEYBOARDAPPLICATION 0x65 #define KEYBOARDPOWER 0x66 #define VOLUMEMUTE 0x7f #define VOLUMEUP 0x80 #define VOLUMEDOWN 0x81  \/\/ Common-use modifiers #define LCTRL 0x01 #define SHIFT 0x02 #define ALT 0x04 #define GUI 0x08   \/****************************************************************************  *  * ASCII-&gt;HID LOOKUP TABLE  *\t  *\tTaken from the HID Table definition at   * \t\thttp:\/\/www.usb.org\/developers\/devclass_docs\/Hut1_11.pdf  * \t  *  This array maps the ASCII value of a type-able character to its   *  corresponding HID value.   *  *\tExample:  *\t\t'a' = ASCII value 97 = HID value 0x04  * \t\tHIDTable['a'] = HIDTable[97] = 0x04  *  * \tNOTE:  *\t\t&quot;Shift Modified&quot; HID values are the same as the non Shift-Modified values  * \t\tfor any given character, e.g. the HID value for '2' is equal to the   *\t\tHID value for '@'. The Shift-Modified value is sent by setting the  *\t\tmodifier value (buf[0]) to the corresponding modifier value in the   *    modifier table.   *  ****************************************************************************\/ const static uint8_t HIDTable[] =  { 0x00, \/\/ 0 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2A, 0x2b, 0x28, \/\/ 10 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 20 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x00, 0x00, 0x00, \/\/ 30 0x00, 0x2c, 0x1e, 0x34, 0x20, 0x21, 0x22, 0x24, 0x34, 0x26, \/\/ 40 0x27, 0x25, 0x2e, 0x36, 0x2d, 0x37, 0x38, 0x27, 0x1e, 0x1f, \/\/ 50 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x33, 0x33, 0x36, \/\/ 60 0x2e, 0x37, 0x38, 0x1f, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, \/\/ 70 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, \/\/ 80 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, \/\/ 90 0x2f, 0x31, 0x30, 0x23, 0x2d, 0x35, 0x04, 0x05, 0x06, 0x07, \/\/ 100 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, \/\/ 110 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, \/\/ 120 0x1c, 0x1d, 0x2f, 0x31, 0x30, 0x35, 0x4c, 0x00, 0x00, 0x00, \/\/ 130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 170 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 240 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 250 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x52, 0x50, \/\/ 260 0x4f, 0x4a, 0x2a, 0x00, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, \/\/ 270 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x00, 0x00, 0x00, 0x00, \/\/ 280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 310 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 320 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, \/\/ 330 0x49, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4e, 0x4b, 0x00, \/\/ 340 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \/\/ 350 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, \/\/ 360 };   \/****************************************************************************  *   * ASCII-&gt;MODIFIER LOOKUP TABLE  *   * \tLooks up whether or not the HID report should use the SHIFT modifier.   *   * \tExample:  *\t\tThe character '2' and the character '@' have different ASCII values but  * \t\tthe same HID value. This table uses the ASCII value to determine if   *\t\twe should hold shift while sending the key. e.g.:  *  *\t\t\tHIDTable['2'] = 0x1f  and  modifierTable['2'] = 0   *\t\t\tHIDTable['@'] = 0x1f  and  modifierTable['@'] = SHIFT  *  *  There's probaly a better way to do this, but it's functional.  *  ****************************************************************************\/ const static uint8_t modifierTable[] = { 0x00, \/\/ 0  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\t\/\/ 10  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\t\/\/ 20  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\t\/\/ 30  0x00, 0x00, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, 0x00, SHIFT, \t\/\/ 40  SHIFT, SHIFT, SHIFT, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\/\/ 50  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, SHIFT, 0x00, SHIFT, \t\t\t\t\/\/ 60  0x00, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, \t\/\/ 70  SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, \/\/ 80  SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, \/\/ 90  0x00, 0x00, 0x00, SHIFT, SHIFT, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\/\/ 100  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\t\/\/ 110  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \t\t\t\t\t\/\/ 120  0x00, 0x00, SHIFT, SHIFT, SHIFT, SHIFT, 0x00 \/\/ 127 };   class HIDKeyboard { \tpublic: \t\t\/\/ Constructor \t\tHIDKeyboard(); \t\t\/\/ Public functions \t\tvoid begin(); \/\/ Starts the required serial communication (9600 baud) \t\tvoid pressKey(uint8_t modifier, uint8_t key); \/\/ Looks up key in HIDTable and sends with a modifier \t\tvoid pressKey(uint8_t key); \/\/ Sends key report without modifier (modifier = 0) \t\tvoid pressSpecialKey(uint8_t modifier, uint8_t specialKey); \/\/ Sends specialKey with a modifier \t\tvoid pressSpecialKey(uint8_t specialKey); \/\/ Sends specialKey without modifier \t\tvoid releaseKey(); \/\/ Releases keys (clears key and modifier) \t\tvoid print(char* sequence); \/\/ Prints string &lt;sequence&gt; \t\tvoid println(char* sequence); \/\/ Prints string &lt;sequence&gt; followed by a carriage return \tprivate: \t\t\/\/ HID report buffer \t\tuint8_t buf[8]; \/\/ In report, buf[0] = modifier and buf[2] = key HID value };  #endif <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c Ctrl + x, y, Enter<\/p>\n<p>  \u0418 \u0441\u043d\u043e\u0432\u0430  <\/p>\n<pre><code class=\"bash\">nano LRHIDKeyboard.cpp<\/code><\/pre>\n<p>  \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0430  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041b\u0438\u0441\u0442\u0438\u043d\u0433 LRHIDKeyboard.cpp<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; #include &lt;unistd.h&gt; #include &lt;fcntl.h&gt; #include &lt;errno.h&gt; #include &lt;termios.h&gt; #include &lt;time.h&gt; #include &lt;ncurses.h&gt;  #include &quot;HIDKeyboard.h&quot;  char myport[] = &quot;\/dev\/ttyS2&quot;; \/\/\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0443\u0436\u043d\u044b\u0439 serial port \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0442\u0443\u0442  \/\/\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0440\u044f\u043c\u043e \u0442\u0443\u0442 char nul[] = &quot;&quot;; char menu[] = &quot;\/sys\/class\/gpio_sw\/PA14\/data&quot;; \/\/\u043c\u0435\u043d\u044e char zoom[] = &quot;\/sys\/class\/gpio_sw\/PD14\/data&quot;; \/\/\u0437\u0443\u0443\u043c char kup[] = &quot;\/sys\/class\/gpio_sw\/PC4\/data&quot;; \/\/\u0432\u0435\u0440\u0445 char kdn[] = &quot;\/sys\/class\/gpio_sw\/PC7\/data&quot;; \/\/\u043d\u0438\u0437 char klf[] = &quot;\/sys\/class\/gpio_sw\/PG8\/data&quot;; \/\/\u043b\u0435\u0432\u043e char krt[] = &quot;\/sys\/class\/gpio_sw\/PA21\/data&quot;; \/\/\u043f\u0440\u0430\u0432\u043e  uint8_t buf[8] = { \t0 }; \/* Keyboard report buffer *\/  int open_port(char *devname) \/\/\u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c serial port {   int fd;   fd = open(devname, O_RDWR | O_NOCTTY | O_NDELAY);   if(fd == -1) \/\/\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430   {     printw(&quot;Port is not open! %s&quot; , devname);     return -1;   }   else   {     fcntl(fd, F_SETFL, 0);     printw(&quot;Open port %s&quot;, devname);   } \/\/\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0440\u0442\u0430   struct termios port_settings;   cfsetispeed(&port_settings, B9600);   cfsetospeed(&port_settings, B9600);   port_settings.c_cflag &= ~PARENB;   port_settings.c_cflag &= ~CSTOPB;   port_settings.c_cflag &= ~CSIZE;   port_settings.c_cflag |= CS8;   tcsetattr(fd, TCSANOW, &port_settings);   return(fd); }  int alt_check(int check) \/\/\u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441 ALT, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0437\u0430 ALT,\u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 &quot;0&quot; {   if(check == 27)   {     nodelay(stdscr,TRUE);     check = getch();     if (check == -1) return ESCAPE; \/\/\u0415\u0441\u043b\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u0437\u043d\u0430\u0447\u0438\u0442 Esc     nodelay(stdscr,FALSE);     return check;   }   \/\/else return 0;   return 0; }  int hot_key(int fd, int alt, int vchar) \/\/\u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438  {   if(alt != 0)   {     if (alt == 330) \/\/\u041d\u0430\u0436\u0430\u0442\u043e &quot;Alt&quot; + &quot;Delete&quot; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 Ctrl + Alt + Delete     {       vchar = 0;       buf[0] = 0x04|0x01;       buf[2] = HIDTable[alt];       write(fd, buf, 8);       return 0;     }     if (alt == 114) \/\/\u041d\u0430\u0436\u0430\u0442\u043e &quot;Alt&quot; + &quot;r&quot; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 Win + r     {       vchar = 0;       buf[0] = 0x08;       buf[2] = HIDTable[alt];       write(fd, buf, 8);       return 0;     }     if (alt == 52) \/\/\u041d\u0430\u0436\u0430\u0442\u043e &quot;Alt&quot; + &quot;4&quot; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 Alt + F4     {       vchar = 0;       buf[0] = 0x04;       buf[2] = 0x3d;       write(fd, buf, 8);       return 0;     }     if (alt == 116) \/\/\u041d\u0430\u0436\u0430\u0442\u043e &quot;Alt&quot; + &quot;t&quot; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 Alt + Tab     {       vchar = 0;       buf[0] = 0x04;       buf[2] = 0x2b;       write(fd, buf, 8);       return 0;     }     if (alt == 44) \/\/\u041d\u0430\u0436\u0430\u0442\u043e &quot;Alt&quot; + &quot;,&quot; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 Alt + Shift     {       vchar = 0;       buf[0] = 0x04|0x02;       write(fd, buf, 8);       return 0;     }     if (alt == 46) \/\/\u041d\u0430\u0436\u0430\u0442\u043e &quot;Alt&quot; + &quot;.&quot; \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 Ctrl + Shift     {       vchar = 0;       buf[0] = 0x01|0x02;       write(fd, buf, 8);       return 0;     }   }   else   {         if (vchar == 17) \/\/\u0432\u044b\u0445\u043e\u0434 \u043f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e &quot;Ctrl&quot; + &quot;q&quot;     {       endwin();       exit(0);     }      \/\/\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c      *nul = '\\0';     if (vchar == 28) strcpy(nul, menu); \/\/ &quot;Ctrl&quot; + &quot;\\&quot;     if (vchar == 31) strcpy(nul, zoom); \/\/ &quot;Ctrl&quot; + &quot;\/&quot;     if (vchar == 566) strcpy(nul, kup); \/\/ &quot;Ctrl&quot; + &quot;up&quot;     if (vchar == 525) strcpy(nul, kdn); \/\/ &quot;Ctrl&quot; + &quot;down&quot;     if (vchar == 545) strcpy(nul, klf); \/\/ &quot;Ctrl&quot; + &quot;left&quot;     if (vchar == 560) strcpy(nul, krt); \/\/ &quot;Ctrl&quot; + &quot;right&quot;      FILE *f = fopen(nul, &quot;w&quot;); \/\/\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b      if (f != '\\0')     {       fwrite(&quot;1&quot;, 1, 1, f);       int wrt = fclose(f); \/\/\u041f\u0438\u0448\u0435\u043c \u0432 \u0444\u0430\u0439\u043b       usleep(70000);       if (wrt == 0)       {         FILE *f = fopen(nul, &quot;w&quot;);         fwrite(&quot;0&quot;, 1, 1, f);         fclose(f);       }     else printf(&quot;error write file:  %s&quot;, nul);     return 0;     }     return vchar;   } }  int send_key(int fd, int altkey, int getkey) \/\/\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u0439 {   if (altkey == ESCAPE)   {     buf[0] = 0x00;     buf[2] = 0x29;     write(fd, buf, 8);     return 1;   }   if (altkey != 0)   {     buf[0] = 0x04;     buf[2] = HIDTable[altkey];     write(fd, buf, 8);     return 1;   }   else   {     if (getkey == 0) return 0;     \/\/printf(&quot;KEY NAME : %s - %d\\n&quot;, keyname(getkey),getkey); \/\/\u0414\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438     buf[0] = modifierTable[getkey];     buf[2] = HIDTable[getkey];     write(fd, buf, 8);     return 1;   }   return(-1); }  int release_key(int fd) \/\/ \u041e\u0442\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430\u0436\u0430\u0442\u044b\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 {   buf[0] = 0;   buf[2] = 0;   write(fd, buf, 8); }  int main(void) {   initscr();   keypad(stdscr,TRUE); \/\/\u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u0441\u043f\u0435\u0446 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432   raw(); \/\/\u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0439   int fd = open_port(myport);   printw(&quot;\\nHOT KEYS: Alt + Delete = Ctrl + Alt + Delete   Alt + r = Win + r   Alt + 4 = Alt + F4   Alt + t = Alt + Tab   Alt + , = Alt + Shift   Alt + . = Ctrl + Shift&quot;);   printw(&quot;\\nGPIO: MENU = Ctrl + \\\\  ZOOM = Ctrl + \/  UP = Ctrl + up  DOWN = Ctrl + down  LEFT = Ctrl + left  RIGHT = Ctrl + right&quot;);   printw(&quot;\\n Exit = Ctrl + q&quot;);   move(10,1);   refresh();     while (fd != -1)     {       int pkey = getch();       int alt = alt_check(pkey);       int hot = hot_key(fd, alt, pkey);       send_key(fd, alt, hot);       release_key(fd);     }   endwin(); } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c Ctrl + x, y, Enter<\/p>\n<h4>\u041a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c<\/h4>\n<p>  <\/p>\n<pre><code class=\"bash\">g++ LRHIDKeyboard.cpp -o rkeysend -lncurses<\/code><\/pre>\n<p>  <b>rkeysend<\/b> \u044d\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430<br \/>  <b>-lncurses<\/b> \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 ncurses, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043a\u043b\u0430\u0432\u0438\u0448 \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 \u0442\u043e\u0442 \u0436\u0435 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b.<br \/>  \u0415\u0441\u043b\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0448\u043b\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a GPIO \u043f\u043e\u0440\u0442\u0430\u043c.<\/p>\n<h1>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c<\/h1>\n<p>  \u00ab\u0421\u0432\u0435\u0436\u0435\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f\u00bb \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u043d\u043e \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c. \u041e\u0431\u044a\u044f\u0441\u043d\u044e \u0437\u0430\u0447\u0435\u043c. \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u044f\u0440\u043a\u043e\u0441\u0442\u044c, \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u044c, \u0440\u0435\u0437\u043a\u043e\u0441\u0442\u044c \u0438 \u0442.\u043f. \u0412\u043e \u0432\u0442\u043e\u0440\u044b\u0445, \u044f \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c\u043e\u0433\u043e \u0441 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0430 = 720\u0445576. \u0422\u0430\u043a \u0432\u043e\u0442, \u0443 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0430 \u0435\u0441\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0431\u043e\u043b\u0435 \u043c\u0435\u043b\u043a\u0438\u0435 \u0434\u0435\u0442\u0430\u043b\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432 \u044d\u0442\u043e\u0442 \u0440\u0435\u0436\u0438\u043c.<\/p>\n<p>  \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c GPIO<br \/>  GPIO \u043a\u0430\u043a \u0432\u044b \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0443\u0436\u0435 \u0437\u043d\u0430\u0435\u0442\u0435 general-purpose input\/output, \u0438\u043b\u0438 \u0435\u0441\u043b\u0438 \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438, \u043c\u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u043e\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u0437 \u0432\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438 \u00ab\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 \u043e\u0431\u0449\u0435\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u00bb \u044d\u0434\u0430\u043a\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u043c\u0438\u0440\u043e\u043c.<\/p>\n<h4>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Orangepi PC \u043a \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0443<\/h4>\n<p>  \u0418 \u0442\u0430\u043a \u0421\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u0441 GPIO. \u041d\u0430 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0435 \u0438\u043c\u0435\u044e\u0442\u0441\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f: \u043b\u0435\u0432\u043e, \u043f\u0440\u0430\u0432\u043e, \u043d\u0438\u0437, \u0432\u0435\u0440\u0445, menu \u0438 zoom. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043e\u043d\u0438 \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u043a\u0430\u043a \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0435. \u0418\u043b\u043b\u044e\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043d\u043e\u043f\u043e\u043a.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ce1\/5c1\/503\/ce15c15036f44d40b4f4b5ad1788e6b9.jpg\"\/><\/p>\n<p>  \u041d\u0430 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0435 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043f\u043e\u0440\u0442 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d \u043c\u0435\u0440\u044f\u0435\u0442 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435: \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043c\u0435\u043d\u044e, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u0434\u0432\u0438\u0433\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438 \u0442.\u0434.<\/p>\n<p>  \u0414\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0431\u0438\u043f\u043e\u043b\u044f\u0440\u043d\u044b\u0435 \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u044b \u0441 \u043e\u043f\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0432\u0445\u043e\u0434\u043e\u043c \u0410\u041e\u0422128\u0410<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/86e\/ada\/db1\/86eadadb18df41d5bf46b2e198220273.jpg\"\/><\/p>\n<p>  \u042d\u043c\u0438\u0442\u0442\u0435\u0440 \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440 \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u0430 \u043f\u0440\u0438\u043f\u0430\u0438\u0432\u0430\u0435\u043c \u043a \u0437\u0435\u043c\u043b\u0435 \u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0443 \u043a\u043d\u043e\u043f\u043a\u0438. \u041a\u0430\u0442\u043e\u0434 \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c(\u043f\u0440\u0438\u043f\u0430\u0438\u0432\u0430\u0435\u043c) \u043d\u0430 \u0437\u0435\u043c\u043b\u044e. \u0410\u043d\u043e\u0434 \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a \u043d\u0443\u0436\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 GPIO \u0447\u0435\u0440\u0435\u0437 \u0440\u0435\u0437\u0438\u0441\u0442\u043e\u0440 \u043d\u0430 33 \u041e\u043c\u0430.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/09a\/32f\/bae\/09a32fbae00a4ef1b27501ae51b3fc06.jpg\"\/><\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442\u0435 \u0447\u0442\u043e-\u0442\u043e \u043c\u0435\u043d\u044f\u0442\u044c, \u043f\u043e\u043c\u043d\u0438\u0442\u0435:<br \/>   \u0423\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0430\u043d\u043e\u0434\u0435 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u0430 \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 1,6\u0412, \u043f\u0440\u0438 \u043f\u0440\u0435\u0432\u044b\u0448\u0435\u043d\u0438\u0438 \u044d\u0442\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u0433\u0440\u0435\u0442\u044c\u0441\u044f \u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0442\u0435\u043f\u043b\u043e\u0432\u043e\u0439 \u043f\u0440\u043e\u0431\u043e\u0439. \u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0434\u043b\u044f Orangepi \u0438 \u0434\u043b\u044f \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0430 \u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435, \u0438\u043d\u0430\u0447\u0435 \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u043e\u0432 \u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>  \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0430\u043d\u043e\u0434\u044b \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u043e\u0432 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u043e\u0440\u0442\u0430\u043c GPIO: <b>PA14<\/b> \u2013 \u043c\u0435\u043d\u044e, <b>PD14<\/b> \u2013 \u0437\u0443\u043c, <b>PC4<\/b> \u2013 \u0432\u0435\u0440\u0445, <b>PC7<\/b> \u2013 \u043d\u0438\u0437, <b>PG8<\/b> \u2013 \u043b\u0435\u0432\u043e, <b>PA21<\/b> \u2013 \u043f\u0440\u0430\u0432\u043e. <\/p>\n<p>  \u0421\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b ATmega16u2 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d \u043d\u0430 \u041f\u043e\u0440\u0442\u0430\u0445 11(RX) \u0438 13(TX). \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0438<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/82c\/b4b\/49d\/82cb4b49d6104810a20ad4be678e5ccb.jpg\"\/><\/p>\n<p>  \u0427\u0442\u043e \u0436 \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0445\u043e\u0442\u0435\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u043f\u043e\u043b\u0435\u0432\u043e\u043c \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440\u0435 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430, \u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u043d\u0435 \u0437\u0430\u0434\u0430\u043b\u043e\u0441\u044c, \u043f\u0443\u043b\u044c\u0441\u0430\u0446\u0438\u044f \u0428\u0418\u041c \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0438\u0441\u0442\u043e\u0440 \u0438 \u0432 \u0438\u0442\u043e\u0433\u0435 \u0441\u043e\u043f\u0440\u043e\u0442\u0438\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0435\u043c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u043f\u043b\u0430\u0432\u0430\u0442\u044c, \u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u0445\u0435\u043c \u0441\u0433\u043b\u0430\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432 \u043d\u043e \u044d\u0442\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u0431\u044b \u0443\u0441\u043b\u043e\u0436\u043d\u0438\u043b\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e. \u0415\u0449\u0435 \u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u043e\u043c\u0435\u0442\u0440 \u0447\u0435\u0440\u0435\u0437 SPI \u0438\u043b\u0438 I2C, \u0442\u0443\u0442 \u0443\u0436\u0435 \u0432\u0441\u0435 \u0432 \u0432\u0430\u0448\u0438\u0445 \u0440\u0443\u043a\u0430\u0445, \u0434\u0435\u0440\u0437\u0430\u0439\u0442\u0435.<\/p>\n<h1>\u0417\u0430\u043f\u0443\u0441\u043a<\/h1>\n<p>   \u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0432\u0441\u0435 \u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u043a\u0430\u043a \u043d\u0430\u0434\u043e:   <\/p>\n<ol>\n<li>Orangepi \u043f\u043e GPIO \u043a \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0443<\/li>\n<li>\u041a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u043f\u043e VGA \u043a \u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443(slave) <\/li>\n<li>AV \u0432\u044b\u0445\u043e\u0434 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u0430 \u043d\u0430 AV \u0432\u0445\u043e\u0434 \u043f\u043b\u0430\u0442\u044b \u0432\u0438\u0434\u0435\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u0430<\/li>\n<li>\u041f\u043b\u0430\u0442\u0430 \u0432\u0438\u0434\u0435\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043a USB Orangepi<\/li>\n<li>Orangepi \u043a \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0435 ATmega8U2\/16U2\/32U2 <\/li>\n<li>\u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 ATmega8U2\/16U2\/32U2 \u043f\u043e USB \u043a \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0443(slave) <\/li>\n<li>\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440(master) \u043f\u043e SSH \u043a Orangepi<\/li>\n<\/ol>\n<h4>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443<\/h4>\n<p>  Ha Orangepi \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u044f\u0432\u0438\u0442\u044c\u0441\u044f \u043d\u0430\u0434\u043f\u0438\u0441\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u0433\u043e serial \u043f\u043e\u0440\u0442\u0430 \u0438 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f\u043c\u0438 \u043a\u043b\u0430\u0432\u0438\u0448. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/a0a\/98b\/05b\/a0a98b05b6214dfc85d03ba848432584.jpg\"\/><\/p>\n<p>  \u0418\u043c\u0435\u044e\u0442\u0441\u044f \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u0434\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440\u0430 \u0437\u0430\u0434\u0430\u0447 \u0438\u043b\u0438 \u0441\u043c\u0435\u043d\u044b \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u043a\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043f\u043e\u0434\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 \u00abCtrl + Alt + Del\u00bb \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u043d\u0443\u0436\u043d\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u00abAlt+Del\u00bb, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u0432\u0435\u0440\u0445\u0443 \u043e\u043a\u043d\u0430 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430.<\/p>\n<p>  \u0412\u0438\u0434\u0435\u043e \u043a\u0430\u043a \u0438 \u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 motion, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 <code>orangepi:8081<\/code>. \u0427\u0442\u043e \u0436 \u043d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u0435, \u0432\u0441\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u044f \u043e\u043f\u044b\u0442\u0430 \u0438\u0437\u043b\u043e\u0436\u0435\u043d\u0430, \u043c\u0438\u0441\u0441\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430.<\/p>\n<h1>\u041f\u043e\u0434\u0432\u0435\u0434\u0435\u043c \u0438\u0442\u043e\u0433\u0438:<\/h1>\n<p>  <\/p>\n<h4>\u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0432\u0438\u0434\u0435\u043e<\/h4>\n<p>  \u0412\u0438\u0434\u0435\u043e \u0442\u0430\u043a \u0438 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e AV \u0432\u0445\u043e\u0434\u0443, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440\u043e\u043c \u0438 \u0435\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442 \u0432 \u043c\u0435\u043d\u044e \u2014 \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u044d\u043a\u0440\u0430\u043d \u043f\u043e \u0447\u0430\u0441\u0442\u044f\u043c \u0432 \u0442\u043e\u043c \u0436\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0438.<\/p>\n<p>  \u0415\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0432\u0438\u0434\u0435\u043e, \u0442\u043e\u043b\u044c\u043a\u043e \u0443 \u043d\u0438\u0445 \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u044d\u0442\u043e \u0446\u0435\u043d\u0430:<br \/>  1. <a href=\"http:\/\/www.ebay.com\/itm\/Velocap-U2m-USB-2-0-HDMI-1080P-Video-Capture-Card-hardware-encode-\/172350001507?hash=item2820dc5163:g:eDsAAOSwTA9X4rXI\">Velocap U2m usb 2.0 hdmi<\/a><br \/>  2. <a href=\"https:\/\/ru.aliexpress.com\/item\/VOXLINK-XI100D-1080P-60FPS-UVC-USB-3-0-HDMI-Capture-Dongle-USB2-0-HDMI-Capture-Card\/32762919488.html?source=%7Bifdyn:dyn%7D%7Bifpla:pla%7D%7Bifdbm:DBM&amp;albch=DID%7D&amp;src=google&amp;albch=shopping&amp;acnt=494-037-6276&amp;isdl=y&amp;aff_short_key=UneMJZVf&amp;albcp=657871426&amp;albag=34905090713&amp;slnk=&amp;trgt=74872816969&amp;plac=&amp;crea=ru32762919488&amp;netw=g&amp;device=c&amp;mtctp=&amp;gclid=CIOtvtCViNMCFRDGsgodqw8PuA\">UVC USB 3.0 HDMI<\/a><\/p>\n<p>  \u042d\u0442\u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u044f \u043d\u0435 \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b, \u0438\u0431\u043e \u0434\u043e\u0440\u043e\u0433\u043e, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043a\u0442\u043e-\u0442\u043e \u0438\u0437 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0432\u0448\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044e \u0440\u0438\u0441\u043a\u043d\u0435\u0442.<br \/>  \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c Orangepi PC \u043d\u0430 Orangepi one \u0438\u043b\u0438 Orangepi Zero, \u0435\u0433\u043e \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 500\u0440\u0443\u0431. \u041d\u043e \u0441 Orangepi Zero \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0442\u0430\u043c \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c \u044f\u0434\u0440\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u043e\u0433\u0443\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0438 \u043c\u043e\u0434\u0443\u043b\u0438.\u041f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b GPIO \u043d\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u043b\u0435 \u0434\u043b\u044f \u0437\u0430\u043c\u044b\u043a\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 Power \u0438 Reset \u043d\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u043b\u0430\u0442\u0435.<\/p>\n<h4>\u0421\u0435\u0431\u0435\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c<\/h4>\n<p>  VGA to AV \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 700\u0440\u0443\u0431.<br \/>  \u041f\u043b\u0430\u0442\u0430 \u0432\u0438\u0434\u0435\u043e \u0437\u0430\u0445\u0432\u0430\u0442\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 500\u0440\u0443\u0431.<br \/>  Orangepi PC \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1000\u0440\u0443\u0431.<br \/>  ATmega8U2\/16U2\/32U2 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 150\u0440\u0443\u0431.<br \/>  <b>\u0418\u0442\u043e\u0433\u043e:<\/b> 2350\u0440\u0443\u0431.<\/p>\n<p>  \u041d\u0443 \u0432\u043e\u0442 \u0438 \u043f\u043e\u0434\u043e\u0448\u043b\u0430 \u044d\u0442\u0430 \u0434\u043b\u0438\u043d\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043a \u043a\u043e\u043d\u0446\u0443, \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0432\u0441\u0435\u043c \u043a\u0442\u043e \u0434\u043e\u0447\u0438\u0442\u0430\u043b. \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0443 \u0432\u0430\u0441 \u0432\u0441\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. \u0425\u043e\u0442\u044c \u043c\u043d\u0435 \u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u0433\u043e \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u043e\u0433\u043e, \u043e\u0434\u043d\u0430\u043a\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u043c, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0437\u0430 \u0442\u0430\u043a\u0443\u044e \u0446\u0435\u043d\u0443. \u041a\u043e\u043d\u0435\u0447\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0434\u0435\u0432\u0430\u0439\u0441 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u043d\u043e \u0434\u0443\u043c\u0430\u044e \u0432\u0441\u0435 \u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u043f\u0440\u0430\u0432\u043e \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435. \u041e\u0442\u0434\u0430\u044e \u0432\u0441\u0435 \u0441\u0432\u043e\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u0431\u0435\u0437 \u043a\u0430\u043a\u0438\u0445 \u043b\u0438\u0431\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0439, \u0432 \u0445\u043e\u0440\u043e\u0448\u0438\u0435 \u0440\u0443\u043a\u0438. \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<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:\/\/habrahabr.ru\/post\/326112\/\"> https:\/\/habrahabr.ru\/post\/326112\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0438\u0437\u043b\u043e\u0436\u0443 \u0441\u0432\u043e\u0435\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 \u00ab\u0431\u0430\u0433\u0444\u0438\u043a\u0441\u00bb \u0434\u043b\u044f \u0434\u0435\u0432\u0430\u0439\u0441\u0430 \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 <a href=\"https:\/\/habrahabr.ru\/post\/325918\/\">\u0441\u0442\u0430\u0442\u044c\u0438<\/a><\/p>\n<p>  \u0412\u0437\u0433\u043b\u044f\u043d\u0443\u0432 \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434 \u043f\u0440\u0438\u0448\u043b\u0430 \u0438\u0434\u0435\u044f, \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438.<br \/>  \u0410 \u0438\u043c\u0435\u043d\u043d\u043e:   <\/p>\n<ul>\n<li>\u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/li>\n<li>\u0441\u043d\u0438\u0437\u0438\u0442\u044c \u0441\u0435\u0431\u0435\u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c<\/li>\n<li>\u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0435\u0439 \u0432\u0438\u0434\u0435\u043e, \u0447\u0442\u043e \u0431 \u0431\u044b\u043b\u043e \u0445\u043e\u0442\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u0444\u043e\u0440\u0442\u043d\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e<\/li>\n<\/ul>\n<p>  <\/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-284734","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/284734","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=284734"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/284734\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=284734"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=284734"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=284734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}