{"id":482835,"date":"2026-06-08T13:15:59","date_gmt":"2026-06-08T13:15:59","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=482835"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=482835","title":{"rendered":"\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0435 \u0437\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435: \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u043c \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u043e\u0431\u043e\u0442\u043e\u043c \u043d\u0430 ESP32 \u0438 Arduino"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d7f\/89e\/e4b\/d7f89ee4b3e83a4d51d6c40e1c5ed207.jpg\" width=\"780\" height=\"440\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d7f\/89e\/e4b\/d7f89ee4b3e83a4d51d6c40e1c5ed207.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d7f\/89e\/e4b\/d7f89ee4b3e83a4d51d6c40e1c5ed207.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h2>\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0435 \u0437\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435: \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u043c \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u043e\u0431\u043e\u0442\u043e\u043c \u043d\u0430 ESP32 \u0438 Arduino<\/h2>\n<h3>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h3>\n<p>\u041a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 Arduino, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u044d\u0442\u0430\u043f\u044b.<\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0442\u044b \u043c\u0438\u0433\u0430\u0435\u0448\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c. \u041f\u043e\u0442\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0448\u044c \u0434\u0430\u0442\u0447\u0438\u043a \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 \u0438 \u0432\u043e\u0442 \u0443\u0436\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430. \u041f\u043e\u0442\u043e\u043c \u0441\u0435\u0440\u0432\u043e\u043f\u0440\u0438\u0432\u043e\u0434 \u2014 \u0438 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u043e\u0432\u0430\u044f \u0448\u0442\u0443\u043a\u043e\u0432\u0438\u043d\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u043c\u0435\u0448\u043d\u043e \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430.<\/p>\n<p>\u041f\u043e\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0430\u0432\u0442\u043e\u043f\u043e\u043b\u0438\u0432\u0430 \u0434\u043b\u044f \u0446\u0432\u0435\u0442\u043e\u0432 (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432 \u0438\u0442\u043e\u0433\u0435 \u0438\u0445 \u0437\u0430\u043b\u044c\u0451\u0442). \u0418\u043b\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u00ab\u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c \u0442\u0430\u043f\u043e\u0447\u043a\u0438\u00bb. \u041f\u0440\u0430\u0432\u0434\u0430, \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446 \u0440\u043e\u0431\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u043b\u043a\u0435, \u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u0441 \u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0435\u0434\u0443\u0442 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 :).<\/p>\n<p>\u0414\u0430\u043b\u044c\u0448\u0435 \u2014 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0439 \u044d\u0442\u0430\u043f: \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438\u043b\u0438 \u0441\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u043f\u043e \u043a\u0430\u043d\u0430\u043b\u0443\u00a0 Bluetooth. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Wi-Fi \u043c\u043e\u0434\u0443\u043b\u0438,\u00a0 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c Arduino \u043d\u0430\u00a0 ESP8266 \u0438\u043b\u0438 ESP32. \u041f\u043e\u0434\u043d\u044f\u043b \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0430\u0440\u0443 \u043a\u043d\u043e\u043f\u043e\u043a \u2014 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0442\u0435\u0431\u044f \u0437\u0430\u0446\u0435\u043f\u0438\u043b\u043e, \u0442\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u0447\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435?<\/p>\n<p>\u042f \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0448\u0451\u043b \u044d\u0442\u0438 \u044d\u0442\u0430\u043f\u044b. \u0418 \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f, \u043a\u0443\u0434\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u0437\u043e\u0440 \u043d\u0430 \u0418\u0418 (\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0418\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442). \u041d\u0435 \u043d\u0430 \u0442\u043e\u0442, \u0447\u0442\u043e \u00abSkynet \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u043e\u00bb, \u0430 \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u2014 \u0443\u043c\u0435\u043d\u0438\u0435 \u0440\u043e\u0431\u043e\u0442\u0430 \u0432\u0438\u0434\u0435\u0442\u044c \u0437\u043d\u0430\u043a \u00ab\u0421\u0442\u043e\u043f\u00bb \u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0442\u0435\u043d\u044b.<\/p>\n<p>\u00a0\u0412\u043e\u043e\u0434\u0443\u0448\u0435\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u0435\u0439, \u043d\u0430\u0447\u0430\u043b \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u043e \u0418\u0418 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445 \u2014 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u0439 Arduino Uno \u0441 \u0435\u0433\u043e 2 \u041a\u0411 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (RAM) \u0438 16 \u041c\u0413\u0446 \u0434\u043b\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0440\u0435\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442. \u041c\u043e\u0434\u0435\u043b\u044c \u0441 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u0443\u0434\u0430 \u043d\u0435 \u0437\u0430\u043f\u0438\u0445\u043d\u0443\u0442\u044c. \u0414\u0430\u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u043f\u0440\u043e\u0441\u0442\u0443\u044e.<\/p>\n<blockquote>\n<p><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/em><\/p>\n<p>\u041a\u0441\u0442\u0430\u0442\u0438, \u044d\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0451 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u00a0\u2014 <strong>TinyML <\/strong>(\u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f\u00a0\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0441\u00a0\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438). \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 (\u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0437\u0432\u0443\u043a\u043e\u0432 \u0438\u043b\u0438\u00a0\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u00a0\u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432)\u00a0\u2014 \u0442\u0430\u043a\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043e\u0442 32\u00a0\u041c\u0413\u0446, RAM \u043e\u0442 32\u00a0\u041a\u0411, Flash \u043e\u0442 128\u00a0\u041a\u0411 \u0443\u00a0Uno \u0434\u0430\u0436\u0435 \u0431\u043b\u0438\u0437\u043a\u043e \u043d\u0435\u0442.<\/p>\n<\/blockquote>\n<p>\u0412 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0435 Arduino \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u043f\u043b\u0430\u0442\u0430\u00a0 \u2014 Arduino Nano BLE Sense \u0441 1 \u041c\u0411 RAM. \u041d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u041c\u043d\u0435 \u0436\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c:<\/p>\n<ul>\n<li>\n<p>\u041d\u0435\u0434\u043e\u0440\u043e\u0433\u043e \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0443.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e \u2014 \u0431\u0435\u0437 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0441 \u043d\u0443\u043b\u044f \u043d\u0430 Python \u0438\u043b\u0438 C++.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435 \u2014 \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u043d\u0430 \u0441\u0442\u043e\u043b\u0435 \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c<\/p>\n<\/li>\n<\/ul>\n<p>\u0418 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430\u0448\u0451\u043b\u0441\u044f \u2014 \u043c\u043e\u0434\u0443\u043b\u044c ESP32-CAM (\u0440\u0438\u0441. 1). \u0423 \u043d\u0435\u0433\u043e 520 \u041a\u0411 RAM, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 240 \u041c\u0413\u0446 \u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 Wi-Fi. \u042d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u0430\u043c\u0435\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437 \u0442\u0440\u0443\u0434\u0430 \u043a\u0443\u043f\u0438\u0442\u044c \u0432 \u0420\u0424 \u0438\u043b\u0438 \u0437\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430 AliExpress, \u0410 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u043e\u043d \u0441\u0442\u043e\u0438\u0442 \u043a\u0430\u043a \u043e\u0431\u0435\u0434 \u0432\u043e \u00ab\u0412\u043a\u0443\u0441\u043d\u043e \u0438 \u0442\u043e\u0447\u043a\u0430\u00bb. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e9b\/698\/d73\/e9b698d73e3913e777c38f8ff351b863.jpg\" alt=\"\u0420\u0438\u0441. 1. \u041f\u043b\u0430\u0442\u0430 ESP32-CAM \u2013 \u043d\u0430\u0448\u0438 \u0433\u043b\u0430\u0437\u0430 \u0438 \u043c\u043e\u0437\u0433\" title=\"\u0420\u0438\u0441. 1. \u041f\u043b\u0430\u0442\u0430 ESP32-CAM \u2013 \u043d\u0430\u0448\u0438 \u0433\u043b\u0430\u0437\u0430 \u0438 \u043c\u043e\u0437\u0433\" width=\"1000\" height=\"455\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/e9b\/698\/d73\/e9b698d73e3913e777c38f8ff351b863.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/e9b\/698\/d73\/e9b698d73e3913e777c38f8ff351b863.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 1.<\/strong> \u041f\u043b\u0430\u0442\u0430 ESP32-CAM \u2013 \u043d\u0430\u0448\u0438 \u0433\u043b\u0430\u0437\u0430 \u0438 \u043c\u043e\u0437\u0433<\/figcaption><\/div>\n<\/figure>\n<p>ESP32-CAM \u0441\u0442\u0430\u043d\u0435\u0442 \u0433\u043b\u0430\u0437\u0430\u043c\u0438\u00a0\u0438 \u043c\u043e\u0437\u0433\u043e\u043c \u2014 \u043e\u043d \u0432\u0438\u0434\u0438\u0442 \u0437\u043d\u0430\u043a\u0438 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0410 \u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043a\u043e\u043b\u0451\u0441\u0430\u043c\u0438, \u043c\u043e\u0440\u0433\u0430\u0442\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430\u043c\u0438 \u0438 \u043f\u0438\u0449\u0430\u0442\u044c \u0437\u0443\u043c\u043c\u0435\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 Arduino. \u0423 \u043c\u0435\u043d\u044f \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u0431\u044b\u043b\u0430 \u043f\u043b\u0430\u0442\u0430<a href=\"https:\/\/www.ozon.ru\/product\/spbot-arduino-sovmestimaya-plata-dlya-robototehniki-s-drayverom-dvigateley-i-datchikami-sovmestimo-s-3899396743\"> SPBot<\/a> \u2014 \u044d\u0442\u043e Arduino-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0435\u0439, \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430\u043c\u0438 \u0438 \u0440\u0430\u0437\u044a\u0451\u043c\u0430\u043c\u0438 \u0434\u043b\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 (\u0440\u0438\u0441. 2). \u041c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0434\u0440\u0443\u0433\u0443\u044e Arduino + \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TB6612 \u0438\u043b\u0438 L298N), \u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/464\/544\/396\/4645443963ecac73f29ceef143642aea.jpg\" alt=\"\u0420\u0438\u0441. 2. \u041f\u043b\u0430\u0442\u0430 SPBot \u2013 \u043d\u0430\u0448\u0435 \u0442\u0435\u043b\u043e\" title=\"\u0420\u0438\u0441. 2. \u041f\u043b\u0430\u0442\u0430 SPBot \u2013 \u043d\u0430\u0448\u0435 \u0442\u0435\u043b\u043e\" width=\"1000\" height=\"564\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/464\/544\/396\/4645443963ecac73f29ceef143642aea.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/464\/544\/396\/4645443963ecac73f29ceef143642aea.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 2.<\/strong> \u041f\u043b\u0430\u0442\u0430 SPBot \u2013 \u043d\u0430\u0448\u0435 \u0442\u0435\u043b\u043e<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0439\u043c\u0451\u0442 \u043e\u0434\u0438\u043d \u0432\u0435\u0447\u0435\u0440. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043f\u0443\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439, \u0430 \u043a\u0430\u043a\u043e\u0439 \u2014 \u043b\u043e\u0436\u043d\u044b\u0439, \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c. \u041f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u043b \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u00ab\u043d\u0430\u0441\u0442\u0443\u043f\u0430\u043b \u043d\u0430 \u0433\u0440\u0430\u0431\u043b\u0438\u00bb, \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043b \u043b\u0438\u0448\u043d\u0435\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u044e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c.<\/p>\n<h4>\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0432\u044f\u0437\u043a\u0430 ESP32-CAM + Arduino, \u0430 \u043d\u0435 \u043e\u0434\u0438\u043d ESP32?<\/h4>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441 \u0440\u0435\u0437\u043e\u043d\u043d\u044b\u0439. ESP32-CAM \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 Wi-Fi, \u043a\u0430\u043c\u0435\u0440\u0443 \u0438 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438. \u041f\u0438\u043d\u044b GPIO \u0443 \u043c\u043e\u0434\u0443\u043b\u044f \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c. \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u043e\u0442\u043e\u0440\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e?<\/p>\n<p>\u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u043d\u043e.<\/p>\n<p>ESP32-CAM \u043d\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0449\u043d\u044b\u043c\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f\u043c\u0438). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u043c\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043c\u043e\u0442\u043e\u0440\u043e\u0432, \u0432\u043d\u0435\u0448\u043d\u0435\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435, \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0435\u0439, \u043a\u0443\u0447\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432. \u0410 \u0435\u0449\u0435 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b \u0434\u043b\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u0438, \u0437\u0443\u043c\u043c\u0435\u0440 \u0434\u043b\u044f \u0437\u0432\u0443\u043a\u0430, \u0433\u0438\u0440\u043e\u0441\u043a\u043e\u043f \u0434\u043b\u044f \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438. \u0418\u0442\u043e\u0433 \u2014 \u0441\u0442\u043e\u043b \u0441 \u043f\u0430\u0443\u0442\u0438\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432 \u0438 \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b.<\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u0432\u044f\u0437\u043a\u0443:<\/p>\n<ol>\n<li>\n<p><strong>ESP32-CAM \u2014 \u0433\u043b\u0430\u0437\u0430 \u0438 \u0418\u0418.<\/strong> \u041e\u043d \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0437\u043d\u0430\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p><strong>Arduino-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u043f\u043b\u0430\u0442\u0430 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u043c\u043e\u0442\u043e\u0440\u043e\u0432<\/strong> \u2014 \u0442\u0435\u043b\u043e. \u041e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e UART \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u043c, \u0441\u0432\u0435\u0442\u043e\u043c, \u0437\u0432\u0443\u043a\u043e\u043c.<\/p>\n<\/li>\n<\/ol>\n<h4>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h4>\n<p>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u0430\u044f \u043a\u0430\u043a \u0437\u0430\u043a\u043e\u043d \u041e\u043c\u0430 (\u0440\u0438\u0441. 3).<\/p>\n<ol>\n<li>\n<p><strong>Edge Impulse (\u043e\u0431\u043b\u0430\u043a\u043e):<\/strong> \u041e\u0431\u0443\u0447\u0430\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043a\u0438 \u00ab\u0421\u0442\u043e\u043f\u00bb, \u00ab\u041d\u0430\u043b\u0435\u0432\u043e\u00bb, \u00ab\u041d\u0430\u043f\u0440\u0430\u0432\u043e\u00bb.<\/p>\n<\/li>\n<li>\n<p><strong>ESP32-CAM:<\/strong> \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c. \u041a\u0430\u043c\u0435\u0440\u0430 \u043b\u043e\u0432\u0438\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p><strong>UART (\u043f\u0440\u043e\u0432\u043e\u0434\u0430):<\/strong> ESP32-CAM \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 Arduino \u0441\u0438\u043c\u0432\u043e\u043b\u044b: S (Stop), L (Left), R (Right).<\/p>\n<\/li>\n<li>\n<p><strong>Arduino (SPBot):<\/strong> \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u0437\u0430\u0436\u0438\u0433\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u0446\u0432\u0435\u0442 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430 (\u043a\u0440\u0430\u0441\u043d\u044b\u0439, \u0441\u0438\u043d\u0438\u0439, \u0437\u0435\u043b\u0435\u043d\u044b\u0439).<\/p>\n<\/li>\n<li>\n<p>\u0412\u0441\u0451. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u0441\u0451 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u0420\u043e\u0431\u043e\u0442 \u0441\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u0435\u043d.<\/p>\n<\/li>\n<\/ol>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b70\/531\/622\/b705316227e1920f61051ee11bdb33b6.png\" alt=\"\u0420\u0438\u0441. 3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 ESP32-CAM\" title=\"\u0420\u0438\u0441. 3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 ESP32-CAM\" width=\"1200\" height=\"405\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/b70\/531\/622\/b705316227e1920f61051ee11bdb33b6.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/b70\/531\/622\/b705316227e1920f61051ee11bdb33b6.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 3. <\/strong>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 ESP32-CAM<\/figcaption><\/div>\n<\/figure>\n<p>\u0425\u0432\u0430\u0442\u0438\u0442 \u0442\u0435\u043e\u0440\u0438\u0438, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u0414\u0430\u043b\u044c\u0448\u0435 \u2014 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f. \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e: \u0448\u0430\u0433\u0438 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044f. \u041f\u043e\u0435\u0445\u0430\u043b\u0438.<\/p>\n<h3>\u0428\u0430\u0433 1. \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442: 100 \u0444\u043e\u0442\u043e \u2014 \u0438 \u0433\u043e\u0442\u043e\u0432\u043e<\/h3>\n<p>\u041f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043a\u043e\u043d ML: \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0415\u0441\u043b\u0438 \u0434\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 10 \u0444\u043e\u0442\u043e, \u043e\u043d\u0430 \u043d\u0438\u0447\u0435\u043c\u0443 \u043d\u0435 \u043d\u0430\u0443\u0447\u0438\u0442\u0441\u044f. \u041d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c 50\u2013100 \u0444\u043e\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u043d\u0430\u043a (\u0440\u0438\u0441. 4).<\/p>\n<p>\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0430\u043c ESP32-CAM \u043a\u0430\u043a \u0444\u043e\u0442\u043e\u0430\u043f\u043f\u0430\u0440\u0430\u0442. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 EloquentEsp32cam \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0441\u043a\u0435\u0442\u0447\u0430 Collect_Images_for_EdgeImpulse25.ino \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 ESP32-CAM \u0432 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u0417\u0430\u0445\u043e\u0434\u0438\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0443, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0442\u0435 <strong>Start Collecting<\/strong> \u2014 \u043a\u0430\u043c\u0435\u0440\u0430 \u0441\u043d\u0438\u043c\u0430\u0435\u0442, <strong>Download<\/strong> \u2014 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0435 ZIP \u0441 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043c\u0438.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/00f\/651\/bdd\/00f651bdd8c94a8ecce18ee85c23d903.png\" alt=\"\u0420\u0438\u0441. 4. \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438\" title=\"\u0420\u0438\u0441. 4. \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438\" width=\"1200\" height=\"372\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/00f\/651\/bdd\/00f651bdd8c94a8ecce18ee85c23d903.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/00f\/651\/bdd\/00f651bdd8c94a8ecce18ee85c23d903.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 4.<\/strong> \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438<\/figcaption><\/div>\n<\/figure>\n<p>\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:<\/p>\n<ul>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u043a\u0435\u0442\u0447 \u043d\u0430 ESP32-CAM. \u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435 (\u0441\u0441\u044b\u043b\u043a\u0430 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438).<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c <strong>\u041c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430<\/strong>, \u043d\u0430\u0445\u043e\u0434\u0438\u043c IP-\u0430\u0434\u0440\u0435\u0441 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 192.168.4.1).<\/p>\n<\/li>\n<li>\n<p> \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043f\u043e \u044d\u0442\u043e\u043c\u0443 IP \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0438\u043b\u0438 \u041f\u041a.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0432\u043e\u0434\u0438\u043c \u043a\u0430\u043c\u0435\u0440\u0443 \u043d\u0430 \u0437\u043d\u0430\u043a \u00ab\u0421\u0442\u043e\u043f\u00bb, \u0436\u043c\u0435\u043c <strong>Start Collecting<\/strong>, \u043f\u043e\u0442\u043e\u043c <strong>Download<\/strong> (\u0440\u0438\u0441. 5).<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0434\u043b\u044f \u00ab\u041d\u0430\u043b\u0435\u0432\u043e\u00bb \u0438 \u00ab\u041d\u0430\u043f\u0440\u0430\u0432\u043e\u00bb.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u2014 \u0442\u0440\u0438 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430 \u0441 50\u2013100 \u0444\u043e\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/843\/475\/c04\/843475c043db4181e53cad51c1dcb3db.png\" alt=\"\u0420\u0438\u0441. 5. \u0417\u0430\u0445\u0432\u0430\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 &quot;\u0421\u0442\u043e\u043f&quot; (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f &quot;\u041d\u0430\u043b\u0435\u0432\u043e&quot; \u0438 &quot;\u041d\u0430\u043f\u0440\u0430\u0432\u043e&quot;)\" title=\"\u0420\u0438\u0441. 5. \u0417\u0430\u0445\u0432\u0430\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 &quot;\u0421\u0442\u043e\u043f&quot; (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f &quot;\u041d\u0430\u043b\u0435\u0432\u043e&quot; \u0438 &quot;\u041d\u0430\u043f\u0440\u0430\u0432\u043e&quot;)\" width=\"1200\" height=\"940\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/843\/475\/c04\/843475c043db4181e53cad51c1dcb3db.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/843\/475\/c04\/843475c043db4181e53cad51c1dcb3db.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 5.<\/strong> \u0417\u0430\u0445\u0432\u0430\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 &#171;\u0421\u0442\u043e\u043f&#187; (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f &#171;\u041d\u0430\u043b\u0435\u0432\u043e&#187; \u0438 &#171;\u041d\u0430\u043f\u0440\u0430\u0432\u043e&#187;)<\/figcaption><\/div>\n<\/figure>\n<h3>\u0428\u0430\u0433 2. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0418\u0418 \u0432 Edge Impulse<\/h3>\n<p>\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u043d\u0430 <a href=\"http:\/\/edgeimpulse.com\">edgeimpulse.com<\/a> (\u0442\u0443\u0442 \u0438 \u043d\u0443\u0436\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u0438\u0437 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430). \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><em>\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435<\/em><\/p>\n<p align=\"left\">Edge Impulse \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438\u0437 \u0440\u0435\u0433\u0438\u043e\u043d\u0430, \u0433\u0434\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d, \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c). \u0415\u0441\u043b\u0438 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435\u0442 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 TensorFlow Lite Micro, \u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0447\u0435\u0440\u0435\u0437 Edge Impulse \u043a\u0430\u043a \u0447\u0435\u0440\u0435\u0437 \u0441\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/em><\/p>\n<p align=\"left\">\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Edge Impulse \u0445\u043e\u0440\u043e\u0448\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 (<a href=\"https:\/\/docs.edgeimpulse.com\/\">https:\/\/docs.edgeimpulse.com\/<\/a>)<\/p>\n<p align=\"left\">\u0412 \u043a\u043d\u0438\u0433\u0435 &#171;<a href=\"https:\/\/bhv.ru\/product\/iskusstvennyj-intellekt-dlya-periferijnyh-ustrojstv-osvaivaem-vstraivaemye-sistemy-dlya-mashinnogo-obucheniya?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=bhv_20260608\">\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432: \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f<\/a>&#171;, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Edge Impulse, \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 EdgeImpulse.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/036\/dd2\/aa1\/036dd2aa188e4ceedbcabe14d08a8e5d.png\" width=\"400\" height=\"565\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/036\/dd2\/aa1\/036dd2aa188e4ceedbcabe14d08a8e5d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/036\/dd2\/aa1\/036dd2aa188e4ceedbcabe14d08a8e5d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h4>2.1. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0442\u0440\u0438 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0448\u0430\u0433\u0435 1, \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Data Acquisition <\/strong>(\u0440\u0438\u0441. 6). \u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0442\u043a\u0438 (stop, left, right).<\/p>\n<p>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Edge Impulse \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u0438\u043f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u2014 \u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u043c <strong>Yes<\/strong>. Object Detection \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0437\u043d\u0430\u043a \u0446\u0435\u043b\u0438\u043a\u043e\u043c (\u0432 \u0440\u0430\u043c\u043a\u0435), \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0451\u0442. \u041d\u0435\u0442 \u0437\u043d\u0430\u043a\u0430 \u2014 \u043d\u0435\u0442 \u0440\u0430\u043c\u043a\u0438. \u041e\u0431\u044b\u0447\u043d\u0430\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u043d\u0430\u0448 \u0437\u043d\u0430\u043a \u0434\u0430\u0436\u0435 \u043f\u043e \u043a\u0443\u0441\u043e\u0447\u043a\u0443 \u0441\u0442\u0435\u043d\u044b \u2014 \u0438 \u043e\u0448\u0438\u0431\u0430\u0442\u044c\u0441\u044f.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/74e\/016\/219\/74e0162197d7b9ebc2220fe7c7695113.png\" alt=\"\u0420\u0438\u0441. 6. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445\" title=\"\u0420\u0438\u0441. 6. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445\" width=\"1200\" height=\"756\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/74e\/016\/219\/74e0162197d7b9ebc2220fe7c7695113.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/74e\/016\/219\/74e0162197d7b9ebc2220fe7c7695113.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 6. <\/strong>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/figcaption><\/div>\n<\/figure>\n<h4>2.2. \u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u0431\u0432\u0435\u0441\u0442\u0438 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u0437\u043d\u0430\u043a\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0444\u043e\u0442\u043e. \u041d\u0443\u0434\u043d\u043e, \u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u041d\u0430 150 \u0444\u043e\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u0443\u0448\u043b\u043e 20 \u043c\u0438\u043d\u0443\u0442. \u0421\u043e\u0432\u0435\u0442: \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0440\u0430\u043c\u043a\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438, \u043f\u043b\u043e\u0442\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0430\u044e\u0449\u0438\u043c\u0438 \u0437\u043d\u0430\u043a (\u0440\u0438\u0441. 7).<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7cd\/e9f\/c18\/7cde9fc189193540481ce9e9eb0a089c.png\" alt=\"\u0420\u0438\u0441. 7. \u0420\u0443\u0447\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432\" title=\"\u0420\u0438\u0441. 7. \u0420\u0443\u0447\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432\" width=\"1200\" height=\"1013\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/7cd\/e9f\/c18\/7cde9fc189193540481ce9e9eb0a089c.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/7cd\/e9f\/c18\/7cde9fc189193540481ce9e9eb0a089c.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 7. <\/strong>\u0420\u0443\u0447\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432<\/figcaption><\/div>\n<\/figure>\n<h4>2.3. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 \u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435. \u0412 Edge Impulse \u0435\u0441\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u00ab\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u00bb (Impulse) \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u0448\u0438 \u0444\u043e\u0442\u043e) \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u044f\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d \u0432 \u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 (\u0440\u0438\u0441. 8):<\/p>\n<ul>\n<li>\n<p><strong>Input block:<\/strong> Image data (\u0440\u0430\u0437\u043c\u0435\u0440 48\u00d748 \u0438\u043b\u0438 96\u00d796. \u042f \u0432\u044b\u0431\u0440\u0430\u043b 48\u00d748 \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438).<\/p>\n<\/li>\n<li>\n<p><strong>Processing block<\/strong>: Image (\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438).<\/p>\n<\/li>\n<li>\n<p><strong>Learning block:<\/strong> Object Detection (Images) \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u043e\u0438\u0441\u043a \u0437\u043d\u0430\u043a\u043e\u0432 \u0441 \u0440\u0430\u043c\u043a\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/105\/e62\/fd2\/105e62fd2d1eeb2af8c7c377d73e22df.png\" alt=\"\u0420\u0438\u0441. 8. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 (\u0431\u043b\u043e\u043a\u0438 Input, Processing \u0438 Learning)\" title=\"\u0420\u0438\u0441. 8. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 (\u0431\u043b\u043e\u043a\u0438 Input, Processing \u0438 Learning)\" width=\"1200\" height=\"788\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/105\/e62\/fd2\/105e62fd2d1eeb2af8c7c377d73e22df.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/105\/e62\/fd2\/105e62fd2d1eeb2af8c7c377d73e22df.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 8. <\/strong>\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 (\u0431\u043b\u043e\u043a\u0438 Input, Processing \u0438 Learning)<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u043c\u043f\u0443\u043b\u044c\u0441 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b <strong>Object detection<\/strong>. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<\/p>\n<ul>\n<li>\n<p><strong>Number of training cycles<\/strong>: 30 \u044d\u043f\u043e\u0445 (\u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0445\u043e\u0434 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u043c).<\/p>\n<\/li>\n<li>\n<p><strong>Learning rate<\/strong>: 0.001 (\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u2014 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u0441\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435).<\/p>\n<\/li>\n<li>\n<p><strong>Neural network architecture<\/strong>: MobileNetV2 0.35 \u2014 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f ESP32.<\/p>\n<\/li>\n<li>\n<p>\u0416\u043c\u0451\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Start training<\/strong>. \u0427\u0435\u0440\u0435\u0437 10\u201315 \u043c\u0438\u043d\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0423 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c F1-score = 97.8% (\u0440\u0438\u0441. 9).<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fa7\/f2c\/8da\/fa7f2c8da48907fcce32a4120c461046.png\" alt=\"\u0420\u0438\u0441. 9. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 (F1-Score 97,8%)\" title=\"\u0420\u0438\u0441. 9. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 (F1-Score 97,8%)\" width=\"1200\" height=\"857\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/fa7\/f2c\/8da\/fa7f2c8da48907fcce32a4120c461046.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/fa7\/f2c\/8da\/fa7f2c8da48907fcce32a4120c461046.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 9. <\/strong>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 (F1-Score 97,8%)<\/figcaption><\/div>\n<\/figure>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/em><\/p>\n<p align=\"left\">\u0415\u0441\u043b\u0438 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u043e\u0440\u0438\u0438 \u2014 \u043d\u0435\u0439\u0440\u043e\u043d\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438, \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u044b\u0439 \u0441\u043f\u0443\u0441\u043a, TinyML \u2014 \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043e \u0432 \u043a\u043d\u0438\u0433\u0435 \u00ab<a href=\"https:\/\/bhv.ru\/product\/mobilnye-roboty-s-iskusstvennym-intellektom-na-baze-arduino-4-e-izdanie\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=bhv_20260608\">\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u043e\u0431\u043e\u0442\u044b \u0441 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 Arduino<\/a>\u00bb (4-\u0435 \u0438\u0437\u0434\u0430\u043d\u0438\u0435). \u0422\u0430\u043c \u0436\u0435 \u2014 \u043f\u043e\u043b\u043d\u044b\u0435 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0438 \u0438 \u0441\u0445\u0435\u043c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u0430\u0440\u043a\u0430\u0441 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ae9\/adf\/e8f\/ae9adfe8f45c783f71bcdbe6f9733592.png\" width=\"479\" height=\"679\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ae9\/adf\/e8f\/ae9adfe8f45c783f71bcdbe6f9733592.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ae9\/adf\/e8f\/ae9adfe8f45c783f71bcdbe6f9733592.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<h4>2.4. \u0411\u043e\u043d\u0443\u0441: \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0435 (\u0431\u0435\u0437 ESP32!)<\/h4>\n<p>\u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0449\u0435 \u043d\u0435\u0442 ESP32-CAM \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439, \u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441?<\/p>\n<p>Edge Impulse \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u2014 \u043a\u0430\u043c\u0435\u0440\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0438 \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 (\u0438\u043b\u0438 \u044f\u0431\u043b\u043e\u043a\u0438 \u0441 \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d\u0430\u043c\u0438) \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430.<\/p>\n<p>\u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/p>\n<ul>\n<li>\n<p>\u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Edge Impulse \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b <strong>Deployment<\/strong>.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 <strong>Mobile App \u2192 Build<\/strong>. Edge Impulse \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 APK-\u0444\u0430\u0439\u043b (\u0434\u043b\u044f Android) \u0438\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0434\u043b\u044f iOS.<\/p>\n<\/li>\n<li>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d (\u0434\u043b\u044f Android \u2014 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438\u0437 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432).<\/p>\n<\/li>\n<li>\n<p>\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0432 \u0441\u0432\u043e\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 Edge Impulse.<\/p>\n<\/li>\n<li>\n<p>\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u0430\u043c\u0435\u0440\u0443 \u043d\u0430 \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0439 \u0437\u043d\u0430\u043a<\/p>\n<\/li>\n<\/ul>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0447\u043d\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f bounding boxes \u0441 \u043c\u0435\u0442\u043a\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u043c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f. \u041c\u043e\u0436\u0435\u0442\u0435 \u043a\u0440\u0443\u0442\u0438\u0442\u044c \u0437\u043d\u0430\u043a \u0432 \u0440\u0443\u043a\u0430\u0445, \u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0441\u0432\u0435\u0449\u0435\u043d\u0438\u0435, \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0430\u043a\u0443\u0440\u0441\u044b \u2014 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0435\u0433\u043e \u0443\u0437\u043d\u0430\u0442\u044c (\u0440\u0438\u0441. 10).<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1cd\/bf5\/afd\/1cdbf5afd288e46f9a64f220948eb282.png\" alt=\"\u0420\u0438\u0441. 10. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435\" title=\"\u0420\u0438\u0441. 10. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435\" width=\"1200\" height=\"656\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1cd\/bf5\/afd\/1cdbf5afd288e46f9a64f220948eb282.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1cd\/bf5\/afd\/1cdbf5afd288e46f9a64f220948eb282.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 10. <\/strong>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435<\/figcaption><\/div>\n<\/figure>\n<p>\u041a\u043e\u0433\u0434\u0430 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0437\u043d\u0430\u043a\u0438 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e (\u043f\u043e\u0440\u043e\u0433 &gt;0.7\u20130.8), \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u043b\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0432 Arduino library \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043d\u0430 ESP32-CAM \u2014 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435.<\/p>\n<blockquote>\n<p><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/em><\/p>\n<p>\u0412 \u0433\u043b\u0430\u0432\u0435 16 \u043a\u043d\u0438\u0433\u0438 (\u00ab\u0410\u0432\u0442\u043e\u043f\u0438\u043b\u043e\u0442 \u043d\u0430 Edge Impulse \u0438 ESP32-CAM\u00bb) \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<\/blockquote>\n<h3>\u0428\u0430\u0433 3. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c ESP32-CAM: \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c UART<\/h3>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0430 \u0438 \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430, \u0435\u0451 \u043d\u0443\u0436\u043d\u043e \u00ab\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u00bb \u0432 ESP32-CAM. Edge Impulse \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u044d\u043b\u0435\u0433\u0430\u043d\u0442\u043d\u043e \u2014 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442 \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0434\u043b\u044f Arduino.<\/p>\n<h4>3.1. \u042d\u043a\u0441\u043f\u043e\u0440\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/h4>\n<p>\u0412 \u043b\u0435\u0432\u043e\u043c \u043c\u0435\u043d\u044e Edge Impulse \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <strong>Deployment<\/strong> (\u0420\u0430\u0437\u0432\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435). \u041d\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 <strong>Arduino library<\/strong>. \u0427\u0443\u0442\u044c \u043d\u0438\u0436\u0435 \u0436\u043c\u0451\u043c <strong>Change target<\/strong> \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c Espressif ESP-EYE (ESP32 240 MHz).<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 ESP-EYE, \u0435\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u043f\u043b\u0430\u0442\u0430 AI-Thinker? \u042d\u0442\u043e \u043d\u0435 \u043e\u0448\u0438\u0431\u043a\u0430. ESP-EYE \u2014 \u044d\u0442\u0430\u043b\u043e\u043d\u043d\u0430\u044f \u043f\u043b\u0430\u0442\u0430 ESP32 \u0441 \u043a\u0430\u043c\u0435\u0440\u043e\u0439 \u043e\u0442 Espressif. \u0423 \u043d\u0435\u0451 \u0438 AI-Thinker \u2014 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u0438\u043d\u043e\u0432 \u043a\u0430\u043c\u0435\u0440\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442.<\/p>\n<p>\u0416\u043c\u0451\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <strong>Build<\/strong>. \u0427\u0435\u0440\u0435\u0437 \u043c\u0438\u043d\u0443\u0442\u0443 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f ZIP-\u0430\u0440\u0445\u0438\u0432 \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439.<\/p>\n<h4>3.2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432 Arduino IDE<\/h4>\n<p>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c Arduino IDE. \u0418\u0434\u0451\u043c \u0432 \u043c\u0435\u043d\u044e <strong>\u0421\u043a\u0435\u0442\u0447 \u2192 \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u2192 \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c .ZIP \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443<\/strong> \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0441\u043a\u0430\u0447\u0430\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432. \u0412\u0441\u0451, \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430.<\/p>\n<h4>3.3. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440<\/h4>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432 \u0441\u0440\u0435\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Arduino IDE \u0432 \u043c\u0435\u043d\u044e <strong>\u0424\u0430\u0439\u043b \u2192 \u041f\u0440\u0438\u043c\u0435\u0440\u044b<\/strong> \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0430\u043f\u043a\u0430 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430. <strong>\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0424\u0430\u0439\u043b \u2192 \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u2192 [\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430] \u2192 esp32_camera<\/strong>.<\/p>\n<p>\u042d\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0441\u043a\u0435\u0442\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0439:<\/p>\n<ul>\n<li>\n<p>\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u043c\u0435\u0440\u0443.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442 \u043d\u0430\u0448\u0443 \u043c\u043e\u0434\u0435\u043b\u044c.<\/p>\n<\/li>\n<li>\n<p> \u0417\u0430\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u0442 \u0435\u0433\u043e \u0447\u0435\u0440\u0435\u0437 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c.<\/p>\n<\/li>\n<\/ul>\n<p>\u041e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0435\u0433\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u2014 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u0430\u043c\u0435\u0440\u0443 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u043e UART \u043d\u0430 Arduino.<\/p>\n<h4>3.4. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0441\u043a\u0435\u0442\u0447\u0435<\/h4>\n<p>\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0432 \u0441\u043a\u0435\u0442\u0447\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<p><strong>1.<\/strong> \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0448\u0443 \u043f\u043b\u0430\u0442\u0443 AI-Thinker, \u0430 \u043d\u0435 ESP-EYE.<\/p>\n<pre><code class=\"cpp\">\/\/ #define CAMERA_MODEL_ESP_EYE \u00a0 \/\/ \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c#define CAMERA_MODEL_AI_THINKER \u00a0 \/\/ \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>2. <\/strong>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u044b\u0439 UART \u0434\u043b\u044f \u0441\u0432\u044f\u0437\u0438 \u0441 Arduino.<\/p>\n<ul>\n<li>\n<p>\u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u043a\u0435\u0442\u0447\u0430 (\u0442\u0430\u043c, \u0433\u0434\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 #define) \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c:<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"cpp\">#define RXD1 14 \u00a0 \/\/ \u043f\u0438\u043d \u043f\u0440\u0438\u0451\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (RX) \u2014 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u0437\u0430\u0434\u0430\u0451\u043c#define TXD1 15 \u00a0 \/\/ \u043f\u0438\u043d \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (TX) \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u043e \u043d\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<ul>\n<li>\n<p>\u0412 \u0431\u043b\u043e\u043a\u0435 setup() \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Serial1 \u043d\u0430 \u043f\u0438\u043d\u0430\u0445 14 \u0438 15 \u0441\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c\u044e 9600 \u0431\u043e\u0434:<\/p>\n<\/li>\n<\/ul>\n<pre><code class=\"cpp\">Serial1.begin(9600, SERIAL_8N1, RXD1, TXD1);pinMode(FLASH_GPIO_NUM, OUTPUT); \u00a0 \/\/ \u0433\u043e\u0442\u043e\u0432\u0438\u043c \u0432\u0441\u043f\u044b\u0448\u043a\u0443<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p><strong>3.<\/strong> \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u0437\u043d\u0430\u043a\u0430.<\/p>\n<pre><code class=\"cpp\">#if EI_CLASSIFIER_OBJECT_DETECTION == 1for (uint32_t i = 0; i &lt; result.bounding_boxes_count; i++) {\u00a0\u00a0\u00a0\u00a0ei_impulse_result_bounding_box_t bb = result.bounding_boxes[i];\u00a0\u00a0\u00a0\u00a0if (bb.value == 0) continue; \u00a0 \/\/ \u0435\u0441\u043b\u0438 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u043d\u0443\u043b\u0435\u0432\u0430\u044f \u2014 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0432\u0441\u043f\u044b\u0448\u043a\u0443 \u043d\u0430 0.2 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u2014 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043a\u043b\u0438\u043a, \u0447\u0442\u043e \u0437\u043d\u0430\u043a \u043d\u0430\u0439\u0434\u0435\u043d\u00a0\u00a0\u00a0\u00a0digitalWrite(FLASH_GPIO_NUM, HIGH);\u00a0\u00a0\u00a0\u00a0delay(200);\u00a0\u00a0\u00a0\u00a0digitalWrite(FLASH_GPIO_NUM, LOW);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\/ \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0430 Arduino \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043c\u0435\u0442\u043a\u0438 \u0437\u043d\u0430\u043a\u0430\u00a0\u00a0\u00a0\u00a0if (strcmp(bb.label, \"stop\") == 0) {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial1.print('S');\u00a0 \/\/ \u0421\u0442\u043e\u043f\u00a0\u00a0\u00a0\u00a0} else if (strcmp(bb.label, \"left\") == 0) {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial1.print('L');\u00a0 \/\/ \u041d\u0430\u043b\u0435\u0432\u043e\u00a0\u00a0\u00a0\u00a0} else if (strcmp(bb.label, \"right\") == 0) {\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Serial1.print('R');\u00a0 \/\/ \u041d\u0430\u043f\u0440\u0430\u0432\u043e\u00a0\u00a0\u00a0\u00a0}}#endif<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<blockquote>\n<p><em>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/em><\/p>\n<p>\u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u043a\u0435\u0442\u0447\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435 \u043a\u043d\u0438\u0433\u0438 \u00ab<a href=\"https:\/\/bhv.ru\/product\/mobilnye-roboty-s-iskusstvennym-intellektom-na-baze-arduino-4-e-izdanie\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=bhv_20260608\">\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u043e\u0431\u043e\u0442\u044b \u0441 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 Arduino, 4-\u0435 \u0438\u0437\u0434\u0430\u043d\u0438\u0435<\/a>\u00bb, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0442\u0443\u0442 (<a href=\"https:\/\/zip.bhv.ru\/9785977520720.zip\">https:\/\/zip.bhv.ru\/9785977520720.zip<\/a>) \u0432 \u043f\u0430\u043f\u043a\u0435 <strong>\u041b\u0438\u0441\u0442\u0438\u043d\u0433\u0438\u00a0 \u2192 listing_16_01<\/strong>.<\/p>\n<\/blockquote>\n<p>\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u043a\u0435\u0442\u0447 \u0432 ESP32-CAM. \u0413\u043e\u0442\u043e\u0432\u043e!<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c ESP32-CAM \u0443\u043c\u0435\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043a\u0438 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u0443 \u043d\u0430 \u043f\u043b\u0430\u0442\u0443 Arduino Uno (SPBot).<\/p>\n<h3>\u0428\u0430\u0433 4. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c \u043f\u043b\u0430\u0442\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f (Arduino\/SPBot)<\/h3>\n<p>Arduino \u0434\u043e\u043b\u0436\u043d\u0430 \u0441\u043b\u0443\u0448\u0430\u0442\u044c \u043f\u043e\u0440\u0442 UART \u0438 \u0437\u0430\u0436\u0438\u0433\u0430\u0442\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434. \u0421\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f (\u0442\u043e\u043b\u044c\u043a\u043e TX!) \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u043d\u0430 \u0440\u0438\u0441. 11:<\/p>\n<ul>\n<li>\n<p>ESP32-CAM GPIO15 (TX1) \u2192 Arduino Pin 10 (RX SoftwareSerial)<\/p>\n<\/li>\n<li>\n<p>GND ESP32-CAM \u2192 GND Arduino<\/p>\n<\/li>\n<\/ul>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d52\/65c\/345\/d5265c345c4baf7fa4b0eb785c3a5e15.png\" alt=\"\u0420\u0438\u0441. 11. \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c RGB\" title=\"\u0420\u0438\u0441. 11. \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c RGB\" width=\"1200\" height=\"1130\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/d52\/65c\/345\/d5265c345c4baf7fa4b0eb785c3a5e15.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/d52\/65c\/345\/d5265c345c4baf7fa4b0eb785c3a5e15.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 11.<\/strong> \u0424\u0438\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c RGB<\/figcaption><\/div>\n<\/figure>\n<blockquote>\n<p><em>\u0412\u0430\u0436\u043d\u043e:<\/em>\u00a0<\/p>\n<p>ESP32-CAM \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 3.3 \u0412, \u0430 Arduino \u2014 \u043d\u0430 5 \u0412. \u0421\u0438\u0433\u043d\u0430\u043b \u00ab1\u00bb \u043e\u0442 ESP32-CAM \u2014 \u044d\u0442\u043e 3.3 \u0412, \u043d\u043e \u0434\u043b\u044f Arduino \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0435\u0434\u0438\u043d\u0438\u0446\u0435\u0439.\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0434\u043d\u043e\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u0430\u044f (\u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 ESP \u043a Arduino), \u0430 \u043f\u0438\u043d\u044b \u043f\u0440\u0438\u0451\u043c\u0430 \u043d\u0430 ESP32-CAM \u043d\u0435 \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 5 \u0412 \u0438 \u043d\u0435 \u0432\u044b\u0439\u0434\u0435\u0442 \u0438\u0437 \u0441\u0442\u0440\u043e\u044f.  <\/p>\n<\/blockquote>\n<p>\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f Arduino (\u043b\u0438\u0441\u0442\u0438\u043d\u0433 Arduino_ESP32_RGB.ino):<\/p>\n<pre><code class=\"cpp\">#include &lt;SoftwareSerial.h&gt;\/\/ \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 UART \u043d\u0430 \u043f\u0438\u043d\u0430\u0445 10 (RX) \u0438 11 (TX)\/\/ \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e RX (\u043f\u0438\u043d 10) \u0434\u043b\u044f \u043f\u0440\u0438\u0435\u043c\u0430 \u043e\u0442 ESP32-CAMSoftwareSerial espSerial(10, 11);\/\/ \u041f\u0438\u043d\u044b RGB-\u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430 (\u043e\u0431\u0449\u0438\u0439 \u043a\u0430\u0442\u043e\u0434, \u0428\u0418\u041c-\u043f\u0438\u043d\u044b)#define RED_PIN   3#define GREEN_PIN 5#define BLUE_PIN  6void setup() {    Serial.begin(9600);         \/\/ \u041e\u0442\u043b\u0430\u0434\u043a\u0430 \u0432 \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430    espSerial.begin(9600);      \/\/ \u0421\u0432\u044f\u0437\u044c \u0441 ESP32-CAM        pinMode(RED_PIN, OUTPUT);    pinMode(GREEN_PIN, OUTPUT);    pinMode(BLUE_PIN, OUTPUT);        \/\/ \u0413\u0430\u0441\u0438\u043c \u0432\u0441\u0435 \u0446\u0432\u0435\u0442\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435    analogWrite(RED_PIN, 0);    analogWrite(GREEN_PIN, 0);    analogWrite(BLUE_PIN, 0);        Serial.println(\"Arduino ready. Waiting for commands...\");}void loop() {    if (espSerial.available()) {        char cmd = espSerial.read();                \/\/ \u041e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434        Serial.print(\"Command received: \");        Serial.println(cmd);                \/\/ \u0421\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0446\u0432\u0435\u0442\u0430        analogWrite(RED_PIN, 0);        analogWrite(GREEN_PIN, 0);        analogWrite(BLUE_PIN, 0);                \/\/ \u041e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443        switch (cmd) {            case 'S':  \/\/ Stop \u2014 \u043a\u0440\u0430\u0441\u043d\u044b\u0439                analogWrite(RED_PIN, 255);                Serial.println(\"STOP detected! RED LED ON\");                break;                            case 'L':  \/\/ Left \u2014 \u0441\u0438\u043d\u0438\u0439                analogWrite(BLUE_PIN, 255);                Serial.println(\"LEFT detected! BLUE LED ON\");                break;                            case 'R':  \/\/ Right \u2014 \u0437\u0435\u043b\u0435\u043d\u044b\u0439                analogWrite(GREEN_PIN, 255);                Serial.println(\"RIGHT detected! GREEN LED ON\");                break;                            default:                Serial.print(\"Unknown command: \");                Serial.println(cmd);                break;        }    }}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h3>\u0428\u0430\u0433 5. \u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443<\/h3>\n<p>\u0412\u044b \u043e\u0431\u0443\u0447\u0438\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c, \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u0435\u0451 \u0432 ESP32-CAM, \u0437\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u0438 Arduino. \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u043a\u043e\u043b\u0451\u0441\u0430.<\/p>\n<p>\u041c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u043e\u0434\u0438\u0442\u044c \u043b\u0438\u0441\u0442\u043e\u043c \u0431\u0443\u043c\u0430\u0433\u0438 \u0441\u043e \u0437\u043d\u0430\u043a\u043e\u043c \u043f\u0435\u0440\u0435\u0434 \u043a\u0430\u043c\u0435\u0440\u043e\u0439. \u041d\u043e \u044f \u043f\u043e\u0448\u0451\u043b \u0434\u0430\u043b\u044c\u0448\u0435 \u2014 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Scratch (\u0434\u0430, \u0442\u043e\u043c \u0441\u0430\u043c\u043e\u043c, \u0434\u0435\u0442\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f).<\/p>\n<h4>\u041f\u043e\u0447\u0435\u043c\u0443 Scratch?<\/h4>\n<ul>\n<li>\n<p>\u041d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u044b\u0439 GUI \u043d\u0430 Python \u0438\u043b\u0438 JavaScript.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0437\u0430 10 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b: \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u043e\u0432, \u0438\u0445 \u0442\u0438\u043f, \u043f\u043e\u0440\u044f\u0434\u043e\u043a.<\/p>\n<\/li>\n<\/ul>\n<p>\u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430 \u0438\u043b\u0438 \u043f\u043b\u0430\u043d\u0448\u0435\u0442\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u00ab\u0434\u043e\u0440\u043e\u0433\u0430\u00bb \u2014 \u0434\u0432\u0438\u0436\u0443\u0449\u0430\u044f\u0441\u044f \u043f\u043e\u043b\u043e\u0441\u0430 \u0441 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439. \u041d\u0430 \u043d\u0435\u0439 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0438\u0437 \u0442\u0440\u0451\u0445 \u0437\u043d\u0430\u043a\u043e\u0432: \u00ab\u0421\u0442\u043e\u043f\u00bb, \u00ab\u041d\u0430\u043b\u0435\u0432\u043e\u00bb \u0438\u043b\u0438 \u00ab\u041d\u0430\u043f\u0440\u0430\u0432\u043e\u00bb (\u0440\u0438\u0441. 12).<\/p>\n<p>\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435<a href=\"https:\/\/scratch.mit.edu\/projects\/1322386761\"> https:\/\/scratch.mit.edu\/projects\/1322386761<\/a>.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7b\/c6a\/466\/c7bc6a466910de1a3a3faee7dba51323.png\" alt=\"\u0420\u0438\u0441. 12. \u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Scratch \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\" title=\"\u0420\u0438\u0441. 12. \u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Scratch \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\" width=\"1200\" height=\"871\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/c7b\/c6a\/466\/c7bc6a466910de1a3a3faee7dba51323.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/c7b\/c6a\/466\/c7bc6a466910de1a3a3faee7dba51323.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 12.<\/strong> \u0421\u043a\u0440\u0438\u043d\u0448\u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Scratch \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<h4>\u041a\u0430\u043a \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/h4>\n<ol>\n<li>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u0430\u043c\u0435\u0440\u0443 ESP32-CAM \u043d\u0430 \u044d\u043a\u0440\u0430\u043d.<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u043d\u0430\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>ESP32-CAM \u0438\u0445 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0451\u0442 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043d\u0430 Arduino.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u0437\u0430\u0433\u043e\u0440\u0430\u0435\u0442\u0441\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u0446\u0432\u0435\u0442\u043e\u043c.<\/p>\n<\/li>\n<\/ol>\n<p>\u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043f\u043e\u0434\u0432\u0438\u0436\u043d\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u0437\u043d\u0430\u0451\u0442 \u0437\u043d\u0430\u043a\u0438 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e, \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e 97.8%. \u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434 \u0437\u0430\u0433\u043e\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u043c \u0446\u0432\u0435\u0442\u043e\u043c, \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u043e\u0447\u0442\u0438 \u043d\u0435\u0442.<\/p>\n<p>\u0410 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442 \u0432 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u0435 \u0436\u0435 \u0437\u043d\u0430\u043a\u0438, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u0443\u0447\u0430\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c. \u0418 \u0442\u0443\u0442 \u043d\u0430\u0447\u0430\u043b\u0438\u0441\u044c \u043d\u044e\u0430\u043d\u0441\u044b (\u043e\u0431 \u044d\u0442\u043e\u043c \u2014 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b\u0435).<\/p>\n<p><strong>\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435? \u0427\u0435\u0441\u0442\u043d\u043e \u043e\u0431 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u0448\u0435\u0440\u043e\u0445\u043e\u0432\u0430\u0442\u043e\u0441\u0442\u044f\u0445<\/strong><\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043a\u0438 \u043d\u0430 \u0445\u043e\u0434\u0443 (\u0440\u043e\u0431\u043e\u0442 \u0435\u0434\u0435\u0442, \u043a\u0430\u043c\u0435\u0440\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0432\u043f\u0435\u0440\u0451\u0434), \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0442\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0445\u0443\u0436\u0435. \u0420\u043e\u0431\u043e\u0442 \u0438\u043d\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0435\u0437\u0436\u0430\u0435\u0442 \u043c\u0438\u043c\u043e \u0437\u043d\u0430\u043a\u0430, \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0432 \u0435\u0433\u043e, \u0438\u043b\u0438 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u043e\u0439.<\/p>\n<p>\u041f\u043e\u0447\u0435\u043c\u0443 \u0442\u0430\u043a \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442? \u0414\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438:<\/p>\n<ol>\n<li>\n<p><strong>\u0414\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0430\u0437\u043c\u044b\u0442\u0438\u0435<\/strong> \u2014 \u043a\u0430\u043c\u0435\u0440\u0430 \u00ab\u0441\u043c\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u00bb \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0438. \u041d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u043d\u0435 \u0443\u0441\u043f\u0435\u0432\u0430\u0435\u0442 \u00ab\u043f\u043e\u0439\u043c\u0430\u0442\u044c\u00bb \u0447\u0451\u0442\u043a\u0438\u0439 \u043a\u0430\u0434\u0440.<\/p>\n<\/li>\n<li>\n<p><strong>\u041f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/strong> \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e ESP32-CAM \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0435\u0441\u043b\u0438 \u0440\u043e\u0431\u043e\u0442 \u0435\u0434\u0435\u0442 \u0431\u044b\u0441\u0442\u0440\u043e.<\/p>\n<\/li>\n<\/ol>\n<p>\u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u043c (\u0438 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b):<\/p>\n<ul>\n<li>\n<p>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0438\u0447\u0435\u0441\u043a\u0438: \u043f\u0440\u0438\u0442\u043e\u0440\u043c\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u0437\u043d\u0430\u043a\u043e\u043c, \u0441\u043d\u0438\u0436\u0430\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0432 \u0437\u043e\u043d\u0430\u0445 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f. \u042d\u0442\u043e \u0443\u0436\u0435 \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442.<\/p>\n<\/li>\n<li>\n<p>&#171;\u0416\u0435\u043b\u0435\u0437\u043d\u043e&#187;: \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c ESP32-CAM-<strong>S3<\/strong> \u2014 \u0443 \u043d\u0435\u0433\u043e \u0434\u0432\u0430 \u044f\u0434\u0440\u0430, \u0432\u044b\u0448\u0435 \u0442\u0430\u043a\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0438 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 (\u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438). \u0421 \u043d\u0438\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u00ab\u043d\u0430 \u0445\u043e\u0434\u0443\u00bb \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u0442\u0430\u0442\u044c \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0435\u0435 (\u0422\u0430\u0431\u043b\u0438\u0446\u0430 1).<\/p>\n<\/li>\n<\/ul>\n<p><em>\u0422\u0430\u0431\u043b. 1. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u043c ESP32-CAM \u0438 ESP32-CAM S3<\/em><\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f ESP32-CAM<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>ESP32-CAM-S3<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"left\"><strong>\u041f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e S3<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/p>\n<\/td>\n<td>\n<p align=\"left\">Xtensa Dual-core LX6 (\u0434\u043e 240 \u041c\u0413\u0446)<\/p>\n<\/td>\n<td>\n<p align=\"left\">Xtensa Dual-core LX7 (\u0434\u043e 240 \u041c\u0413\u0446)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u043e\u0432\u0435\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0410\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 \u0418\u0418<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041d\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430 (\u0432\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u044b\u0441\u0442\u0440\u0435\u0435 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043b\u0438\u0446\/\u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043a\u0430\u043c\u0435\u0440\u044b<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0439 \/ MIPI CSI<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0448\u0435 \u0432\u044b\u0431\u043e\u0440 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u043c\u0430\u0442\u0440\u0438\u0446<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Bluetooth<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0435\u0440\u0441\u0438\u044f 4.2 BR\/EDR<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0435\u0440\u0441\u0438\u044f 5.0 (BLE)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u0430\u043b\u044c\u043d\u043e\u0431\u043e\u0439\u043d\u0435\u0435, \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u0435\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">USB<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0427\u0435\u0440\u0435\u0437 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c USB-UART<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 USB-OTG<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041f\u0440\u043e\u0448\u0438\u0432\u043a\u0430 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0447\u0435\u0440\u0435\u0437 Type-C<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041f\u0430\u043c\u044f\u0442\u044c (PSRAM)<\/p>\n<\/td>\n<td>\n<p align=\"left\">4 \u041c\u0411<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0414\u043e 8 \u041c\u0411 (\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043c\u043e\u0434\u0435\u043b\u0438)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u043e\u043b\u044c\u0448\u0435 \u0431\u0443\u0444\u0435\u0440 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u042d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0412\u044b\u0441\u043e\u043a\u043e\u0435 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0441 Wi-Fi)<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u0443\u043b\u0443\u0447\u0448\u0435\u043d \u00ab\u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0439 \u0441\u043e\u043d\u00bb<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0411\u043e\u043b\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0430\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u041d\u043e \u0434\u0430\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441, \u043d\u0430 \u0441\u0442\u0430\u0446\u0438\u043e\u043d\u0430\u0440\u0435, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0430\u0451\u0442 97.8% \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0410 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u0433\u0434\u0435 \u0440\u043e\u0431\u043e\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043c\u0447\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u043c\u0435\u043d\u044f \u0432 \u043f\u043b\u0430\u043d\u0430\u0445:<\/p>\n<ul>\n<li>\n<p>\u0421\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u043e\u0432 \u0432\u043e\u0434\u044b \u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u2014 \u043a\u0430\u043c\u0435\u0440\u0443 \u0440\u0430\u0437 \u0432 \u0434\u0435\u043d\u044c \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430, \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0451\u0442 \u0446\u0438\u0444\u0440\u044b \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 Telegram (\u0438\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432 \u043b\u043e\u0433).<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u0430\u0437\u043e\u0432\u0443\u044e \u043f\u043b\u0438\u0442\u0443 \u0438 \u0432\u043e\u0434\u0443 \u2014 \u043a\u0430\u043c\u0435\u0440\u0430 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u043d\u0430 \u0433\u0430\u0437\u043e\u0432\u0443\u044e \u043f\u043b\u0438\u0442\u0443 \u0438 \u0440\u0430\u043a\u043e\u0432\u0438\u043d\u0443 \u043d\u0430 \u043a\u0443\u0445\u043d\u0435 (\u0433\u043e\u0440\u0438\u0442\/\u043d\u0435 \u0433\u043e\u0440\u0438\u0442, \u0442\u0435\u0447\u0451\u0442\/\u043d\u0435 \u0442\u0435\u0447\u0451\u0442) \u0438 \u043f\u0440\u0438\u0441\u044b\u043b\u0430\u0435\u0442 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0437\u0430\u0431\u044b\u043b\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c.<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0439 \u0443\u0442\u044e\u0433 \u0438\u043b\u0438 \u043e\u0431\u043e\u0433\u0440\u0435\u0432\u0430\u0442\u0435\u043b\u044c \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0443\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0437 \u0434\u043e\u043c\u0430 \u0441 \u0440\u0438\u0441\u043a\u043e\u043c \u043f\u043e\u0436\u0430\u0440\u0430.<\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0435 \u043f\u0440\u0438\u0431\u043e\u0440\u044b \u2014 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u00ab\u0447\u0438\u0442\u0430\u0435\u0442\u00bb \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0435\u043b\u043a\u0438 \u043d\u0430 \u0441\u0442\u0430\u0440\u044b\u0445 \u043c\u0430\u043d\u043e\u043c\u0435\u0442\u0440\u0430\u0445 \u0438\u043b\u0438 \u0432\u043e\u043b\u044c\u0442\u043c\u0435\u0442\u0440\u0430\u0445, \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043c\u0430.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0441\u0451 \u044d\u0442\u043e \u2014 TinyML \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438. \u0418 \u0432\u0441\u0451 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 \u0436\u0435\u043b\u0435\u0437\u0435 (\u0438\u043b\u0438 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c \u0430\u043f\u0433\u0440\u0435\u0439\u0434\u043e\u043c).<\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>\u0427\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0437\u0430 \u043e\u0434\u0438\u043d \u0432\u0435\u0447\u0435\u0440?<\/p>\n<ul>\n<li>\n<p> \u0421\u043e\u0431\u0440\u0430\u043b\u0438 \u0434\u0430\u0442\u0430\u0441\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ESP32-CAM.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u0443\u0447\u0438\u043b\u0438 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0432 Edge Impulse (F1-score 97.8%).<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441 \u043a\u0430\u043c\u0435\u0440\u043e\u0439.<\/p>\n<\/li>\n<li>\n<p>\u041d\u0430\u0443\u0447\u0438\u043b\u0438 ESP32-CAM \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e UART.<\/p>\n<\/li>\n<li>\n<p>\u0417\u0430\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043b\u0438 Arduino \u043d\u0430 \u0440\u0435\u0430\u043a\u0446\u0438\u044e.<\/p>\n<\/li>\n<\/ul>\n<p>\u0412\u0441\u0451 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0431\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430, \u043d\u0430 \u0436\u0435\u043b\u0435\u0437\u0435 \u043e\u0431\u0449\u0435\u0439 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c\u044e \u043e\u043a\u043e\u043b\u043e 1000 \u0440\u0443\u0431\u043b\u0435\u0439 \u0437\u0430 ESP32-CAM (\u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043d\u0430 \u0441\u0442\u043e\u043b\u0435 \u0443 Arduino-\u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u0430).<\/p>\n<h4>\u041a\u0441\u0442\u0430\u0442\u0438, \u043e \u0436\u0435\u043b\u0435\u0437\u0435\u00a0<\/h4>\n<p>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u0451 \u00ab\u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u0440\u043e\u0431\u043a\u0435\u00bb \u2014 \u0433\u043e\u0442\u043e\u0432\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u0433\u0434\u0435 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u043f\u043b\u0430\u0442\u0430 ESP32-CAM \u0438 SPBot, \u043c\u043e\u0442\u043e\u0440\u044b, \u043a\u043e\u043b\u0435\u0441\u0430, \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043a\u043d\u0438\u0433\u0430 \u00ab<a href=\"https:\/\/bhv.ru\/product\/mobilnye-roboty-s-iskusstvennym-intellektom-na-baze-arduino-4-e-izdanie\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=bhv_20260608\">\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u043e\u0431\u043e\u0442\u044b \u0441 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 Arduino<\/a>\u00bb \u0438 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u2014 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043d\u0430\u0431\u043e\u0440 \u00ab<a href=\"https:\/\/bhv.ru\/product\/mobilnye-roboty-konstruirovanie-upravlenie-obuchenie\/?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=bhv_20260608\">\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u043e\u0431\u043e\u0442\u044b: \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 (SPBot + ESP32-CAM)<\/a>\u00bb. \u0412 \u043d\u0435\u0433\u043e \u0432\u0445\u043e\u0434\u0438\u0442 \u0432\u0441\u0451 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0435\u0449\u0451 \u0434\u0435\u0441\u044f\u0442\u043a\u0430 \u0434\u0440\u0443\u0433\u0438\u0445: \u043e\u0442 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u043e \u043b\u0438\u043d\u0438\u0438 \u0434\u043e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438 \u043f\u043e \u0433\u0438\u0440\u043e\u0441\u043a\u043e\u043f\u0443.<\/p>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1b4\/465\/1ee\/1b44651eec7b69c10ecdceac6ca36002.jpg\" alt=\"\u0420\u0438\u0441. 13. \u0421\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430\" title=\"\u0420\u0438\u0441. 13. \u0421\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430\" width=\"1000\" height=\"586\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/1b4\/465\/1ee\/1b44651eec7b69c10ecdceac6ca36002.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/1b4\/465\/1ee\/1b44651eec7b69c10ecdceac6ca36002.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption><strong>\u0420\u0438\u0441. 13.<\/strong> \u0421\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u0438\u0434\u0435\u043e\u0440\u043e\u043b\u0438\u043a \u043e\u0431 \u044d\u0442\u043e\u043c \u043d\u0430\u0431\u043e\u0440\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430<a href=\"https:\/\/rutube.ru\/video\/7bfc9381af87f2e947e2b468d500462f\/?r=plwd\"> [\u0432\u0438\u0434\u0435\u043e \u043d\u0430 RuTube<\/a>].<\/p>\n<div class=\"tm-iframe_temp\" data-src=\"https:\/\/embedd.srv.habr.com\/iframe\/6a26a7ed9007408fb293fb88\" data-style=\"\" id=\"6a26a7ed9007408fb293fb88\" width=\"\" data-habr-games=\"\"><\/div>\n<h4>Edge Impulse \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438<\/h4>\n<p>\u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0441 Object Detection (\u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u0445). \u041d\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Edge Impulse \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0431\u0443\u0447\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u0438 \u0438 \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0442\u0438\u043f\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445:\u00a0<\/p>\n<ul>\n<li>\n<p><strong>\u0417\u0432\u0443\u043a<\/strong>\u00a0\u2014 \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0437\u0432\u0443\u043a\u043e\u0432 (\u043b\u0430\u0439 \u0441\u043e\u0431\u0430\u043a\u0438, \u0437\u0432\u043e\u043d\u043e\u043a \u0432 \u0434\u0432\u0435\u0440\u044c, \u0448\u0443\u043c \u0441\u0442\u0430\u043d\u043a\u0430). \u041c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0443\u043c\u043d\u0443\u044e \u043d\u044f\u043d\u044e \u0438\u043b\u0438 \u0434\u0435\u0442\u0435\u043a\u0442\u043e\u0440 \u0440\u0430\u0437\u0431\u0438\u0442\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u043b\u0430.<\/p>\n<\/li>\n<li>\n<p><strong>\u0414\u0430\u043d\u043d\u044b\u0435 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432<\/strong>\u00a0\u2014 \u0430\u043a\u0441\u0435\u043b\u0435\u0440\u043e\u043c\u0435\u0442\u0440, \u0433\u0438\u0440\u043e\u0441\u043a\u043e\u043f, \u043c\u0430\u0433\u043d\u0438\u0442\u043e\u043c\u0435\u0442\u0440, \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430, \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c. \u041e\u0431\u0443\u0447\u0430\u0435\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0436\u0435\u0441\u0442\u044b, \u0432\u0438\u0431\u0440\u0430\u0446\u0438\u0438, \u043f\u0430\u0434\u0435\u043d\u0438\u044f, \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f.<\/p>\n<\/li>\n<li>\n<p><strong>\u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0301\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438<\/strong> \u2014 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u043e\u043c\u043a\u0438 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f \u043f\u043e \u0432\u0438\u0431\u0440\u0430\u0446\u0438\u0438, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0442\u0438\u043f\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044e.<\/p>\n<\/li>\n<li>\n<p><strong>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 (\u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0435 \u043c\u0435\u0442\u043a\u0438, \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430)<\/strong>\u00a0\u2014 \u0434\u043b\u044f \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445.<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u0430 \u0438 \u0442\u0430 \u0436\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 80% \u0437\u0430\u0434\u0430\u0447 TinyML \u0432 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u043e\u0439 \u0440\u043e\u0431\u043e\u0442\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0435. \u0418 \u0432\u0441\u0451 \u044d\u0442\u043e \u2014 \u0431\u0435\u0437 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0441 \u043d\u0443\u043b\u044f, \u0432 \u0442\u043e\u043c \u0436\u0435 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435, \u0433\u0434\u0435 \u043c\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0442\u043e \u043e\u0431\u0443\u0447\u0430\u043b\u0438 \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043a\u0438.<\/p>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435: \u0432\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0435 \u043a SPBot \u0433\u0438\u0440\u043e\u0441\u043a\u043e\u043f MPU6050, \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f (\u0432\u043f\u0435\u0440\u0451\u0434, \u043d\u0430\u0437\u0430\u0434, \u043f\u043e\u0432\u043e\u0440\u043e\u0442, \u0443\u0434\u0430\u0440) \u2014 \u0438 \u0447\u0435\u0440\u0435\u0437 Edge Impulse \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0435 \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442 \u00ab\u0440\u043e\u0431\u043e\u0442 \u0435\u0434\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u00bb \u043e\u0442 \u00ab\u0440\u043e\u0431\u043e\u0442 \u0443\u043f\u0451\u0440\u0441\u044f \u0432 \u0441\u0442\u0435\u043d\u0443\u00bb. \u0412\u0441\u0451 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0431\u0435\u0437 \u043e\u0431\u043b\u0430\u043a\u0430, \u043d\u0430 \u0442\u043e\u043c \u0436\u0435 ESP32 \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043d\u0430 Arduino Nano BLE Sense.<\/p>\n<p>\u0422\u0430\u043a \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u2014 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0439\u0442\u0435 \u0434\u043b\u044f \u0441\u0435\u0431\u044f TinyML \u0434\u0430\u043b\u044c\u0448\u0435. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0433\u0440\u043e\u043c\u043d\u044b.<\/p>\n<p>\u041c\u0438\u0440 \u0443\u043c\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0431\u043b\u0438\u0436\u0435, \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f. \u0418 \u043e\u043d \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043d\u044b\u0445 \u0431\u044e\u0434\u0436\u0435\u0442\u043e\u0432. \u0422\u043e\u043b\u044c\u043a\u043e ESP32-CAM, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0442\u0435\u0440\u043f\u0435\u043d\u0438\u044f \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 \u0432\u0440\u043e\u0434\u0435 Edge Impulse.<\/p>\n<p>\u0423\u0434\u0430\u0447\u0438 \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445!<\/p>\n<h4>\u0424\u0430\u0439\u043b\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/h4>\n<p>\u0412\u0441\u0435 \u0441\u043a\u0435\u0442\u0447\u0438, \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0435 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432<a href=\"https:\/\/bhv.ru\/wp-content\/uploads\/2026\/05\/Elektronnyj-arhiv.zip\"> \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435<\/a>. \u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u043d \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043a\u0440\u0430\u0442\u043a\u0438\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u2014 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0438\u0445 \u0432 \u0430\u0440\u0445\u0438\u0432\u0435 \u043f\u043e \u0438\u043c\u0435\u043d\u0430\u043c.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\">\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Collect_Images_for_EdgeImpulse25.ino<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0434\u0430\u0442\u0430\u0441\u0435\u0442\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e ESP32-CAM.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">esp32_camera48x48.ino<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0441\u043a\u0435\u0442\u0447 \u0434\u043b\u044f ESP32-CAM \u0441 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435\u043c \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u043e UART.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Arduino_ESP32_RGB.ino<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f Arduino Uno (\u0438\u043b\u0438 SPBot) \u0441 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c RGB-\u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c (\u043e\u0431\u0449\u0438\u0439 \u043a\u0430\u0442\u043e\u0434).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">SPBot_ESP32_RGB.ino<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u044b SPBot \u0441 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u043c\u0438 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430\u043c\u0438 WS2812.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">Traffic_sign.sb3<\/p>\n<\/td>\n<td>\n<p align=\"left\">\u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Scratch \u0434\u043b\u044f \u0438\u043c\u0438\u0442\u0430\u0446\u0438\u0438 \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>\u0421\u043a\u0430\u0447\u0430\u0442\u044c [<a href=\"https:\/\/bhv.ru\/wp-content\/uploads\/2026\/05\/Elektronnyj-arhiv.zip\">\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432<\/a>] (\u0441\u0441\u044b\u043b\u043a\u0430)<\/p>\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:\/\/habr.com\/ru\/articles\/1044934\/\">https:\/\/habr.com\/ru\/articles\/1044934\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0435 \u0437\u0440\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435: \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u043c \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0440\u043e\u0431\u043e\u0442\u043e\u043c \u043d\u0430 ESP32 \u0438 Arduino\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u041a\u0430\u0436\u0434\u044b\u0439, \u043a\u0442\u043e \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442 Arduino, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043e\u0434\u043d\u0438 \u0438 \u0442\u0435 \u0436\u0435 \u044d\u0442\u0430\u043f\u044b.\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0442\u044b \u043c\u0438\u0433\u0430\u0435\u0448\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u043c. \u041f\u043e\u0442\u043e\u043c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0448\u044c \u0434\u0430\u0442\u0447\u0438\u043a \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u2014 \u0438 \u0432\u043e\u0442 \u0443\u0436\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430. \u041f\u043e\u0442\u043e\u043c \u0441\u0435\u0440\u0432\u043e\u043f\u0440\u0438\u0432\u043e\u0434 \u2014 \u0438 \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u043e\u0432\u0430\u044f \u0448\u0442\u0443\u043a\u043e\u0432\u0438\u043d\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u043c\u0435\u0448\u043d\u043e \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430.\u041f\u043e\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0430\u0432\u0442\u043e\u043f\u043e\u043b\u0438\u0432\u0430 \u0434\u043b\u044f \u0446\u0432\u0435\u0442\u043e\u0432 (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432 \u0438\u0442\u043e\u0433\u0435 \u0438\u0445 \u0437\u0430\u043b\u044c\u0451\u0442). \u0418\u043b\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u00ab\u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442\u044c \u0442\u0430\u043f\u043e\u0447\u043a\u0438\u00bb. \u041f\u0440\u0430\u0432\u0434\u0430, \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u044f\u0446 \u0440\u043e\u0431\u043e\u0442 \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u043b\u0438\u0442\u044c\u0441\u044f \u043d\u0430 \u043f\u043e\u043b\u043a\u0435, \u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u0441 \u043d\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0435\u0434\u0443\u0442 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 :).\u0414\u0430\u043b\u044c\u0448\u0435 \u2014 \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0439 \u044d\u0442\u0430\u043f: \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0447\u0435\u0440\u0435\u0437 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0438\u043b\u0438 \u0441\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u043f\u043e \u043a\u0430\u043d\u0430\u043b\u0443\u00a0 Bluetooth. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Wi-Fi \u043c\u043e\u0434\u0443\u043b\u0438,\u00a0 \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c Arduino \u043d\u0430\u00a0 ESP8266 \u0438\u043b\u0438 ESP32. \u041f\u043e\u0434\u043d\u044f\u043b \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0430\u0440\u0443 \u043a\u043d\u043e\u043f\u043e\u043a \u2014 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\u0418 \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0442\u0435\u0431\u044f \u0437\u0430\u0446\u0435\u043f\u0438\u043b\u043e, \u0442\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u0430 \u0447\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435?\u042f \u0442\u043e\u0436\u0435 \u043f\u0440\u043e\u0448\u0451\u043b \u044d\u0442\u0438 \u044d\u0442\u0430\u043f\u044b. \u0418 \u043a\u043e\u0433\u0434\u0430 \u0437\u0430\u0434\u0443\u043c\u0430\u043b\u0441\u044f, \u043a\u0443\u0434\u0430 \u0434\u0432\u0438\u0433\u0430\u0442\u044c\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435, \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u0437\u043e\u0440 \u043d\u0430 \u0418\u0418 (\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0418\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442). \u041d\u0435 \u043d\u0430 \u0442\u043e\u0442, \u0447\u0442\u043e \u00abSkynet \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u043e\u00bb, \u0430 \u043d\u0430 \u0441\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u2014 \u0443\u043c\u0435\u043d\u0438\u0435 \u0440\u043e\u0431\u043e\u0442\u0430 \u0432\u0438\u0434\u0435\u0442\u044c \u0437\u043d\u0430\u043a \u00ab\u0421\u0442\u043e\u043f\u00bb \u0438 \u043e\u0442\u043b\u0438\u0447\u0430\u0442\u044c \u0435\u0433\u043e \u043e\u0442 \u043f\u0443\u0441\u0442\u043e\u0439 \u0441\u0442\u0435\u043d\u044b.\u00a0\u0412\u043e\u043e\u0434\u0443\u0448\u0435\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0438\u0434\u0435\u0435\u0439, \u043d\u0430\u0447\u0430\u043b \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u043e \u0418\u0418 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u0445 \u2014 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u044b\u0439 Arduino Uno \u0441 \u0435\u0433\u043e 2 \u041a\u0411 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (RAM) \u0438 16 \u041c\u0413\u0446 \u0434\u043b\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0440\u0435\u0448\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442. \u041c\u043e\u0434\u0435\u043b\u044c \u0441 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u0435\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u0443\u0434\u0430 \u043d\u0435 \u0437\u0430\u043f\u0438\u0445\u043d\u0443\u0442\u044c. \u0414\u0430\u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u043f\u0440\u043e\u0441\u0442\u0443\u044e.\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435\u041a\u0441\u0442\u0430\u0442\u0438, \u044d\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0451 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u00a0\u2014 TinyML (\u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u043b\u044f\u00a0\u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0441\u00a0\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438). \u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f\u00a0\u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 (\u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0437\u0432\u0443\u043a\u043e\u0432 \u0438\u043b\u0438\u00a0\u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u00a0\u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432)\u00a0\u2014 \u0442\u0430\u043a\u0442\u043e\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043e\u0442 32\u00a0\u041c\u0413\u0446, RAM \u043e\u0442 32\u00a0\u041a\u0411, Flash \u043e\u0442 128\u00a0\u041a\u0411 \u0443\u00a0Uno \u0434\u0430\u0436\u0435 \u0431\u043b\u0438\u0437\u043a\u043e \u043d\u0435\u0442.\u0412 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0435 Arduino \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0430\u044f \u043f\u043b\u0430\u0442\u0430\u00a0 \u2014 Arduino Nano BLE Sense \u0441 1 \u041c\u0411 RAM. \u041d\u043e \u044d\u0442\u043e \u0443\u0436\u0435 \u0434\u0440\u0443\u0433\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f. \u041c\u043d\u0435 \u0436\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c:\u041d\u0435\u0434\u043e\u0440\u043e\u0433\u043e \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0437\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0443.\u041f\u0440\u043e\u0441\u0442\u043e \u2014 \u0431\u0435\u0437 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 \u0441 \u043d\u0443\u043b\u044f \u043d\u0430 Python \u0438\u043b\u0438 C++.\u041d\u0430 \u043a\u043e\u043b\u0435\u043d\u043a\u0435 \u2014 \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0437\u0430 \u0432\u0435\u0447\u0435\u0440 \u043d\u0430 \u0441\u0442\u043e\u043b\u0435 \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c\u0418 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430\u0448\u0451\u043b\u0441\u044f \u2014 \u043c\u043e\u0434\u0443\u043b\u044c ESP32-CAM (\u0440\u0438\u0441. 1). \u0423 \u043d\u0435\u0433\u043e 520 \u041a\u0411 RAM, \u0447\u0430\u0441\u0442\u043e\u0442\u0430 240 \u041c\u0413\u0446 \u0438 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 Wi-Fi. \u042d\u0442\u043e\u0442 \u043c\u043e\u0434\u0443\u043b\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043a\u0430\u043c\u0435\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437 \u0442\u0440\u0443\u0434\u0430 \u043a\u0443\u043f\u0438\u0442\u044c \u0432 \u0420\u0424 \u0438\u043b\u0438 \u0437\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u0430 AliExpress, \u0410 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u043e\u043d \u0441\u0442\u043e\u0438\u0442 \u043a\u0430\u043a \u043e\u0431\u0435\u0434 \u0432\u043e \u00ab\u0412\u043a\u0443\u0441\u043d\u043e \u0438 \u0442\u043e\u0447\u043a\u0430\u00bb. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0438\u0441\u0441.\u0420\u0438\u0441. 1. \u041f\u043b\u0430\u0442\u0430 ESP32-CAM \u2013 \u043d\u0430\u0448\u0438 \u0433\u043b\u0430\u0437\u0430 \u0438 \u043c\u043e\u0437\u0433ESP32-CAM \u0441\u0442\u0430\u043d\u0435\u0442 \u0433\u043b\u0430\u0437\u0430\u043c\u0438\u00a0\u0438 \u043c\u043e\u0437\u0433\u043e\u043c \u2014 \u043e\u043d \u0432\u0438\u0434\u0438\u0442 \u0437\u043d\u0430\u043a\u0438 \u0438 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u044f. \u0410 \u043a\u0440\u0443\u0442\u0438\u0442\u044c \u043a\u043e\u043b\u0451\u0441\u0430\u043c\u0438, \u043c\u043e\u0440\u0433\u0430\u0442\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430\u043c\u0438 \u0438 \u043f\u0438\u0449\u0430\u0442\u044c \u0437\u0443\u043c\u043c\u0435\u0440\u043e\u043c \u0431\u0443\u0434\u0435\u0442 Arduino. \u0423 \u043c\u0435\u043d\u044f \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439 \u0431\u044b\u043b\u0430 \u043f\u043b\u0430\u0442\u0430 SPBot \u2014 \u044d\u0442\u043e Arduino-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0441\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0435\u0439, \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430\u043c\u0438 \u0438 \u0440\u0430\u0437\u044a\u0451\u043c\u0430\u043c\u0438 \u0434\u043b\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 (\u0440\u0438\u0441. 2). \u041c\u043e\u0436\u043d\u043e \u0432\u0437\u044f\u0442\u044c \u043b\u044e\u0431\u0443\u044e \u0434\u0440\u0443\u0433\u0443\u044e Arduino + \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, TB6612 \u0438\u043b\u0438 L298N), \u043d\u043e \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435.\u0420\u0438\u0441. 2. \u041f\u043b\u0430\u0442\u0430 SPBot \u2013 \u043d\u0430\u0448\u0435 \u0442\u0435\u043b\u043e\u0421\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0439\u043c\u0451\u0442 \u043e\u0434\u0438\u043d \u0432\u0435\u0447\u0435\u0440. \u041d\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u043e\u0439 \u043f\u0443\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439, \u0430 \u043a\u0430\u043a\u043e\u0439 \u2014 \u043b\u043e\u0436\u043d\u044b\u0439, \u043c\u043d\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043f\u0430\u0440\u0443 \u043d\u0435\u0434\u0435\u043b\u044c. \u041f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u043b \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b, \u00ab\u043d\u0430\u0441\u0442\u0443\u043f\u0430\u043b \u043d\u0430 \u0433\u0440\u0430\u0431\u043b\u0438\u00bb, \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043b \u043b\u0438\u0448\u043d\u0435\u0435. \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0435\u043b\u044e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c.\u041f\u043e\u0447\u0435\u043c\u0443 \u0441\u0432\u044f\u0437\u043a\u0430 ESP32-CAM + Arduino, \u0430 \u043d\u0435 \u043e\u0434\u0438\u043d ESP32?\u0412\u043e\u043f\u0440\u043e\u0441 \u0440\u0435\u0437\u043e\u043d\u043d\u044b\u0439. ESP32-CAM \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 Wi-Fi, \u043a\u0430\u043c\u0435\u0440\u0443 \u0438 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438. \u041f\u0438\u043d\u044b GPIO \u0443 \u043c\u043e\u0434\u0443\u043b\u044f \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c. \u041f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u043e\u0442\u043e\u0440\u044b \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e?\u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e \u0431\u043e\u043b\u044c\u043d\u043e.ESP32-CAM \u043d\u0435 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0449\u043d\u044b\u043c\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u043c\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f\u043c\u0438). \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u043c\u0443 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u043c\u043e\u0442\u043e\u0440\u043e\u0432, \u0432\u043d\u0435\u0448\u043d\u0435\u0435 \u043f\u0438\u0442\u0430\u043d\u0438\u0435, \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u0440\u043e\u0432\u043d\u0435\u0439, \u043a\u0443\u0447\u0430 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432. \u0410 \u0435\u0449\u0435 \u0437\u0430\u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b \u0434\u043b\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u0438, \u0437\u0443\u043c\u043c\u0435\u0440 \u0434\u043b\u044f \u0437\u0432\u0443\u043a\u0430, \u0433\u0438\u0440\u043e\u0441\u043a\u043e\u043f \u0434\u043b\u044f \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u0438. \u0418\u0442\u043e\u0433 \u2014 \u0441\u0442\u043e\u043b \u0441 \u043f\u0430\u0443\u0442\u0438\u043d\u043e\u0439 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432 \u0438 \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b.\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0441\u0432\u044f\u0437\u043a\u0443:ESP32-CAM \u2014 \u0433\u043b\u0430\u0437\u0430 \u0438 \u0418\u0418. \u041e\u043d \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0437\u043d\u0430\u043a\u0438.Arduino-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u0430\u044f \u043f\u043b\u0430\u0442\u0430 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c \u043c\u043e\u0442\u043e\u0440\u043e\u0432 \u2014 \u0442\u0435\u043b\u043e. \u041e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e UART \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u043c, \u0441\u0432\u0435\u0442\u043e\u043c, \u0437\u0432\u0443\u043a\u043e\u043c.\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u0430\u044f \u043a\u0430\u043a \u0437\u0430\u043a\u043e\u043d \u041e\u043c\u0430 (\u0440\u0438\u0441. 3).Edge Impulse (\u043e\u0431\u043b\u0430\u043a\u043e): \u041e\u0431\u0443\u0447\u0430\u0435\u043c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u043a\u0438 \u00ab\u0421\u0442\u043e\u043f\u00bb, \u00ab\u041d\u0430\u043b\u0435\u0432\u043e\u00bb, \u00ab\u041d\u0430\u043f\u0440\u0430\u0432\u043e\u00bb.ESP32-CAM: \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c. \u041a\u0430\u043c\u0435\u0440\u0430 \u043b\u043e\u0432\u0438\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0435\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442.UART (\u043f\u0440\u043e\u0432\u043e\u0434\u0430): ESP32-CAM \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430 Arduino \u0441\u0438\u043c\u0432\u043e\u043b\u044b: S (Stop), L (Left), R (Right).Arduino (SPBot): \u041f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0438\u043c\u0432\u043e\u043b \u0438 \u0437\u0430\u0436\u0438\u0433\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0439 \u0446\u0432\u0435\u0442 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430 (\u043a\u0440\u0430\u0441\u043d\u044b\u0439, \u0441\u0438\u043d\u0438\u0439, \u0437\u0435\u043b\u0435\u043d\u044b\u0439).\u0412\u0441\u0451. \u041d\u0438\u043a\u0430\u043a\u0438\u0445 \u043e\u0431\u043b\u0430\u043a\u043e\u0432 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432\u0441\u0451 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e. \u0420\u043e\u0431\u043e\u0442 \u0441\u0430\u043c\u043e\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u0435\u043d.\u0420\u0438\u0441. 3. \u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043d\u0430 \u0431\u0430\u0437\u0435 ESP32-CAM\u0425\u0432\u0430\u0442\u0438\u0442 \u0442\u0435\u043e\u0440\u0438\u0438, \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435. \u0414\u0430\u043b\u044c\u0448\u0435 \u2014 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f. \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e: \u0448\u0430\u0433\u0438 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u044f. \u041f\u043e\u0435\u0445\u0430\u043b\u0438.\u0428\u0430\u0433 1. \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0434\u0430\u0442\u0430\u0441\u0435\u0442: 100 \u0444\u043e\u0442\u043e \u2014 \u0438 \u0433\u043e\u0442\u043e\u0432\u043e\u041f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043a\u043e\u043d ML: \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0435\u043c \u043b\u0443\u0447\u0448\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0415\u0441\u043b\u0438 \u0434\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438 10 \u0444\u043e\u0442\u043e, \u043e\u043d\u0430 \u043d\u0438\u0447\u0435\u043c\u0443 \u043d\u0435 \u043d\u0430\u0443\u0447\u0438\u0442\u0441\u044f. \u041d\u0443\u0436\u043d\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c 50\u2013100 \u0444\u043e\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0437\u043d\u0430\u043a (\u0440\u0438\u0441. 4).\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0441\u0430\u043c ESP32-CAM \u043a\u0430\u043a \u0444\u043e\u0442\u043e\u0430\u043f\u043f\u0430\u0440\u0430\u0442. \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 EloquentEsp32cam \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043c \u0441\u043a\u0435\u0442\u0447\u0430 Collect_Images_for_EdgeImpulse25.ino \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 ESP32-CAM \u0432 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439. \u0417\u0430\u0445\u043e\u0434\u0438\u0442\u0435 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043f\u043e IP-\u0430\u0434\u0440\u0435\u0441\u0443, \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u0442\u0435 Start Collecting \u2014 \u043a\u0430\u043c\u0435\u0440\u0430 \u0441\u043d\u0438\u043c\u0430\u0435\u0442, Download \u2014 \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0435 ZIP \u0441 \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f\u043c\u0438.\u0420\u0438\u0441. 4. \u041f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u0434\u043b\u044f \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438\u041a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442:\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0441\u043a\u0435\u0442\u0447 \u043d\u0430 ESP32-CAM. \u041f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u0434 \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u043c \u0430\u0440\u0445\u0438\u0432\u0435 (\u0441\u0441\u044b\u043b\u043a\u0430 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438).\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u041c\u043e\u043d\u0438\u0442\u043e\u0440 \u043f\u043e\u0440\u0442\u0430, \u043d\u0430\u0445\u043e\u0434\u0438\u043c IP-\u0430\u0434\u0440\u0435\u0441 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 192.168.4.1). \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043f\u043e \u044d\u0442\u043e\u043c\u0443 IP \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0438\u043b\u0438 \u041f\u041a.\u041d\u0430\u0432\u043e\u0434\u0438\u043c \u043a\u0430\u043c\u0435\u0440\u0443 \u043d\u0430 \u0437\u043d\u0430\u043a \u00ab\u0421\u0442\u043e\u043f\u00bb, \u0436\u043c\u0435\u043c Start Collecting, \u043f\u043e\u0442\u043e\u043c Download (\u0440\u0438\u0441. 5).\u041f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c \u0434\u043b\u044f \u00ab\u041d\u0430\u043b\u0435\u0432\u043e\u00bb \u0438 \u00ab\u041d\u0430\u043f\u0440\u0430\u0432\u043e\u00bb.\u041d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u2014 \u0442\u0440\u0438 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430 \u0441 50\u2013100 \u0444\u043e\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e.\u0420\u0438\u0441. 5. \u0417\u0430\u0445\u0432\u0430\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u043a\u0430 &#171;\u0421\u0442\u043e\u043f&#187; (\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0434\u043b\u044f &#171;\u041d\u0430\u043b\u0435\u0432\u043e&#187; \u0438 &#171;\u041d\u0430\u043f\u0440\u0430\u0432\u043e&#187;)\u0428\u0430\u0433 2. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0418\u0418 \u0432 Edge Impulse\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c\u0441\u044f \u043d\u0430 edgeimpulse.com (\u0442\u0443\u0442 \u0438 \u043d\u0443\u0436\u0435\u043d \u0434\u043e\u0441\u0442\u0443\u043f \u0438\u0437 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430). \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442.\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435Edge Impulse \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438\u0437 \u0440\u0435\u0433\u0438\u043e\u043d\u0430, \u0433\u0434\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 \u043d\u0435 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u041a\u0430\u0437\u0430\u0445\u0441\u0442\u0430\u043d, \u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c). \u0415\u0441\u043b\u0438 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043d\u0435\u0442 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 TensorFlow Lite Micro, \u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0447\u0435\u0440\u0435\u0437 Edge Impulse \u043a\u0430\u043a \u0447\u0435\u0440\u0435\u0437 \u0441\u0430\u043c\u044b\u0439 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430.\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435\u041f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0430 Edge Impulse \u0445\u043e\u0440\u043e\u0448\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 (https:\/\/docs.edgeimpulse.com\/)\u0412 \u043a\u043d\u0438\u0433\u0435 &#171;\u0418\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442 \u0434\u043b\u044f \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432: \u043e\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u043b\u044f \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f&#187;, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\u043c\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Edge Impulse, \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u044b \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u0439\u043d\u044b\u043c\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u044b \u043e\u0441\u043d\u043e\u0432\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 EdgeImpulse.2.1. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0442\u0440\u0438 ZIP-\u0430\u0440\u0445\u0438\u0432\u0430, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u0448\u0430\u0433\u0435 1, \u0432 \u0440\u0430\u0437\u0434\u0435\u043b Data Acquisition (\u0440\u0438\u0441. 6). \u041f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0442\u043a\u0438 (stop, left, right).\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 Edge Impulse \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0442\u0438\u043f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 \u2014 \u0441\u0440\u0430\u0437\u0443 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u043c Yes. Object Detection \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0437\u043d\u0430\u043a \u0446\u0435\u043b\u0438\u043a\u043e\u043c (\u0432 \u0440\u0430\u043c\u043a\u0435), \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0451\u0442. \u041d\u0435\u0442 \u0437\u043d\u0430\u043a\u0430 \u2014 \u043d\u0435\u0442 \u0440\u0430\u043c\u043a\u0438. \u041e\u0431\u044b\u0447\u043d\u0430\u044f \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u043d\u0430\u0448 \u0437\u043d\u0430\u043a \u0434\u0430\u0436\u0435 \u043f\u043e \u043a\u0443\u0441\u043e\u0447\u043a\u0443 \u0441\u0442\u0435\u043d\u044b \u2014 \u0438 \u043e\u0448\u0438\u0431\u0430\u0442\u044c\u0441\u044f.\u0420\u0438\u0441. 6. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u04452.2. \u0420\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0443\u0436\u043d\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043e\u0431\u0432\u0435\u0441\u0442\u0438 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u0437\u043d\u0430\u043a\u0438 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0444\u043e\u0442\u043e. \u041d\u0443\u0434\u043d\u043e, \u043d\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u041d\u0430 150 \u0444\u043e\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u0443\u0448\u043b\u043e 20 \u043c\u0438\u043d\u0443\u0442. \u0421\u043e\u0432\u0435\u0442: \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0440\u0430\u043c\u043a\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u043c\u0438, \u043f\u043b\u043e\u0442\u043d\u043e \u043e\u0431\u043b\u0435\u0433\u0430\u044e\u0449\u0438\u043c\u0438 \u0437\u043d\u0430\u043a (\u0440\u0438\u0441. 7).\u0420\u0438\u0441. 7. \u0420\u0443\u0447\u043d\u0430\u044f \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u04322.3. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 \u0438 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435. \u0412 Edge Impulse \u0435\u0441\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u00ab\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u00bb (Impulse) \u2014 \u044d\u0442\u043e \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 (\u043d\u0430\u0448\u0438 \u0444\u043e\u0442\u043e) \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u044f\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438, \u0430 \u0437\u0430\u0442\u0435\u043c \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f.\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u043d \u0432 \u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 (\u0440\u0438\u0441. 8):Input block: Image data (\u0440\u0430\u0437\u043c\u0435\u0440 48\u00d748 \u0438\u043b\u0438 96\u00d796. \u042f \u0432\u044b\u0431\u0440\u0430\u043b 48\u00d748 \u0434\u043b\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438).Processing block: Image (\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432 \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438).Learning block: Object Detection (Images) \u2014 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u043f\u043e\u0438\u0441\u043a \u0437\u043d\u0430\u043a\u043e\u0432 \u0441 \u0440\u0430\u043c\u043a\u0430\u043c\u0438.\u0420\u0438\u0441. 8. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 (\u0431\u043b\u043e\u043a\u0438 Input, Processing \u0438 Learning)\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u043c\u043f\u0443\u043b\u044c\u0441 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0438. \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u0434\u0435\u043b Object detection. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:Number of training cycles: 30 \u044d\u043f\u043e\u0445 (\u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0445\u043e\u0434 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e \u0432\u0441\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u043c).Learning rate: 0.001 (\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u2014 \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043b\u044c\u043d\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0435\u0441\u0430 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u0448\u0430\u0433\u0435).Neural network architecture: MobileNetV2 0.35 \u2014 \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u0430\u044f \u0441\u0435\u0442\u044c, \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0438 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f ESP32.\u0416\u043c\u0451\u043c \u043a\u043d\u043e\u043f\u043a\u0443 Start training. \u0427\u0435\u0440\u0435\u0437 10\u201315 \u043c\u0438\u043d\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0423 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c F1-score = 97.8% (\u0440\u0438\u0441. 9).\u0420\u0438\u0441. 9. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0438 (F1-Score 97,8%)\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435\u0415\u0441\u043b\u0438 \u0437\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u0435\u043e\u0440\u0438\u0438 \u2014 \u043d\u0435\u0439\u0440\u043e\u043d\u044b, \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438, \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u043d\u044b\u0439 \u0441\u043f\u0443\u0441\u043a, TinyML \u2014 \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043d\u043e \u0432 \u043a\u043d\u0438\u0433\u0435 \u00ab\u041c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0440\u043e\u0431\u043e\u0442\u044b \u0441 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u043e\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 Arduino\u00bb (4-\u0435 \u0438\u0437\u0434\u0430\u043d\u0438\u0435). \u0422\u0430\u043c \u0436\u0435 \u2014 \u043f\u043e\u043b\u043d\u044b\u0435 \u043b\u0438\u0441\u0442\u0438\u043d\u0433\u0438 \u0438 \u0441\u0445\u0435\u043c\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0435\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043a\u0430\u0440\u043a\u0430\u0441 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443.2.4. \u0411\u043e\u043d\u0443\u0441: \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u043f\u0440\u044f\u043c\u043e \u043d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0435 (\u0431\u0435\u0437 ESP32!)\u0410 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0449\u0435 \u043d\u0435\u0442 ESP32-CAM \u043f\u043e\u0434 \u0440\u0443\u043a\u043e\u0439, \u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u0445 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u0440\u044f\u043c\u043e \u0441\u0435\u0439\u0447\u0430\u0441?Edge Impulse \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043e\u0431\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u043d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0435 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u2014 \u043a\u0430\u043c\u0435\u0440\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0432\u0430\u0448\u0438 \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u043a\u0438 (\u0438\u043b\u0438 \u044f\u0431\u043b\u043e\u043a\u0438 \u0441 \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d\u0430\u043c\u0438) \u0431\u0435\u0437 \u0435\u0434\u0438\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u043a\u043e\u0434\u0430.\u041a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:\u0412 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Edge Impulse \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u0440\u0430\u0437\u0434\u0435\u043b Deployment.\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 Mobile App \u2192 Build. Edge Impulse \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 APK-\u0444\u0430\u0439\u043b (\u0434\u043b\u044f Android) \u0438\u043b\u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u0434\u043b\u044f iOS.\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d (\u0434\u043b\u044f Android \u2014 \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438\u0437 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432).\u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0432 \u0441\u0432\u043e\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 Edge Impulse.\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c.\u041d\u0430\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u0430\u043c\u0435\u0440\u0443 \u043d\u0430 \u0434\u043e\u0440\u043e\u0436\u043d\u044b\u0439 \u0437\u043d\u0430\u043a\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0447\u043d\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u044f\u0432\u043b\u044f\u0442\u044c\u0441\u044f bounding boxes \u0441 \u043c\u0435\u0442\u043a\u0430\u043c\u0438 \u0438 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u043c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0432\u0430\u043d\u0438\u044f. \u041c\u043e\u0436\u0435\u0442\u0435 \u043a\u0440\u0443\u0442\u0438\u0442\u044c \u0437\u043d\u0430\u043a \u0432 \u0440\u0443\u043a\u0430\u0445, \u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0441\u0432\u0435\u0449\u0435\u043d\u0438\u0435, \u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0430\u043a\u0443\u0440\u0441\u044b \u2014 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0435\u0433\u043e \u0443\u0437\u043d\u0430\u0442\u044c (\u0440\u0438\u0441. 10).\u0420\u0438\u0441. 10. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u043e\u0434\u0435\u043b\u0438 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u043d\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u043c \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435\u041a\u043e\u0433\u0434\u0430 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0435\u0442 \u0437\u043d\u0430\u043a\u0438 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435 \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u043e (\u043f\u043e\u0440\u043e\u0433 &gt;0.7\u20130.8), \u043c\u043e\u0436\u043d\u043e \u0441\u043c\u0435\u043b\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0435 \u0432 Arduino library \u0438 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u043d\u0430 ESP32-CAM \u2014 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435.\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435\u0412 \u0433\u043b\u0430\u0432\u0435 16 \u043a\u043d\u0438\u0433\u0438 (\u00ab\u0410\u0432\u0442\u043e\u043f\u0438\u043b\u043e\u0442 \u043d\u0430 Edge Impulse \u0438 ESP32-CAM\u00bb) \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-482835","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/482835","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=482835"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/482835\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=482835"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=482835"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=482835"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}