Сообщения основаны на согласованных протоколах. TCP и другие аналогичные протоколы обертывают и разворачивают данные на уровнях протоколов (см. модель OSI ) при передаче данных из источника в место назначения.
Перепишем код, чтобы сделать его более читабельным и эффективным.
package main
import "fmt"
func MakeCMD(inst string) []byte {
cmd := make([]byte, 0, 2+len(inst)+1)
cmd = append(cmd, '\xFF')
cmd = append(cmd, '\xFF')
cmd = append(cmd, inst...)
cmd = append(cmd, '\n')
return cmd
}
func main() {
inst := "XYZ"
fmt.Printf("%q\n", MakeCMD(inst))
}
Детская площадка: https://play.golang.org/p/--RnhF1b37A
Вывод:
"\xff\xffXYZ\n"
Похоже, данные ("XYZ") заключены в байты управления потоком, напримерсимвол новой строки ('\n'
) для завершения данных.
Необходимо ознакомиться со спецификацией устройства IOT, чтобы интерпретировать данные, отправленные на устройство IOT. Какой протокол связи используется устройством IOT?