当前位置:首页 >web安全类 >python 中Arduino串口传输数据到电脑并保存至excel表格

python 中Arduino串口传输数据到电脑并保存至excel表格

2019-12-06 09:31:20 [德甲] 来源:郁金网
原因:学校运河杯宣布了一个制造天气预报装置的项目 。 我用arduino运行BME280模块,用蓝牙模块实现了两台arduino主从计算机的透明传输。 然而,为了进行分析,需要提取数据。 因此,我用python编写了一个上位机程序,用pyserial模块实现了arduiho与计算机之间的串行通信。然后我用xlwt模块编写了excel表格,用时间模块获取时间作为excel的文件名。 importxlwtimporttimeimportserial #设置表格样式def set_style(名称、高度、粗体=False):style = xlwt。XFStyle()字体= xlwt。font()font . name = name font . bold = bold font . color _ index = 4 font . height style . font = font turn style # write excel defwrite _ excel():if serial . isapen():print('串口打开\ n ')f = xlwt . workbook()sheet 1 = f . add _ sheet(' arduino _ data ' ,cell _ overwrite _ ok = True)row 0 =[" temp "、" pres "、" hum "]time 1 = time . local time(time . time())#写入i inrange的第一行(len= 0:response = serial.read(size) #读取并显示s = response.decode ('utf-8 ')。rstrip ('\ r \ n ')。拆分(' \ t') iflen (s)!= 3:serial . flush input()continue se:try:for j in range(len)):sheet 1 . write(I,j ,int(s[j)),set_style('Times New Roman ',220 ,False))print(s)serial . flush input()# clear空接收缓冲区I = I+1 time . sleep(0.5)except valuerer错误:serial . flush input()continue except Keyboardinterrupt:time 2 = time . local time(time . time())f . save(r ' s){1}_{2:0>。2d}。{3:0>。2d}。{4:0>。2d}-{5}。{6}_{7:0>。2d}。{8:0>。2d}。{9:0>。2d}。xls。格式\(时间1[1,时间1[2,时间1[3 ,时间1[4 ,时间1[5,时间2[1,时间2[2,时间2[3,时间2[4],时间2 [5]))串行.关闭()打印(时间1)打印(时间2)退出()如果_ _ name _ _ = = ' _ _ main _ _ ':串行=串行.串行(' com3 ',9600,超时= 2) write _ excel()从串行端口读取arduino的数据,并在运行代码后将其写入excel 按Ctrl+c中止代码过程,此时将在文件夹c:\ users \ 10020 \ desktop \ arduino _ data \下生成一个名为“开始运行时-结束运行时”的xls文件 代码的运行效果:应该注意的是 ,串口和波特率决定了arduino根据计算机上显示的com端口和设置的arduino波特率通过串口向COMputer发送字节串。该字符串需要编码成utf-8并进行处理。每次接收到数据后,数据缓存应该清除。以上是边肖向您介绍python Arduino串口的概要。以上是将数据传输到计算机并保存到excel表格中。我希望这对你有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你 非常感谢您对脚本之家网站的支持!如果你认为这篇文章对你有帮助,请转载,请注明出处,谢谢!您可能会感兴趣的文章:Python crawler抓取手机应用程序的传输数据;python网络编程的数据传输udp示例:python实现UDP数据报传输的方法分析 Android实现apk插件方式换肤的实例讲解

(责任编辑:跑步资讯)

热点阅读