0
我想通過50個字節的塊發送圖像。我能夠通過兩個xbees串行發送它。現在,我想讀取前50個字節並將其附加到一個變量,然後在接下來的50個字節後面追加它,等等。但我根本找不到一個好的解決方案。任何幫助?如何逐步讀取pyserial中的數據?
我現在正在收到錯誤f.write(data_stream [i:i + inc])。類型錯誤必須是字符串或緩衝區。 發送端的字節數量,圖像長度爲6330。但在接收方面,它是129.我現在不在任何地方。 ##發件人代碼
import serial
from xbee import XBee
ser = serial.Serial('COM27',9600)
fn='cameraman.jpeg'
f = open(fn, 'rb')
data = f.read()
f.close()
bytes = len(data)
inc=50
for i in range(0, bytes+1, inc):
string=data[i:i+inc]
f.close()
ser.write(string)
## Reciever Side
import serial
ser = serial.Serial(port='COM28', baudrate=9600,timeout=20)
inc=50
fileNames=[]
data_stream = []
while True:
data_stream.append(ser.read(50))
l=len(data_stream)
print l
for i in range(0, l+1, inc):
fn1 = "image%s" % i
fileNames.append(fn1)
f = open(fn1, 'wb')
f.write(data_stream[i:i+inc])
print fn1
x.append(fn1)
f.close()
new_file = 'elmi666_image.jpg'
dataList = []
for fn in fileNames:
f = open(fn, 'rb')
dataList.append(f.read())
f.close()
f = open(new_file, 'wb')
for data in dataList:
f.write(data)
f.close()
你已經寫了什麼代碼(你可以編輯你的問題在這裏添加它)? – tomlogic
歡迎來到SO!請給出一個[SSCCE](http://sscce.org),並請提出一個真正的問題。 – zmo
@tomlogic我修改了我的問題。請幫幫我 。 – user3368375