首页 > 解决方案 > 如何获取 iPhone 的加速度计数据?

问题描述

我正在尝试开发一个锻炼评估聊天机器人。

我想获取我的 iphone 的加速度计数据,我发现有一些适用于 android 的代码,是否有适用于 iphone 的代码?

https://smartphonedaq.com/accelerometer.page

import android
import time

droid = android.Android()
dt = 100 #100ms between sensings
endTime = 3000 #sample for 3000ms
timeSensed=0
droid.startSensingTimed(2,dt) 
while timeSensed <= endTime:
    print droid.sensorsReadAccelerometer().result
    time.sleep(dt/1000.0)
    timeSensed+=dt
droid.stopSensing()

标签: pythoniphone

解决方案


我下载了“Pyto”并用“运动”模块编写了一些代码,现在我得到了加速度计数据,我可以在 30 分钟内计算下蹲和上升。这是代码:'''

import motion
from datetime import datetime, timedelta
import time 
import csv
#import matplotlib.pyplot as plt
tm=[]
data_x=[]
data_y=[]
data_z=[]
combi=[]
data_dic=[]
Record_start=datetime.now()
Record_stop=datetime.now() + timedelta(seconds=30)
print('start time', Record_start)
#print(Record_stop)
for i in range(0, 300):
    if datetime.now() < Record_stop:
        now=datetime.now()
        tm.append(now)
        motion.start_updating()
        motion.stop_updating()
        A=motion.get_acceleration()
        #data_x.append(A[0])
        #data_y.append(A[1])
        #data_z.append(A[2])
        #tm.append(i)
        combine=float(A[0])+float(A[1])+float(A[2])
        C=[now, A[0],A[1],A[2], combine]
        data_dic.append(C)
        #combine=float(A[0])+float(A[1])+float(A[2])
        combi.append(combine)
        time.sleep(0.1)
#print(data_x)
#print(data_y)
#print(data_z)
#print(data_dic)
print('data no.', len(data_dic))
print('end time', Record_stop)
#plt.plot(time, data_z)
#plt.show


count=0
for n in range(0, len(combi)-1):
    cri=-0.5
    if combi[n] > cri:
        if combi[n+1] < cri:
            count+=1
print('you squat and rise', count, 'times.')

'''

但我不知道如何与 Line 聊天机器人集成。是否可以直接使用 Line 聊天机器人获取加速度计?或者从服务器向用户/客户端智能手机发送命令?

对不起,只是不知道如何完成这个循环。感谢所有有用的评论。


推荐阅读