2014-04-14 67 views
2

我一直致力於使用Digi Xbee系列2(ZigBee)模塊的項目。我有一個python腳本,它接收協調器設備上的數據並將其保存到數據庫中。該腳本一直在查找和解析返回數據中的「樣本」鍵。Python + Xbee - 解釋模擬樣本的二進制數據

我已經購買了Digi XBee L/T/H傳感器(http://www.digi.com/wiki/developer/index.php/XBee_Sensors),並發現它使用「rf_data」鍵返回數據。這看起來是二元的。我無法處理它並從中讀取實際值。

任何人都可以告訴我,如果我可以重新編程傳感器發送「樣本」鍵,或如何讀取/轉換二進制數據?

我一直在試圖做這樣的:

h=struct.unpack('f',response['rf_data'][0:4])[0] 

但我不喜歡深入瞭解我在做什麼;-)

預先感謝任何幫助你可以給...。

回答

1

它返回一個I/O樣本,如Digi knowledge base article中所述。

您鏈接的頁面包含將ADC讀數轉換爲溫度,溼度和光線讀數的公式。

python-xbee documentation的3.2節似乎暗示I/O採樣從版本2.1開始解析。確保您使用的是該版本,並查看您是否可以訪問I/O樣本的adc-1adc-3,並將讀數轉換爲光照,溫度和溼度值。

+0

謝謝 - 我想你已經釘死了!我必須使用舊版本的Python庫。我會仔細檢查,但我確定就是這樣。謝謝! – fistameeny