железкой?
Есть stm32f103 в сторону компуктера VCP из переферии экран i2c, несколько реле, светодиодов и так сказать 33GPIO
Вот не знаю с чего начать чтобы организовать "протокол общения и управления экраном и gpio"
SLIP в него логику типа байт 1 это команда включения джипио 1- вкл 0- выкл
ну или вообще START+COMADA1+COMANDA2+END
я так понимаю вопрос в том, чтобы мы предложили/рекомендовали для вас использовать какой-нибудь готовый протокол для передачи данных с компа на ваш девайс?
Можно и готовый, а можно просто ткнуть в сторону что искать "как обычно железки общаются между собой" Насмотренности в этом плане у меня нет, в голову только modbus какой-нибудь приходит....
С изучения имеющихся. Желательно хотя ьы пару дюжин
я тоже не эксперт в этой области 😉 на ум приходят еще пара способов помимо модбаса. 1. протокол для общения с дисплеями от Nextion 2. протоколы для общения с символьными дисплеями
Чем не подходит ? https://github.com/firmata/protocol
Плохо глянул?
Не знаю. Не подходит - так не подходит.
Команда - параметры. Структуру можно использовать tag-length-value, если хочется иметь расширяемый протокол. Ну там, байт - длина последующей структуры, потом тип команды (вывести на дисплей, включить реле и т.п.), потом параметры (для вывода - строка, для переключения реле - слово состояния реле) и так далее. Если требуется синхронизация в потоке, то можно ввести байт-заголовок и реализовать byte stuffing. Плюс методики TLV в том, что, если в будущем появятся новые команды, то при неизменном заголовке, содержащем длину, старые устройства смогут просто пропускать неизвестные команды. Если хочется совместимости с чем-то существующим, то да, можно modbus. Но он специфический по причине древности.
Общее название таких протоколов - КСА (Каждый суслик - агроном)
Вам для управления парой реле и экранчиком рекомендую использовать Ethernet и WEB-сервер с передачей параметров в JSON. Это стандартно, никаких велосипедов.
Обсуждают сегодня