こんにちは。
bitalinoをpythonから動かしてリアルタイム処理することを目標にいろいろやっているのですが、
出力されたcsvファイルを見ていると、サンプリング周波数が1000になっているのにも関わらずデータ数が1000個しか出力されてきません。
改善策を教えていただきたいです。
また、このプログラムでとれた心拍からピークを取って出力するというところまでをリアルタイム処理でしていきたいと考えています。
乱文になりましたが、ご教授お願いいたします。
python
1 2import matplotlib.pyplot as plt 3 4import time 5 6from bitalino import BITalino 7 8# The macAddress variable on Windows can be "XX:XX:XX:XX:XX:XX" or "COMX" 9# while on Mac OS can be "/dev/tty.BITalino-XX-XX-DevB" for devices ending with the last 4 digits of the MAC address or "/dev/tty.BITalino-DevB" for the remaining 10macAddress = "98:D3:A1:FD:5B:E8" 11 12#This example will collect data for 5 sec. 13running_time = 10 14 15batteryThreshold = 30 16acqChannels = [0, 1, 2, 3, 4, 5] 17samplingRate = 1000 18nSamples = 10 19digitalOutput = [1,1] 20 21# Connect to BITalino 22device = BITalino(macAddress) 23 24# Set battery threshold 25device.battery(batteryThreshold) 26 27 28# Read BITalino version 29print(device.version()) 30 31# Start Acquisition 32device.start(samplingRate, acqChannels) 33 34start = time.time() 35end = time.time() 36f = open('hogehoge2.csv','w',) 37 38while (end - start) < running_time: 39 # Read samples 40 data = device.read(nSamples) 41 s = data[:, 7] 42 43 for i in range(0,9): 44 print(s[i]) 45 46 f.write(str(s[i])) 47 f.write('\n') 48 #f.close() 49 end = time.time() 50 plt.plot(data[:, 7]) 51f.close() 52 53# Turn BITalino led on 54device.trigger(digitalOutput) 55 56# Stop acquisition 57device.stop() 58 59# Close connection 60device.close() 61
あなたの回答
tips
プレビュー