Я использую модули XBee Digimesh в API-режиме для передачи данных между различными промышленными машинами, позволяющими им обмениваться данными, информацией и командами.Разработка протокола связи для XBee
В API-Mode предлагает некоторые основные команды, в основном, для выполнения адресации и говорить с XBee Сам модуль для того, чтобы сделать конфигурацию и т.д.
Отправка данных пользователя осуществляется с помощью соответствующего API XBee-Command, которая позволяет для отправки пользовательских данных с максимальной полезной нагрузкой в 72 байта.
Поскольку я хочу расширить это сообщение, чтобы обеспечить интеграцию большего количества машин и т. Д. Я думаю о том, как реализовать базовую систему связи, идеально подходящую для супермаксимальной полезной нагрузки всего 72 байта.
Из Интернета я обычно использовал бы какой-то JSON, но это очень быстро заполнило бы полезную нагрузку.
Также невозможно отправить кадр с информацией о лоте, поскольку это также очень быстро заполняет полезную нагрузку.
Так что я придумал другой способ общения. Вместо передачи кадров, упакованные с информацией, как насчет отправки своего рода сообщений как это:
- Машинно-A Трансляции: Кто там?
- машина-B Ответы: Это меня Я ххх-Machine
- Machine-C ответы: Это я я ххх-Machine
Machine-A Теперь оценивает ответы и решает работать с Machine-B (потому что Machine-C не соответствует интерфейсу As):
- Машина-A-B: Привет, пожалуйста, дайте мне знать!
- машина-B в A: Там вы идете: 2,349590
Это может быть распространено на различные короткие сообщения. После каждого сообщения отправитель держит тип сообщения в состоянии, и ответ будет оцениваться по отношению к состоянию/контексту.
То, что я пытался избежать, - это определение битового протокола (например, MIDI), который определяет все события как флаги на основе бит. Поскольку мы не сейчас, какое оборудование будет добавлено в будущем, я хочу, чтобы коммуникационный протокол был очень гибким и не нуждался в координаторе или брокере сообщений и т. Д.
Но поскольку это первый раз, о чем я думаю о протоколах связи. Мне любопытно узнать, могут ли быть какие-то существующие структуры, которые могут обрабатывать сложную связь на легкой полезной нагрузке.