
Причины создания данного редактора кода
Редактор BlocklyKlik разрабатывается для помощи программирования микроконтроллеров на базе Arduino и ESP32 (эту функцию добавим в будущем) с применением блочного функционала создания кода.
Возможно, вы зададите вопрос: "Так есть же Scratch, mBlock, PictoBlox, да и Arduino ide".
Всё верно, они есть, но в ходе последних лет их использования возникли ряд серьёзных проблем:
Применение в образовании для детей от 8 лет и массовая переподготовка учителей, не имеющих профильной специальности. Поэтому акцент на блочный вариант построения кода.
Массовый переход муниципалитета на Linux: РЕД ОС, Альт образование, Astra Linux. Эти системы стали устанавливать по умолчанию со всеми вытекающими трудностями по поддержке нужного софта и его установки.
Ограниченность функционала для блочного программирования микроконтроллеров из условно доступных сред разработки.
Санкции и ограничения: уже имеющиеся редакторы кода либо полностью недоступны, либо недоступны их сервера, так как современные тенденции направлены на работу онлайн. Даже если программа декстопная, то её львиный функционал требует поддержки онлайн: загрузка расширений, подключение учётной записи, пользование блочными технологиями и машинным обучением.
Из всех вытекающих причин сформировался запрос: нужна автономная, удобная и простая программная среда программирования микронтроллеров со множеством встроенных библиотек и модулей с поддержкой разнообразных Linux систем в российских реалиях.
Цели и Задачи BlocklyKlik
Цель: стать жизнеспособной альтернативой программным средам для написания кода и компиляции в микроконтроллеры семейства Arduino и ESP32. В первую очередь, для наборов по робототехнике КЛИК и НикиРобот.
Задачи, которые уже решает BlocklyKlik:
блочное программирование с интерпретацией кода на язык C++;
компиляция кода на контроллеры семейства Arduino;
поддержка работы в Linux и Windows;
полностью автономная среда со встроенными библиотеками под датчики и модули;
абсолютно бесплатная программная среда с открытой лицензией и кодом;
Структура и возможности редактора
Среда позволяет создавать программы под микроконтроллеры Arduino почти любой сложности из блоков с возможностью интерпретации в код на C++, который сохраняется с расширением ino. Это позволяет компилировать код как непосредственно через редактор, так и через программу Arduino ide.
Интерпретация кода с блочной формы в текстовую отображается в самом редакторе с функцией подсветки кода. Функционал редактора:
код формируется из скрепления блоков с возможностью реализации его в функциях void setup() и void loop();
возможность создания своих пользовательских функций из блоков;
поддержка работы с цифровыми и аналоговыми пинами;
поддержка создания разного типа условий и циклов с гибкими настройками и применением математической логики;
поддержка введения переменных разного типа данных: целое, дробное число, строки, массивы;
поддержка математических операторов и операций: сложение, вычитание, деление, логарифмы, PI, E, конкатенация, возведение в степень;
поддержка работы с такими модулями и датчиками как: кнопки, датчик линии, ультразвуковой датчик расстояния, ИК-модуль, Bluetooth-модуль, датчик цвета, датчик влажности почвы, лазерный модуль, фоторезистор, терморезистор, светодиоды;
поддержка работы с актуаторами для КЛИК и НикиРобот: сервомоторы, DC-моторы, моторы с энкодером по I2C;
есть встроенный монитор порта с поддержкой класса Serial для приёма и передачи данных по COM-порту;
поддержка функции сохранения и импорта созданной программы;
поддержка компиляции кода с его отладкой.
На данный момент это все задачи, которые реализованы в версии 2.1. Следующим этапом будет расширение функционала по датчикам и модулям: восьмиканальный датчик линии, LED экран 16x8, динамик и пьезо элемент, гироскоп и акселерометр.
Обзор последних изменений редактора
Обзор редактора
Кто разрабатывает и где скачать?
Я автор и разработчик этой среды, но выкладываю исходной код каждой новой версии в открытый доступ. Поэтому любой желающий может внести свои идеи в данную структуру или изменить код полностью.
Программа абсолютно бесплатная и её можно использовать как в личных целях, так и образовательных или коммерческих (хотя не вижу в этом смысла).
Все сборки редактора BlocklyKlik доступны по этой ссылке. В папке со всеми сборками доступен и исходный код.
Программа разрабатывалась на Python с использованием модулей pygame-ce и pyserial. Это и позволило сделать редактор кроссплатформенным.
Так как изначально редактор разрабатывался под конкретные образовательные наборы робототехники, то, в первую очередь, он актуален для учителей и преподавателей образовательных учреждений.
С последующим расширением функционала редактор станет полноценной заменой альтернативных сред разработки.
