Как я могу получить данные акселерометра моего iphone?

avatar
SunYoung Lin
9 августа 2021 в 04:11
76
1
-1

Я пытаюсь разработать чат-бота для оценки упражнений.

Я хочу получить данные акселерометра моего 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()
Источник

Ответы (1)

avatar
SunYoung Lin
11 августа 2021 в 06:33
0

Я загружаю '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? Или отправить команду с сервера на смартфон пользователя/клиента?

Извините, просто не могу понять, как завершить этот цикл. Спасибо за все полезные комментарии.