Shell-оболонка Bitlash на Arduino
Bitlash - командний інтерфейс (shell) для Arduino. Шелл запускається на контролері Arduino та підтримує деякі функції Arduino:
bitlash here! v2.0 RC4 (c) 2011 Bill Roy -type HELP- 1017 bytes free > print "Привіт з cxem.net!" Привіт з 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.
Потім, розархівуйте архів у папку Libraries\bitlash. Має вийти щось подібне:
Перезапустіть середовище розробки 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