我有一個python腳本,我想用它來配置一些XBee模塊。當通過xbee development board連接到電腦時,它可以很好地發現,但通過pi電路板連接到樹莓派時失敗。配置XBee模塊的Python腳本在樹莓派上失敗
我已經縮小了問題,因爲它沒有進入命令模式,在發送+++之後,xbee從不發送OK消息。下面是相關代碼:
...
CC = '+'
GT = '1.1' # Tried different values here
...
def startCommandMode(self):
self.emptyBuffer() # Tried with and without this line
sleep(self.GT) # Tried with and without this line
self.ser.write(self.CC + self.CC + self.CC)
sleep(self.GT)
return self.getReply() == 'OK'
...
def getReply(self):
count = 0
reply = ''
while True:
char = self.ser.read()
if char == '\r':
break
if len(char) == 0:
return None
reply += char
return reply
完整的源代碼可以在github如果需要的話。
我知道它不是xbee模塊,覆盆子pi或pi板片的問題,因爲如果我使用「picocom -lc/dev/ttyAMA0」手動嘗試它,它工作得非常好。
你能確認'sleep()'真的睡了1.1秒嗎? – tomlogic
xbee模塊上的默認保護時間爲1秒,在此之前您必須確保沒有發生讀取。我已經嘗試了各種值大約5秒沒有成功,所以在時間上的一個小錯誤是可以接受的。在我的桌面上,所有這些值都按預期工作。 – James147