2017-01-21 109 views
0

設備正在向代理髮送ASCII字符串。我期待有效載荷中的字符串。但Node-Red的MQTT節點將其視爲二進制塊。節點紅色MQTT節點:有效負載包含字節數組而不是字符串

我知道MQTT將所有有效負載視爲blob。但是,當從桌面MQTT客戶端發送消息時,同一節點正確地將有效負載顯示爲字符串。所以這似乎是一個編碼問題。

雖然添加另一個節點將數據轉換爲字符串並不困難,但我想知道是否有更好的方法來處理這個問題 - 就像node-red中的某些設置將有效負載解釋爲特定節點的ASCII一樣。

回答

0

MQTT-in節點使用is-utf8 npm節點來測試傳入消息以查看它們是否爲字符串。

如果您正在獲取緩衝區通過,則傳入的消息未通過此測試,我將檢查「設備」用於編碼字符串的編碼。