У меня есть промышленный датчик, который подключен к Интерфейсному модулю , который предоставляет информацию конечному пользователю через telnet
.
Конфигурация Telnet
Порт: 10001
Формат данных: Little-Endian
Preamble - 32 bit
Article number - 32 bit
Serial number - 32 bit
Channels - 64 bit
Status - 32 bit
Frame number M / - 16 bit/ 16 bit
bytes per frame
Measuring value counter - 32 bit
Measuring value frame 1 - N * 32 bit
..
..
Это должно быть доступно после заголовков TCP (если я правильно понимаю), т.е.Полезная нагрузка.
Я пытаюсь изучить golang на более практичных примерах и думаю о следующем направлении:
- Создание сервера TCP для прослушивания IP-адреса и порта интерфейсного модуля датчика.число
- Извлеките полезную нагрузку и просто распечатайте ее в виде отдельных параметров, таких как
preamble
, article number
и т. д. в качестве задания для начинающих
Я просмотрел несколько постов в блоге оСоздания TCP-сервера / клиента, но они только адресуют string
в своей полезной нагрузке.Как я могу извлечь такую байтовую ориентированную пользовательскую полезную нагрузку, как упомянуто выше?
PS
Я могу понять, что это может быть достигнуто в python, вероятно, через struct.pack
и struct.unpack
следовательно, следует понимать некоторую корреляцию как понимание