Просто проблема с отправкой данных, собранных с датчиков в листе Excel на Raspberry Pi на устройство мобильного телефона. Код работает, но он не согласован, и существует много сбросов/сбоев подключения. Рекомендую исправить или альтернативные способы кодирования этого?if __name__ == '__main__':
path = r"/home/pi/Scans/"
scans = os.listdir(path)
ser = serial.Serial('/dev/ttyS0', 115200, timeout=1)
ser.flushInput()
ser.flushOutput()
while True:
line = ser.readline().decode('UTF-8').rstrip()
ser.reset_input_buffer()
############## Request scan list #################
# Command = scans
if ('scans') in line:
ser = serial.Serial('/dev/ttyS0', 115200, timeout=1)
ser.write(('[').encode('UTF-8'))
filelist = [ f for f in os.listdir(newpath) if f.endswith(".csv") ]
for f in filelist:
with open((newpath + '/' + f), 'r', encoding="utf-8", errors="ignore") as scraped:
final_line = scraped.readlines()[-1][0:3]
if (',') in final_line:
final_line = final_line[0:2]
ser.write(('[' + str(f) + ', ' + str(final_line) + ']').encode('utf-8'))
ser.write((']\r\n').encode('UTF-8'))
############## Select scan number #################
# Put as many as necessary
if ('01') in line:
number = '01'
if ('02') in line:
number = '02'
if ('03') in line:
number = '03'
if ('04') in line:
number = '04'
if ('05') in line:
number = '05'
if ('06') in line:
number = '06'
if ('07') in line:
number = '07'
if ('08') in line:
number = '08'
if ('09') in line:
number = '09'
if ('10') in line:
number = '10'
############## Request file #################
# Command = download
if ('download') in line:
if number !=0:
ser = serial.Serial('/dev/ttyS0', 115200, timeout=1)
with open("/home/pi/Scans/Scan " + number + ".csv", mode = 'r')as file:
csvFile = csv.reader(file)
ser.write(('[').encode('UTF-8'))
for lines in csvFile:
time.sleep(0.01)
ser.write((str(lines) + '\n').encode('utf-8'))
ser.write((']\n').encode('UTF-8'))
Подробнее здесь: https://stackoverflow.com/questions/795 ... ing-python