Интеграция с Iskra js

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем dewid, 21 авг 2017.

Метки:
  1. dewid

    dewid Нерд

    К примеру хочу сделать некий интерфейс управления двигателями или прочими устройствами на js.
    При создании правил управления, генерировать js который будет понимать iskra и заливать на устройство. Возможно ли код заливать прямо на прямую используя либо консоль linux либо еще какие нить варианты.
    Либо что то в этом роде. Сайт накидал нужных инструментов и прочее(2 двигателя один крутится в одну сторону другой в другую или по очереди зажигать светодиоды), сгенерировался js код который понятен для iskrajs залил какой нить базовый коннектор на js для iskrajs где указал данные того или иного робота (При создании робота на сайте создается некий Id, hash) он законектился к сайту и получил (cгенерированные) исходники, залил себе и аллелуя. На самом деле не важно кто будет генерировать js, python либо c либо ruby.
    Заранее спасибо. То есть хочу написать интерфейс для создания алгоритма управления для робота.
     
  2. rkit

    rkit Гуру

    Не за что. Пишите.
     
    Kelvin нравится это.
  3. ИгорьК

    ИгорьК Давно здесь

    Крутая работа! Отличное желание!
     
  4. Kelvin

    Kelvin Гик

    Среда с графическим программированием для JS - это может помочь начинающим, буду ждать пока сделаете, надеюсь вы поделитесь IDE со всеми)
     
  5. sys

    sys Оракул

    Morgan нравится это.
  6. Morgan

    Morgan Administrator Команда форума

    Есть функция eval('your js code');
    Она исполняет код, переданный в строке.

    Можно написать простой скрипт для Искры:
    Код (Javascript):
    Serial2.setConsole(true);
    USB.setup(115200);

    var str = '';

    USB.on("data", function(data) {
      for (var i = 0; i < data.length; ++i) {
        if (data[i] != '\n') {
          str += data[i];
        } else {
          eval(str);
          str = '';
        }
      }
    });
    Прошейте Искру, сбросьте питание.
    Потом подключитесь заново как к обычному COM-порту, например в Arduino IDE.
    Отправьте любую команду, например, LED1.write(1);, она выполнится на Искре.
    jseval.jpg

    Строго говоря, использование eval() считается плохим тоном в мире JS (мол, злоумышленники могут подставить в строку любой код и выполнить его на клиенте). Но для тестов можно начать с неё.
     
    sys и arkadyf нравится это.
  7. dewid

    dewid Нерд

    Ребята нашел вот такое решение https://www.npmjs.com/package/espruino. Может кому нить понадобится. Буду юзать о будущих результатах или в этой теме либо в другой сообщу.
     
    sys и arkadyf нравится это.