====== Среда программирования Espruino Web IDE ====== Espruino Web IDE — это приложение для написания и загрузки программы в платформы с загрузчиком Espruino. Программное обеспечение объединяет в себе редактор программного кода, консоль для отладки команд и кнопки управления. {{ :js:ide:espruino-ide-install-overview.png?nolink |}} ===== Список поддерживаемых плат ===== * [[amp>collection/espruino?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Платформы Espruino]] * [[amp>product/iskra-js?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Iskra JS]] * [[amp>product/iskra-js-mini?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Iskra JS Mini]] * [[amp>product/bbc-microbit?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|BBC micro:bit]] * [[amp>product/stm32-nucleo-f401re?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|STM32 Nucleo]] * [[amp>product/wifi-slot?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Wi-Fi Slot]] * [[amp>product/esp32-wroom-wifi-devkit-v1?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|ESP32 WROOM DevKit v1]] ===== Видеобзор ====== {{youtube>_1Zd4QLJx6U?large}} ===== Установка и настройка ===== Все примеры коммуникации в рамках данной статьи будут с платформой с OS Windows. ==== Шаг 1. Установка среды ==== Среда программирования Espruino Web IDE поддерживает два типа инсталляции: * [[#online_приложение|Online-приложение]]. * [[#приложение_для_рабочего_стола|Приложение для рабочего стола]]. Если у вас операционная система ниже Windows 8, то Online версия Espruino Web IDE может не видеть COM-порты. В этом случае используйте [[#приложение_для_рабочего_стола|десктопную версию Espruino Web IDE]]. === Online приложение === [[https://www.espruino.com/ide/|Откройте Web-версию Espruino IDE]]. === Приложение для рабочего стола === [[http://www.espruino.com/files/|Скачайте и установите]] самую последнюю десктопную версию Espruino Web IDE. ==== Шаг 2. Добавление настроек Амперки ==== Добавьте в Espruino IDE поддержку библиотек от Амперки. - Зайдите в настройки Espruino Web IDE: Settings //Communications// и найдите поле ''Module URL''.{{ :js:ide:espruino-ide-install-amperka-modules.1.png?nolink |}} - Добавьте к основному адресу модулей Espruino альтернативный путь модулей Amperka через знак ''|''. Замените https://www.espruino.com/modules на https://www.espruino.com/modules | https://js.amperka.ru/modules {{ :js:ide:espruino-ide-install-amperka-modules.2.png?nolink |}} ==== Шаг 3. Установка драйвера ==== Если у вас Windows и плата Iskra JS, установите {{ :js:ide:stsw-stm32.zip |драйвер для USB-интерфейса микроконтроллера STM32}}. Для Mac OS и Linux драйвер не нужен. ===== Интерфейс среды ===== {{ :js:ide:espruino-ide-install-annotation.png?nolink |}} Среда состоит из двух основных частей: слева — окно консоли, справа — окно исходного кода. Типовой сценарий работы: - Пишите код в правой панели IDE - Загружаете код в плату кнопкой {{:js:ide:icon-deploy.png?nolink|}} - Наблюдаете за работой устройства и выводом отладочной информации в консоли ===== Соединение с платой ===== Espruino Web IDE поддерживает два типа соединения: * [[#беспроводное_подключение|По беспроводному протоколу BLE]] * [[#проводное_подключение|По проводному последовательному интерфейсу UART]] ==== Беспроводное подключение ==== === Поддерживаемые устройства === Беспроводное подключение к среде Espruino Web IDE доступно только при наличии беспроводных приёмопередатчиков на обоих устройствах: * На ПК должен быть включён модуль Bluetooth. Если модуль беспроводной связи BLE физически отсутствует, его можно приобрести отдельно. * Плата Espruino должна поддерживать соединение по протоколу BLE. Список поддерживаемых плат: * [[amp>product/espruino-mdbt42q-breakout-with-headers?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Espruino MDBT42Q Breakout]] * [[amp>product/espruino-puck-js?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Espruino Puck.js]] * [[amp>product/espruino-pixl-js?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Espruino Pixl.js]] Для всех остальных случаев, используйте [[#проводное_подключение| проводное соединение по последовательному интерфейсу UART]]. === Инструкция по подключению === - Подключите питание к плате Espruino. - В среде Espruino Web IDE в верхнем левом углу нажмите кнопку {{:js:ide:icon-connect.png?nolink|}}.{{ :js:ide:espruino-ide-install-connect-wireless.1.png?nolink |}} - Вам будет представлен список доступных портов плат в зависимости от OS и метода подключения: Выбирайте подключение через Web Bluetooth. {{ :js:ide:espruino-ide-install-connect-wireless.2.png?nolink |}} - Откроется окно поиска новых устройств.{{ :js:ide:espruino-ide-install-connect-wireless.3.png?nolink |}} - Выберите интересующее вас устройство и нажмите на кнопку ''Подключить''.{{ :js:ide:espruino-ide-install-connect-wireless.4.png?nolink |}} - После успешного подключения, вы увидите в консоли надпись «Connected». Фон кнопки {{:js:ide:connect-icon.png?nolink|}} изменит цвет на зелёный и в нижнем правом углу всплывёт окошко с уведомлением, что плата успешно подключена к компьютеру.{{ :js:ide:espruino-ide-install-connect-wireless.5.png?nolink |}} ==== Проводное подключение ==== В качестве примера подключения будем использовать платформу [[amp>product/raspberry-pi-pico?utm_source=man&utm_campaign=thonny-python-ide-install&utm_medium=wiki|Iskra JS]]. - Подключите контроллер на базе Espruino к компьютеру по USB. В нашем случае платформу Iskra JS.{{ :js:ide:espruino-ide-install-connect-wire.png?nolink |}} - В среде Espruino Web IDE в верхнем левом углу нажмите кнопку {{:js:ide:icon-connect.png?nolink|}}.{{ :js:ide:espruino-ide-install-connect-wire.1.png?nolink |}} - Вам будет представлен список доступных портов плат в зависимости от OS и метода подключения. Найдите среди них свою плату простым перебором. {{ :js:ide:espruino-ide-install-connect-wire.2.png?nolink |}} - После успешного подключения, вы увидите в консоли надпись ''Connected''. Фон кнопки {{:js:ide:connect-icon.png?nolink|}} изменит цвет на зелёный и в нижнем правом углу всплывёт окошко с уведомлением, что плата успешно подключена к компьютеру.{{ :js:ide:espruino-ide-install-connect-wire.3.png?nolink |}} ===== Тестирование подключения ===== Проверим корректное соединения с платформой. ==== Программная перезагрузка ==== В чёрном окне консоли наберите команду: reset(); Плата перезагрузится, а в консоли отобразиться баннер платы.{{ :js:ide:espruino-ide-install-test-connect.1.png?nolink |}} Обратите внимание на версию ''2v22'' интерпретатора Iskra JS. Если плата работает не корректно, [[#обновление_прошивки|обновите прошивку платформы до самой свежей]]. ==== Консольные команды ==== Через консоль можно работать с подключённой платой «налету»: исполнять выражения, вызывать функции, просматривать значения переменных и т.д. Попробуйте, например, ввести в консоль ''6 + 8'' и нажать ''Enter''. Плата выполнит команду и вернёт результат ''14''.{{ :js:ide:espruino-ide-install-test-connect.2.png?nolink |}} ===== Загрузка первой программы ===== Плата подключена, среда настроена — пора переходить к экспериментам на железе. Прошейте управляющую плату, скриптом приведённой ниже. После загрузки, cветодиод ''LED1'' на плате должен загораться и гаснуть каждые 500 мс. var on = false; setInterval(function() { on = !on; LED1.write(on); }, 500); {{ :js:ide:espruino-ide-install-test-upload.1.png?nolink |}} Немного модифицируем код, чтобы изменить частоту мигания светодиода. Замените значение ''500'' на ''100'' и перепрошейте плату. var on = false; setInterval(function() { on = !on; LED1.write(on); }, 100); После загрузки, cветодиод ''LED1'' будет загораться и гаснуть каждые 100 миллисекунд — в 5 раз быстрее исходной версии. В примере используется объект ''LED1'' который установлен на платформе [[amp>/product/iskra-js|Iskra JS.]] Если вы используете другую платформу с интерпретатором JavaScript, имена объектов и пинов могут отличатся. ===== Загрузка программы c использованием библиотек Амперки ===== Проверим плату на первом эксперименте из набора [[amp>product/yodo?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Йодо]]. - Подключите [[amp>product/troyka-led-module?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|светодиод «Пиранья» (Troyka-модуль)]] или [[amp>product/troyka-5mm-led-module?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|светодиод 5 мм (Troyka-модуль)]] к пину ''P1'' - Прошейте управляющую плату следующей программой: var myCoolLamp = require('@amperka/led').connect(P1); myCoolLamp.turnOn(); В консольном окне появится сообщение об успешной прошивке, а в правом нижнем углу среды — всплывающее окно об успешном подключении библиотеки. Светодиод на пине ''P1'' загорится. В примере используется пин ''P1'' который установлен на платформе [[amp>product/iskra-js?utm_source=man&utm_campaign=espruino-ide-install&utm_medium=wiki|Iskra JS.]] Если вы используете другую платформу с интерпретатором JavaScript, имена объектов и пинов могут отличатся. Поздравляем, вы полностью настроили железо со средой Espruino IDE. Можете смело переходить к изучению всех возможностей [[:js:|программирования микроконтроллеров на JavaScript]]. ===== Обновление прошивки ===== Если у вас перестала работать плата или вы хотите обновить интерпретатор JS до самой актуальной версии, [[js:ide:dfu-firmware|прошейте контроллер на плате через DFU-режим]]. ===== Что-то пошло не так? ===== * [[js:ide:driver-error#не_работают_библиотеки_амперки|При прошивке платы возникает ошибка «Module @amperka/led not found»]] * [[js:ide:driver-error#программа_не_сохраняется_после_сброса_питания|Программа не сохраняется после сброса питания]] * [[js:ide#обновление_прошивки|Возникают проблемы при работе с SD картой? Обновите прошивку до самой свежей. ]] * [[js:ide:driver-error#disconnect_при_загрузке_скрипта|Происходит Disconnect при попытке залить скрипт в память контроллера]] * [[js:ide:driver-error|У меня не появляется новых устройств при нажатии на кнопку «Connected» или не появляется баннер платы]]