python读取arduino串口数据

背景:Arduino101板子可以测量姿态数据:heading(航向角)、pitch(俯仰角)、roll(侧翻角),利用Python读取串口数据并保存到电脑里。
打开串口监视器,如下图:
在这里插入图片描述
代码:

# 读取arduino串口数据并保存
import serial
import pandas as pd

# sets up serial connection (make sure baud rate is correct - matches Arduino)
# 设置串口号和波特率和Arduino匹配
ser = serial.Serial('com6', 9600)
# a为储存数据的列表
a = []
# count为次数,采集多少次就停止
count = 0
while count != 30:  # 30可以根据需要设置,while(True):代表一直读下去
    # reads until it gets a carriage return. MAKE SURE THERE IS A CARRIAGE RETURN OR IT READS FOREVER
    data = ser.readline()  # 按行读取串口数据进来
    data = data.decode()  # 读进来的数据是bytes形式,需要转化为字符串格式
    data = data[13:30]  # 数据格式是'Orientation: 180.87 2.16 -3.86\r\n',取第13到29为字符出来就是-->'180.87 2.16 -3.86'
    data = data.split(" ")  # 以空格为分隔符分隔字符串-->['180.87', '2.16', '-3.86']
    count += 1
    data = list(map(float, data))  # 把字符串转化为数字-->[180.87, 2.16, -3.86]
    print(data)
    a.append(data)  # 添加到列表里

df = pd.DataFrame(a)  # 转化为df格式数据
# print(df)
df.to_excel('D:\桌面文件\\bp\\angle.xls', header=False, index=False)

代码来自Github,略作修改。

  • 8
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值