我是用workerman的mqtt和laravel發(fā)送的,請(qǐng)問(wèn)publish的內(nèi)容是不是2進(jìn)制的?
protected function sendBinary($device, $start, $registerNum, $byteNum)
{
$str = $device->address . $device->deviceModel->read_code . $start . $registerNum;
$data = strToBinary($str); // 字符串轉(zhuǎn)2進(jìn)制
$crc = calculateModbusCRC($data); // 算出modbus rtu的crc碼
$binaryData = hex2bin($str.$crc); // 將16進(jìn)制字符串轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)
$this->mqttClient->publish('/whd1/network/test/r/1234', $binaryData);
}