uRPC - веб-интерфейс, при помощи которого создаётся, сохраняется и загружается протокол взаимодействия
устройств. Главная цель проекта: облегченный запуск новых электронных устройств с микроконтроллером, работающих под управлением компьютера.
После создания описания протокола, можно сгенерировать:
Все коммуникации между ПК и микроконтроллером осуществляются по принципу клиент-сервер. При этом микроконтроллер является сервером, а ПК – клиентом. Это значит, что все коммуникации инициируются компьютером. Микроконтроллер не может отправить какие-либо данные на ПК самостоятельно, для этого ему требуется соответствующий запрос клиента (компьютера).
uRPC позволяет осуществлять коммуникации двух типов:
Коммуникация посредством команд осуществляется следующим образом:
Входные и выходные данные никак не зависят друг от друга и могут иметь любой формат. Единственное ограничение: суммарный объём всех входных данных, также как и суммарный объём всех выходных данных не должен превышать 250 байт.
Команды могут иметь входные и выходные аргументы, только входные аргументы, только выходные аргументы, а могут вообще не иметь аргументов.
Общение посредством аксессоров осуществляется следующим образом:
Аксессор – это специальная команда (а точнее set/get пара команд), предназначенная для работы с данными на сервере.
Отправка данных с клиента на сервер осуществляется посредством set-функции аксессора, получение данных – посредством вызова get-функции аксессора. Обе функции могут быть вызваны только клиентом (ПК).
Set-функция имеет только входные аргументы, get-функция – только выходные. Формат входных и выходных данных set и get функций одного аксессора должен быть одинаковым.
Также как и в случае команд, после получения set и get запросов аксессора сервер (микроконтроллер) запускает соответствующие обработчики, содержание которых определяется пользователем.