В настоящее время я работаю над системой управления для устройств типа Arduino с использованием Twisted, и у меня возникли некоторые проблемы с дизайном
Вот как это происходит в настоящее время: (извините заранее, может быть немного долго)
- для работы с различными типами устройств (каждое из которых имеет свою прошивку и протокол связи). Я разработал систему «драйвера»:
- каждый драйвер состоит из:
- «класс аппаратного обработчика»: оболочка класса serial Twsited с несколькими добавленными вспомогательными методами
- пользовательский последовательный протокол
2- При реализации драйверов для принтеров Reprap 3d (также основанных на Arduino, также использующих последовательное соединение) с довольно специфическими протоколами (например, enqueue point, set температура и т. Д.), Я начал задаваться вопросом, помещаю ли я методы для обработки этих функций (каждая из которых имеет определенные команды) в нужном месте ..
Это все приводит меня к моим вопросам:
Я не совсем уверен в хороших методах использования витых протоколов, но, просмотрев документацию / код довольно многих из них, кажется, что у них относительно мало методов
- всегда ли это так?должен ли протокол only использоваться для функций очень низкого уровня, а также для форматирования и обмена данными ввода / вывода?
- определенные устройства, которыми я хочу управлять, имеют очень четко определенные протоколы (Makerbot и т. Д.). Должен ли я считать, что общие спецификации протокола отличаются от реальных классов Twisted, которые я создаю?
Любые советы, советы и указатели приветствуются!Заранее спасибо.