Python实现传感器信息读取和实时显示

对象:ATI
语言:Python
方法:stock
目的与ATI通讯实时读取传感器信息并用将其可视化
直接上代码

import array
import pyqtgraph as pg
from ATI_APIpy import ATI_APIpy

if __name__=='__main__':
## test start
    app = pg.mkQApp()#建立app
    win = pg.GraphicsWindow()#建立窗口
    win.setWindowTitle(u'pyqtgraph逐点画波形图')
    win.resize(1600, 1200)#小窗口大小
# draw a dynamic picture
    t=[0]
    t_now=[0]
    Fx_data = array.array('d')
    fd = []
    td = []

# link the ATI
    ip='172.31.1.144'
    ATI=ATI_APIpy(ip)
    print('Connected ATI')
    historyLength = 100#横坐标长度
    p = win.addPlot()#把图p加入到窗口中
    p.showGrid(x=True, y=True)#把X和Y的表格打开
    p.setRange(xRange=[0,historyLength], yRange=[-1.2, 1.2], padding=0)
    p.setLabel(axis='left', text='Contact force')#靠左
    p.setLabel(axis='bottom', text='time')
    p.setTitle('Real time contact force')#表格的名字
    curve = p.plot()#绘制一个图形
    while True:
        def plotData():
            ATI.startStreaming()  # 告诉ATI开始读取
            ATI.recieve()  # 开始从ATI接受数据
            f = ATI.force()
            fd.append(f)
            bd=len(fd)
            tmp = fd[bd-1][0]
            if len(Fx_data) < historyLength:
                Fx_data.append(tmp)
            else:
                Fx_data[:-1] = Fx_data[1:]  # 前移
                Fx_data[-1] = tmp
            curve.setData(Fx_data)

        timer = pg.QtCore.QTimer()
        timer.timeout.connect(plotData)  # 定时调用plotData函数
        timer.start(50)  # 多少ms调用一次
        app.exec_()
        

  • 4
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值