====== Модуль Wi-Fi ESP8266 (ESP-01): подключение, прошивка и распиновка ====== Модуль [[amp>product/esp8266-wifi-module?utm_source=man&utm_campaign=wifi-slot&utm_medium=wiki|ESP-01]] с чипом ESP8266 предназначен для связи устройства с беспроводными сетями по WiFi. {{ :продукты:esp8266-wifi-module:esp8266-wifi-module.1.jpg?nolink |}} ===== Видеообзор ===== Модуль ESP-01 в проекте [[:projects:keylogger|«Клавиатурный шпион»]] {{youtube>jn_5yY5iOAU?large}} ===== Общие сведения ====== ESP-01 — плата-модуль WiFi на базе популярного чипсета ''ESP8266EX''. На борту платы находится микросхема Flash-памяти объёмом 2 МБ, чип ESP8266EX, кварцевый резонатор, два индикаторных светодиода и миниатюрная антенна из дорожки на верхнем слое печатной платы в виде змейки. Flash-память необходима для хранения программного обеспечения. При каждом включении питания, ПО автоматически загружается в чип ESP8266EX. По умолчанию модуль настроен на работу через «AT-команды». Управляющая плата посылает команды — Wi-Fi модуль выполняет соответствующую операцию. Но внутри чипа ESP8266 прячется целый микроконтроллер, который является самодостаточным устройством. Прошивать модуль можно на разных языках программирования. Но обо всё по порядку. ===== Работа с AT командами ===== ==== Подключение и настройка ==== В стандартной прошивке Wi-Fi модуль общается с управляющей платой через «AT-команды» по протоколу [[видеоуроки:6-serial-и-processing|UART]]. На всех платах Iskra и Arduino присутствует хотя бы один аппаратный UART — [[https://www.arduino.cc/en/Reference/Serial|HardwareSerial]]. Если же по каким то причинам он занят другим устройством, можно воспользоваться программным UART — [[https://www.arduino.cc/en/Reference/SoftwareSerial|SoftwareSerial.]] === HardwareSerial === На управляющей плате [[amp>product/iskra-js?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Iskra JS]] и платах Arduino с микроконтроллером ''ATmega32U4 / ATSAMD21G18'' данные по USB и общение через пины ''0'' и ''1'' осуществляется через два раздельных ''UART''. Это даёт возможность подключить Wi-Fi модуль к аппаратному ''UART'' на пинах ''0'' и ''1''. Список поддерживаемых плат: * [[amp>product/iskra-js?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Iskra JS]] * [[amp>product/iskra-neo?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Iskra Neo]] * [[amp>product/arduino-leonardo?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Arduino Leonardo]] * [[amp>product/arduino-leonardo-eth?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Arduino Leonardo ETH]] * [[amp>product/arduino-leonardo-eth-poe?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Arduino Leonardo ETH PoE]] * [[amp>product/arduino-yun?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Arduino Yún]] * [[amp>product/arduino-tian?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Arduino Tian]] Для примера подключим модуль Wi-Fi к платформе Iskra Neo. {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_at_hard.png?nolink |}} Прошейте управляющую платформу кодом ниже. == Код прошивки == // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } } === SoftwareSerial === Некоторые платы Arduino, например [[amp>product/arduino-uno|Uno]], прошиваются через пины ''0'' и ''1''. Это означает невозможность использовать одновременно прошивку/отладку по USB и общение с Wi-Fi модулем. Решение проблемы — программный ''UART''. Подключите пины ''TX'' и ''RX'' ESP-модуля к другим контактам управляющей платы и используйте библиотеку [[https://www.arduino.cc/en/Reference/SoftwareSerial|SoftwareSerial]]. Для примера подключим управляющие пины Wi-Fi модуля ''TX'' и ''RX'' — на ''8'' и ''9'' контакты управляющей платы. {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_at_soft.png?nolink |}} Прошейте управляющую платформу кодом ниже. == Код прошивки == // библиотека для работы программного Serial #include // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(8, 9); // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } } === HardwareSerial Mega === На платах форм-фактора [[amp>product/arduino-mega-2560?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Arduino Mega 2560]] аппаратный UART, который отвечает за передачу данных через пины ''1'' и ''0'', отвечает также за передачу по USB. Это означает невозможность использовать одновременно ''UART'' для коммуникации с Wi-Fi модулем и отладки по USB. Но на платах такого форм-фактора есть ещё дополнительно три аппаратных UART: * **Serial1:** пины ''19(RX1)'' и ''18(TX1)''; * **Serial2:** пины ''17(RX2)'' и ''16(TX2)''; * **Serial3:** пины ''15(RX3)'' и ''14(TX3)''. Список поддерживаемых плат: * [[amp>product/arduino-mega-2560?utm_source=man&utm_campaign=troyka-wi-fi&utm_medium=wiki | Arduino Mega 2560]] * [[amp>product/arduino-adk?utm_source=man&utm_campaign=troyka-wi-fi&utm_medium=wiki | Arduino ADK]] * [[amp>product/arduino-due?utm_source=man&utm_campaign=troyka-wi-fi&utm_medium=wiki | Arduino Due]] Подключите Wi-Fi модуль к объекту ''Serial1'' на пины ''18'' и ''19'' на примере платы [[amp>product/arduino-mega-2560?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki | Mega 2560]]{{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_at_hardmega.png?nolink |}} Прошейте управляющую платформу кодом ниже. == Код прошивки == // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL Serial1 void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 115200 бод WIFI_SERIAL.begin(115200); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } } ==== Примеры работы ==== Рассмотрим несколько примеров по работе с «AT-командами» === Тестовая команда «AT» === Откройте монитор порта. Настройте скорость соединения — 9600 бод. Конец строки — ''NL & CR''. Введите команду ''AT'' и нажмите «Отправить». Это — базовая команда для проверки работы Wi-Fi модуля. {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_at.1.png?nolink |}} В ответ получим «OK»: {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_at.2.png?nolink |}} Если ответа нет или появляются непонятные символы — проверьте правильность подключения и настройки скорости обмена данными. === Настройка режима работы === Wi-Fi модуль умеет работать в трёх режимах: * Режим точки доступа * Режим клиента * Смешанный режим Переведём чип в смешанный режим командой: AT+CWMODE_DEF=3 После установки модуль должен ответить «OK»: {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_at.3.png?nolink |}} В отличии от аппаратного ''UART'' (HardwareSerial), за работу программного ''UART'' (SoftwareSerial) отвечает микроконтроллер, который назначает другие пины в режим работы ''RX'' и ''TX'', соответственно и данные которые приходят от Wi-Fi модуля обрабатывает сам микроконтроллер во время программы. По умолчанию скорость общения Troyka Wi-Fi равна ''115200'', что значительно выше чем позволяет библиотека [[https://www.arduino.cc/en/Reference/SoftwareSerial|SoftwareSerial]]. В итоге часть информации которая приходит с Wi-Fi модуля будет утеряна. Если вы используете плату с HardwareSerial подключением модуля можете [[продукты:esp8266-wifi-module#at_сканирование_wi-fi_сетей|пропустить]] пункт настройки скорости и сразу перейти к дальнейшей работе с модулем. === AT установка скорости общения === Для корректной работы с большими объемами необходимо понизить скорость соединения модуля и микроконтроллера. Для этого используйте «AT-команду»: AT+UART_DEF=9600,8,1,0,0 После проделанной операции, измените скорость программного ''UART'' в скетче программы и прошейте плату. // библиотека для работы программного Serial #include // создаём объект для работы с программным Serial // и передаём ему пины TX и RX SoftwareSerial mySerial(8, 9); // serial-порт к которому подключён Wi-Fi модуль #define WIFI_SERIAL mySerial void setup() { // открываем последовательный порт для мониторинга действий в программе // и передаём скорость 9600 бод Serial.begin(9600); while (!Serial) { // ждём, пока не откроется монитор последовательного порта // для того, чтобы отследить все события в программе } Serial.print("Serial init OK\r\n"); // открываем Serial-соединение с Wi-Fi модулем на скорости 9600 бод WIFI_SERIAL.begin(9600); } void loop() { // если приходят данные из Wi-Fi модуля - отправим их в порт компьютера if (WIFI_SERIAL.available()) { Serial.write(WIFI_SERIAL.read()); } // если приходят данные из компьютера - отправим их в Wi-Fi модуль if (Serial.available()) { WIFI_SERIAL.write(Serial.read()); } } По итогу программный UART успеет обработать каждый пришедший байт с Wi-Fi модуля. === AT сканирование WI-FI сетей === Откройте Serial-порт и отправьте на модуль «AT-команду» для сканирования всех доступных Wi-Fi сетей: AT+CWLAP При наличии доступных WI-FI сетей в ответ получим сообщение: AT+CWLAP +CWLAP:(0,"AI-THINKER_03842B",-65,"62:01:94:03:84:2b",1,1,-40) +CWLAP:(3,"PiRExternal",-90,"f0:29:29:26:b8:31",1,-12,0) +CWLAP:(3,"PiRGroup",-84,"44:ad:d9:87:c8:f0",1,-4,0) +CWLAP:(4,"corp.Catherine.ru",-82,"f8:1a:67:4c:bf:59",2,10,0) +CWLAP:(3,"PiRGroup",-87,"f0:29:29:26:b8:30",1,-11,0) +CWLAP:(3,"Amperka",-44,"6c:3b:6b:ff:0f:4d",6,8,0) +CWLAP:(3,"SEC_LinkShare_ddd43e",-79,"d0:66:7b:08:93:dd",6,23,0) +CWLAP:(3,"DIT_AMPP",-82,"1c:b9:c4:25:13:68",1,32767,0) +CWLAP:(3,"MZPK",-89,"24:a2:e1:eb:5d:08",11,-16,0) +CWLAP:(0,"Arduino-Yun-B4218AF05F28",-62,"b4:21:8a:f0:5f:28",11,25,0) +CWLAP:(3,"PiRExternal",-85,"44:ad:d9:87:c8:f1",1,-4,0) OK {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_at.4.png?nolink |}} Для продолжение работы используйте {{:продукты:esp8266-wifi-module:esp8266_at_commands.pdf|перечень «AT-команд»}} ===== Wi-Fi модуль как самостоятельный контроллер ===== ESP-01 (ESP8266) — очень умный модуль. Внутри чипа прячется целый микроконтроллер, который можно программировать на языке C++ через [[:продукты:esp8266-wifi-module#программирование_на_c|Arduino IDE]] и JavaScript через [[:продукты:esp8266-wifi-module#программирование_на_javascript|Espruino Web IDE]]. ==== Настройка железа ==== Ввиду отсутствия у платформы ESP-01 собственного USB-порта, понижающего преобразователя и отсутствия толерантности к 5 вольтам, подключите её к компьютеру, используя один из перечисленных способов: * через платформу [[amp>product/arduino-uno?utm_source=man&utm_campaign=wifi-slot&utm_medium=wiki|Arduino Uno]] * через [[amp>product/usb-serial-converter?utm_source=man&utm_campaign=wifi-slot&utm_medium=wiki|USB-Serial адаптер]] === Схема через Arduino Uno === Для сборки программатора понадобится: - [[amp>product/esp8266-wifi-module?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Модуль ESP-01]] - [[amp>product/arduino-uno?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Arduino Uno]] - [[amp>product/usb-cable?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Кабель USB (A — B)]] - [[amp>product/breadboard-half?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Макетная плата]] - [[amp>product/voltage-regulator-ld1117v33?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Понижающий регулятор напряжения на 3,3 вольта]] - [[amp>product/resistor?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Резистор 220 Ом]] 3 шт. - [[amp>product/resistor?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Резистор 2,2 кОм]] 1 шт. - [[amp>product/resistor?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Резистор 1 кОм]] 1 шт. - [[amp>product/wire-mm?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Провода «папа-папа»]] - Соберите схему, представленную ниже.{{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_arduino-uno.png?nolink |}} - Переведите модуль в режим программирования: Необходимо каждый раз выполнять перед прошивкой модуля. - Отключите питание от модуля; - Подключите пин ''0'' к ''GND'' — фиолетовый провод к земле; - Подключите модуль к питанию; - Притяните пин ''0'' к ''3.3V'' — фиолетовый провод через резистор к питанию.{{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_arduino-uno_firmware.gif?nolink |}} - Железо готово, приступайте к программной части. === Схема через USB-Serial адаптер === Для сборки программатора понадобится: - [[amp>product/esp8266-wifi-module?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Модуль ESP-01]] - [[amp>product/usb-serial-converter?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|USB-Serial адаптер]] - [[amp>product/usb-cable-micro?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Кабель USB (A — Micro USB)]] - [[amp>product/breadboard-half?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Макетная плата]] - [[amp>product/voltage-regulator-ld1117v33?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Понижающий регулятор напряжения на 3,3 вольта]] - [[amp>product/resistor?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Резистор 220 Ом]] 3 шт. - [[amp>product/resistor?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Резистор 2,2 кОм]] 1 шт. - [[amp>product/resistor?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Резистор 1 кОм]] 1 шт. - [[amp>product/wire-mm?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|Провода «папа-папа»]] - Соберите схему, представленную ниже.{{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_usb-serial-converter.png?nolink |}} - Переведите модуль в режим программирования: Необходимо каждый раз выполнять перед прошивкой модуля. - Отключите питание от модуля; - Подключите пин ''0'' к ''GND'' — фиолетовый провод к земле; - Подключите модуль к питанию; - Притяните пин ''0'' к ''3.3V'' — фиолетовый провод через резистор к питанию.{{ :продукты:esp8266-wifi-module:esp8266-wifi-module_scheme_usb-serial-converter_firmware.gif?nolink |}} - Железо готово, приступайте к программной части. ==== Программирование на C++ ==== {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_c.png?nolink&600 |}} - Для начала работы с платформой ESP на языке C++ скачайте и установите на компьютер интегрированную среду разработки [[articles:arduino-ide-install|Arduino IDE]]. - По умолчанию среда программирования настроена только на AVR-платы. Для платформы ESP-01 добавьте в менеджере плат [[:articles:arduino-boards-manager#платформы_на_модуле_esp8266|поддержку платформ на модуле ESP8266]]. - В пункте меню Инструменты //Плата// выбирайте ''Generic ESP8266 Module''.{{ :продукты:troyka-wi-fi:troyka-wi-fi_arduino_ide.1.png?nolink |}} После выполненных действий модуль ESP-01 готов к программированию через Arduino IDE. Подробности о функциях и методах работы ESP-01 (ESP8266) на языке C++ читайте на [[https://arduino-esp8266.readthedocs.io|ESP8266 Arduino Cores]]. ==== Программирование на JavaScript ==== {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_js.png?nolink&600 |}} - Для старта с платформой ESP-01 на языке JavaScript [[:js:ide|скачайте и установите]] интегрированную среду разработки Espruino Web IDE. - [[:js:espruino:esp8266|Установите прошивку-интерпретатор JavaScript на ESP8266]]. После выполненных действий модуль ESP-01 готов к программированию через Espruino Web IDE. Подробнее о функциях и методах работы ESP8266 на языке JavaScript читайте на [[http://www.espruino.com/EspruinoESP8266|Espruino]]. ===== Восстановление стандартной АТ-прошивки ===== После программирования платформы в режиме самостоятельного контроллера может понадобиться восстановить на модуле стандартную AT-прошивку. Для этого необходимо воспользоваться утилитой [[:продукты:esp8266:flash-download-tool|Flash Download Tool]]. ===== Элементы платы ===== {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_annotation.png?nolink |}} === Чип ESP8266EX === Чип {{:wifi-slot:esp8266_datasheet.pdf|ESP8266}} — выполнен по технологии SoC (англ. System-on-a-Chip — система на кристалле). В основе кристалла входит процессор семейства Xtensa — 32-х битный Tensilica L106 с частой 80 МГц с ультранизким энергопотреблением, радиочастотный трансивер с физическим уровнем WiFi IEEE 802.11 b/g/ и блоки памяти SRAM. Мощности процессорного ядра хватает для работы сложных пользовательских приложений и цифровой сигнальной обработки. Программное приложение пользователя должно храниться на внешней микросхеме Flash-памяти и загружаться в ''ESP8266EX'' через один из доступных интерфейсов (SPI, UART, SDIO и др.) каждый раз в момент включения питания системы. Чип ESP8266 не содержит в себе Flash-память и многих других компонентов для пользовательского старта. Микросхема является основой на базе которой выпускаются модули с необходимой периферией, например ESP-01. ==== Светодиодная индикация ==== ^ Имя светодиода ^ Назначение ^ | LED |Индикаторный светодиод подключённый к цифровому пину ''1''| | POWER |Индикатор питание на модуле| ===== Распиновка ===== {{ :продукты:esp8266-wifi-module:esp8266-wifi-module_pinout.png?nolink |}} ==== Пины питания ==== * **3.3V:** Вывод питания модуля. Потребляемый ток не менее 250 мА. * **GND:** Выводы земли. ==== Пины ввода/вывода ==== В отличии от большинства плат Arduino, родным напряжением платформы ESP-01 является 3,3 В, а не 5 В. Выходы для логической единицы выдают 3,3 В, а в режиме входа ожидают принимать не более 3,3 В. Большее напряжение может повредить модуль! Будьте внимательны при подключении периферии: убедитесь, что она может корректно функционировать в этом диапазоне напряжений. * **Цифровые входы/выходы:** 4 пина; ''0''–''3''\\ Логический уровень единицы — 3,3 В, нуля — 0 В. Максимальный ток выхода — 12 мА. К контактам подключены подтягивающие резисторы, которые по умолчанию выключены, но могут быть включены программно. * **ШИМ:** 4 пина; ''0''–''3''\\ Позволяет выводить аналоговые значения в виде ШИМ-сигнала. Разрядность ШИМ – 10 бит. * **UART:** пины ''3(RX)'' и ''3(TX)''\\ Используется для коммуникации модуля Wi-Fi с компьютером или другими устройствами по интерфейсу ''UART''. ===== Характеристики ===== * Модуль: ESP-01 с чипом ESP8266EX * Выходной интерфейс: UART * Объём Flash-памяти: 2 МБ * Беспроводной интерфейс: Wi-Fi 802.11 b/g/n 2,4 ГГц * Режимы работы: * Клиент (STA) * Точка доступа (AP) * Клиент + Точка доступа (STA + AP) * Напряжение питания: 3,3 В * Потребляемый ток: до 250 мА * Габариты: 25×15 мм ==== В режиме контроллера ==== * Тактовая частота: 80 МГц * Портов ввода-вывода всего: 4 * Портов с ШИМ (Программный): 4 * Разрядность ШИМ: по умолчанию 10 бит * Максимальный ток с пина или на пин: 12 мА ===== Ресурсы ===== * [[amp>product/esp8266-wifi-module?utm_source=man&utm_campaign=esp8266-wifi-module&utm_medium=wiki|ESP-01]] в магазине. * [[https://github.com/amperka/hardware-drawings/blob/master/esp8266-wifi-module.svg|Векторное изображение ESP-01]] * {{:продукты:esp8266-wifi-module:esp-01_datasheet.pdf|Datasheet на модуль ESP-01}} * {{:продукты:esp8266-wifi-module:esp8266_datasheet.pdf|Datasheet на чип ESP8266EX}} * {{:продукты:esp8266-wifi-module:esp8266_at_commands.pdf|Список АТ-команд}} * [[js:wifi|Описание библиотеки для Iskra JS]]