我有一个服务(node.js),我通过mqtt接收一个字节数组。类似的东西:
170617095900 .... 每个字节都是:+年,月,日,小时,分钟,秒....
我从arduino得到这个,它工作正常。我想开发类似从php到mqtt的东西,以同样的方式发送另一条消息。
我将php中的所有数据都放在一个数组中,其中每个位置都是一个值[17,6,17,9,59,0,...]
我试图通过phpMQTT库发送这个数组:
if ($mqtt->connect()) {
$mqtt->publish($topic, $message, 0, 1);
$mqtt->close();
}
但我不能。我只是可以发送字符串。所以我尝试通过以下方式连接数组的每个位置:
$message .= $mes[i]
...
但我得到的是ascii而不是小数的值。我的意思是,我得到一个十六进制为1,另一个得到7,依此类推。
有没有办法可以通过php中的mqtt发送一个字节数组,或者我应该将这部分移动到节点?
答案 0 :(得分:0)
使用PHP ord函数将字符串转换为字节数组。
$fix = [];
for($i = 0; $i < strlen($message); $i++) {
$fix[$i] = ord($message[$i]);
}
$ fix现在将包含字节数组。