2017-06-17 65 views
0

我有一個服務(node.js),其中我通過mqtt接收一個字節數組。喜歡的東西:發送字節數組通過php中的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的等等。

有沒有一種方法可以通過mqtt在PHP中發送字節數組或我應該將這部分移動到節點?

回答

0

使用PHP ord函數將字符串轉換爲字節數組。

http://ca.php.net/ord

$fix = []; 
for($i = 0; $i < strlen($message); $i++) { 
    $fix[$i] = ord($message[$i]); 
} 

$修復現在將包含字節數組。