Командная оболочка Bitlash на Arduino
Bitlash - командная оболочка (shell) для Arduino. Шелл запускается на контроллере Arduino и поддерживает некоторые функции Arduino:
bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free > print "Hello from cxem.net!" Hello from cxem.net! >
Оболочка Bitlash поддерживает большинство плат Arduino и их клоны: Arduino Diecimila, Duemilanove, UNO, Stickduino, Sparkfun Wee, Pro Mini, Sanguino и др. платы.
Особенностью Bitlash является то, что он поддерживает функции. Само Bitlash-приложение хранится в EEPROM контроллера. В последних версиях Bitlash возможно хранение функций на SD-карте. В случае, если нужно исполнение нативного Си кода, к примеру для доступа к периферии или для обеспечения высокой скорости работы, то возможно совмещение Си кода с Bitlash функциями при помощи пользовательских функций (см. раздел User Function)
Кстати, последняя версия Bitlash поддерживает Arduino 1.0 Beta!
Начать работать с оболочкой Bitlash очень просто. Для начала, необходимо скачать последнюю версию с сайта Bitlash Online.
Затем, разархивируйте архив в папку Librariesbitlash. Должно получиться что-то воде этого:
Перезапустите среду разработки Arduino. Проверьте, чтобы в меню Sketch->Import Library и в File->Examples появилось bitlash. Если не появилось, то проверяйте пути.
Теперь загрузите в среду разработки пример File->Examples->bitlash->bitlashdemo и загрузите скетч в контроллер.
Теперь можно открыть Serial Monitor или любой другой терминал. Если будете использовать стандартный Serial Monitor то не забудьте внизу окошка переключить возврат каретки на Both NL & CR и скорость передачи на 57600 Baud.
Я предпочитаю использовать терминальный клиент PuTTy. Перед тем, как запустить терминал, вы должны узнать COM-порт на котором у вас висит Arduino. Это можно посмотреть в среде разработки Arduino: Tools->Serial Port. К примеру у меня это COM12. Итак мои настройки PuTTy:
Чтобы каждый раз не вводить настройки COM-порта я их сохранил. Теперь, двойной щелчок по сессии Arduino сразу же открывает терминал и начинает соединение:
Если соединение с Arduino прошло успешно, то появится окно, как на рисунке выше. Теперь вы можете вводить команды. К примеру:
bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free > print "Привет от cxem.net" Привет от cxem.net > print 5*5+2 27 > print free() 1013 > print millis() 317175 > print random(100) 78
Как было сказано выше, bitlash поддерживает работу с функциями. Разберем простой скрипт bitlash:
> function toggle13 {d13 = !d13;}; saved > function startup {pinmode(13,1); run toggle13,1000;} saved > startup > boot bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free > ls function toggle13 {d13 = !d13;}; function startup {pinmode(13,1); run toggle13,1000;}; > ps 0: toggle13
Строка function toggle13 {d13 = !d13;}; записывает в EEPROM функцию toggle13, которая инвертирует цифровой выход d13.
Строка function startup {pinmode(13,1); run toggle13,1000;} определяет специальную функцию startup, которая запускается каждый раз при рестарте контроллера. Здесь, данная функция во первых определяет выход 13 и каждые 1000 мс запускает функцию toggle13.
Команда ls просматривает список функций в памяти.
Команда ps просматривает список выполняющихся функций.
Более подробная документация находится на официальном сайте: Bitlash Online
Автор: Колтыков А.В