Визуальное программирование и Blockly

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Визуальное программирование и Blockly

Сообщение sergejey »

Приглашаю к тестированию нового режима программирования сценариев.
(доступно пока при обновлении из исходников)

Предыстория здесь: http://smartliving.ru/forum/viewtopic.php?f=6&t=37

В редактировании сценариев появился переключатель типа кода:

Изображение

Если выбран Blockly то по нажатию на Edit открывается новое окно с редактором.

Сейчас там реализованы основные операции и при сохранении алгоритм преобразуется в программу на языке PHP.
То, как выглядит исходный код можно посмотреть переключившись на закладку PHP, но изменения там не сохраняются.

При желании можно менять тип сценария с Blockly на PHP, при этом будет использован код, созданный редактором. Обратное переключение с PHP на Blockly работает, но это только переключение -- автоматической обратной трансляции из PHP в Blockly сделать, к сожалению, нельзя.

Пример

У меня был сделан сценарий на PHP в таком виде:

Изображение

Я его переписал заново на Blockly и получился вот такой:

Изображение

Если интересно, то вот какой получился автоматический код:

Изображение

(последнее можно смотреть просто из любопытства, т.к. реально необходимости в этом нету)

Для сохранения изменений, сделанных в визуальном редакторе, нужно нажать Save. Можно так же нажать Save and Run и тогда сценарий сохранится и сразу отправится на выполнение.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
tammat
Сообщения: 165
Зарегистрирован: Пт янв 20, 2012 3:05 pm

Re: Визуальное программирование и Blockly

Сообщение tammat »

Добавил в www папку Blockly поменял admin.css удалил installed. Режим визуального программирования отсутствует.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Визуальное программирование и Blockly

Сообщение sergejey »

tammat писал(а):Добавил в www папку Blockly поменял admin.css удалил installed. Режим визуального программирования отсутствует.
надо посмотреть что ещё изменилось. как минимум, изменения в модуле scripts (/modules/scripts и /templates/scripts). а лучше выкачать последнюю версию исходников и запустить сравнение по-файловое, чтобы видеть все изменения и заменить файлы более новыми.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Athom
Сообщения: 17
Зарегистрирован: Ср ноя 21, 2012 2:05 am

Re: Визуальное программирование и Blockly

Сообщение Athom »

Подскажите, а как здесь можно передать несколько параметров? Например:

Код: Выделить всё

playSound('dingdong',1,1);
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Визуальное программирование и Blockly

Сообщение sergejey »

Athom писал(а):Подскажите, а как здесь можно передать несколько параметров? Например:

Код: Выделить всё

playSound('dingdong',1,1);
Там используется упрощённый playSound -- без параметров. Но всегда можно использовать полноценные команды вот таким образом:

Изображение

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
SerOv
Сообщения: 52
Зарегистрирован: Ср сен 26, 2018 8:35 pm

Re: Визуальное программирование и Blockly

Сообщение SerOv »

А эта тема уже не поддерживается? А где можно посмотреть примеры по программированию Blockly для Majordomo?
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: Визуальное программирование и Blockly

Сообщение Divan »

Предлагаю заинтересованным в Blockly и тем кто не понимает как нужно правильно пользоваться Blockly - развивать эту тему.

Как можно создавать свои элементы в Blockly?
[Модуль] Мои блоки (myblocks)

Что такое переменные и как их использовать?
Переменные - это контейнер, который содержит в себе различные типы данных (текст, цифры, объекты и т.д). В целом переменные позволяют создавать, хранить, изменять, а в дальнейшем оперативно обращаться к информации, заданной в них.

Пример создания переменных для пинга устройства
Создаем переменную с любым именем, я назвал 192.168.0.30
SPOILERSPOILER_SHOW
Создать переменную.jpg
Создать переменную.jpg (81.34 КБ) 5355 просмотров
Во всплывающем окне указываем имя для переменной
SPOILERSPOILER_SHOW
Указываем переменную.jpg
Указываем переменную.jpg (59.26 КБ) 5355 просмотров
Собираем код таким образом, если пинг есть - сообщить онлайн, если нет пинга - сообщить офлайн
SPOILERSPOILER_SHOW
код пинг в блокли.JPG
код пинг в блокли.JPG (31.22 КБ) 5355 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: Визуальное программирование и Blockly

Сообщение Divan »

Как сделать округление значении в Blockly?

Внимание!!! Я показываю примеры, соответственно для работы нужно создавать свойство - метод и в методе собираем код.

Создаем второе свойство для получении значении в целых числах и метод mIntegerValue
SPOILERSPOILER_SHOW
Округление значении свойства.jpg
Округление значении свойства.jpg (24.58 КБ) 5355 просмотров
Создаем две переменные
1) Переменная TempValue - значение откуда будем получать дробное число
2) Переменная IntegerValue - значение которое будем округлять

Пример кода Blockly
SPOILERSPOILER_SHOW
Округление значении.JPG
Округление значении.JPG (28.55 КБ) 5355 просмотров
Последний раз редактировалось Divan Вс июн 07, 2020 3:44 pm, всего редактировалось 1 раз.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: Визуальное программирование и Blockly

Сообщение Divan »

Как создать счетчик с шагом N?

Внимание!!! Я показываю примеры, соответственно для работы нужно создавать свойство - метод и в методе собираем код.

Счетчик с шагом 1
SPOILERSPOILER_SHOW
Создаем счетчик с увеличением в 1 шаг.JPG
Создаем счетчик с увеличением в 1 шаг.JPG (26.8 КБ) 5351 просмотр
Обратный счетчик с шагом 1
SPOILERSPOILER_SHOW
Создаем обратный счетчик.JPG
Создаем обратный счетчик.JPG (26.34 КБ) 5351 просмотр
Последний раз редактировалось Divan Вс июн 07, 2020 3:43 pm, всего редактировалось 2 раза.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: Визуальное программирование и Blockly

Сообщение Divan »

Как сделать рандомный выбор цвета?

Создаем переменную, например RGB и цепляем блок случайный цвет
SPOILERSPOILER_SHOW
случайный цвет.jpg
случайный цвет.jpg (54.54 КБ) 5351 просмотр
Готовый вариант в блокли, таким образом, если запустить сценарии "Случайный цвет", то установится выбранный цвет системой
SPOILERSPOILER_SHOW
рандомный выбор цвета.JPG
рандомный выбор цвета.JPG (20.17 КБ) 5351 просмотр
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Ответить