Как стать автором
Обновить

yet another serial protocol, для людей

Время на прочтение1 мин
Количество просмотров3.6K
Почти каждый владелец arduino сталкивается с задачей управления ее пинами по сигналу с компьютера, и почти каждый пишет свою программку в которой чтение Serial, и switch с действиями.
Однажды мне надоело на каждый чих что-то компилировать и получился еще один маленький, простой, человеко-и скрипто- ориентированный протокол.


Cкачиваем: svn checkout http://avros.googlecode.com/svn/trunk/ avros
компилируем и заливаем avros.pde

Открываем ком порт любым способом и пишем туда:
w13,1
и у нас выполняется digitalWrite(13,1), или
W10,100 analogWrite(10,100)
r10 digitalRead(10) — результат вернет как r10,1
R14 analogRead(14) — R14,42
d100 delay(100)
и почти все остальные функции, подробнее внутри avros.h
в нумеровании пинов аналоговые сразу за цифровыми, 14-21 на маленьких и 54-69 на мегах

Разделитель между командами можно использовать любой удобный например:
w13,1 d500w13,0;-)d100;w13,1

Можно записать последовательность в eprom, И исполнять из него в цикле или разово:
E o w13,1 d1000 w13,0 d1000 O S E e s

Оформлено в виде одного .h файла, можно прицепить к любой программе, пример: avros.pde

Вытекающая плюшка: можно посылать команды прямо из командной строки любой ос прямо в порт, не забыв настроить скорость, можно соединиться через терминал типа putty или minicom, или из любого скрипта на любом языке (пример на одном эзотерическом языке в комплекте)

Да, про Firmata с бинарным протоколом и монстра Bitlash, который займет всю память на 168 чипе я в курсе.

Готов впилить недостающие функции, можно из стандартных библиотек.
Теги:
Хабы:
+17
Комментарии25

Публикации

Истории

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн