Wyliodrin: все что вы хотели знать

6 декабря 2015, 21:57

Wyliodrin — это веб IDE для программирования embedded устройств. Она удобна тем, что поддерживает огромное количество языков программирования C, C/C++, Java, Pascal, Shell Script, Perl, PHP, Objective-C, C#, Python, Javascript, а также программирование с помощью блоков node-red и scratch.
Список поддерживаемых плат тоже впечатляет, это и платы от Intel, Edison и Galileo, Raspberry Pi, Beaglebone Black, Arduino.
Все эксперименты я проводил на Intel Galileo gen 2, опишу что из этого вышло.

Настройка платы

  • Регистрируемся на wyliodrin.com;
  • В личном кабинете добавляем новую плату:
  • Скачиваем образ для SD карты;
  • Распаковываем образ и записываем на SD карту, по инструкции из прошлой статьи;
  • Загружаем файл wyliodrin.json из личного кабинета:
  • Подключаем SD карту к компьютеру и записываем в корень файл wyliodrin.json:
  • Вставляем карту в Galileo, подключаем питание и патчкорд, ждем загрузку системы. В личном кабинете напротив добавленной платы должен появиться статус online:
  • В выпадающем меню выбираем пункты меню Extra Libraries и Update Streams для обновления библиотек, также рекомендуется сделать Update Image, но у меня после этого плата не появлялась онлайн:

После этих действий плата готова к программированию.

Моргаем светодиодом

Как я уже писал выше, нам доступно большое количество языков программирования.
Рассмотрим 2 примера, один на языке С, другой на языке визуального программирования (scratch). В обоих случаях будем моргать бортовым светодиодом подключенным на 13 пин платы.
Приложения создаются очень просто, необходимо нажать кнопку Create new application и в списке Programming Language выбрать New Project под соответствующим заголовком языка или выбрать готовый пример.

Пример на C

Пример на C выглядит похожим на скетчи для Arduino написанные на wiring.

#include <stdio.h>
#include <Wyliodrin.h>

// define the pin number that has the LED connected
#define LED_PIN 13

int main()
{
    printf ("Led on pin %d should blink\n", LED_PIN);

    // Setup the pin in output mode, so that we can write a value on it
    pinMode(LED_PIN, OUTPUT);

    printf ("Press the Stop button to stop\n");
    // Loop forever until, we press stop
    while(1)
    {
        // Write the value 1 (HIGH) on the pin so that the LED turns on
        digitalWrite(LED_PIN, HIGH);
        // wait 500 ms
        delay(500);
        // Write the value 0 (LOW) on the pin so that the LED turns off
        digitalWrite(LED_PIN, LOW);
        // wait 500 ms
        delay(500);
    }
    return 0;
}

Необходимо только указать LED_PIN 13 и можно запускать нажатием на кнопку:

После загрузки и компиляции вы должны увидеть сообщение:

./Led_Blink_-_C                                                                     
Led on pin 13 should blink                                                          
Press the Stop button to stop

И если посмотреть на плату, то светодиод моргает каждые 500 мс. Остановить приложение можно кнопкой Stop.

Пример визуального программирования

Аналогичное поведение светодиода будет выглядеть следующим образом:

В свойствах проекта можно указать в какой язык транслировать приложение:

На языке Python это будет выглядеть следующим образом:

from wyliodrin import *
from time import *

pinMode (13, 1)

print('Led on pin 13 should blink')
print('Press the Stop button to stop')
while True:
  digitalWrite (13, 1)
  sleep ((500)/1000.0)
  digitalWrite (13, 0)
  sleep ((500)/1000.0)

Запускается приложение аналогично.

Не все примеры работают как хотелось бы. Я не смог запустить ни один пример на node.js, надеюсь в будущем поправят. Каждый в wyliodrin сможет найти что то интересное для себя. Подключайтесь и экспериментируйте.

Поделиться
Запинить
Популярное