USB_1.pyというpythonファイルを外部の別のpythonプログラムから実行し、その結果を得たいのですがうまくいきません。
Python
1import serial 2from time import sleep 3import subprocess 4import pandas as pd 5import numpy as np 6import time 7import sys 8import csv 9import matplotlib 10matplotlib.use('Agg') 11import matplotlib.pyplot as plt 12 13df1 = pd.DataFrame(columns=['right']) 14df2 = pd.DataFrame(columns=['left']) 15N=1024 #data 16dt=0.03125 #sample 17t=np.arange(0,N*dt,dt) 18freq=np.linspace(0,32/dt,N) 19 20 21def main(): 22 ArdName={'Right_Hand_1':None,'Left_Hand_11':None} 23 UsbSerial = [0 for i in range(3)] 24 USBinfo = subprocess.getoutput('ls /dev | grep ttyACM*') 25 USBinfo = USBinfo.split('\n') 26 print(USBinfo) 27 28 29 for i in range(len(USBinfo)): 30 print(USBinfo[i]) 31 UsbSerial[i] = serial.Serial("/dev/%s"%USBinfo[i],115200) 32 print(UsbSerial[i]) 33 sleep(2) 34 35 for i in range(len(USBinfo)): 36 UsbSerial[i].write('#Tell_Me_Your_Name#'.encode()) 37 x = {UsbSerial[i].read(12)} 38 39 sleep(2) 40 41 42 for i in range(len(USBinfo)): 43 ArdName[subprocess.getoutput('cat /dev/%s'%USBinfo[i])]=UsbSerial[i] 44 UsbSerial[i].write('#ok#'.encode()) 45 46 for loop in range(1024): 47 data1 = UsbSerial[0].readline() 48 data2 = UsbSerial[1].readline() 49 data1=data1.decode() 50 data2=data2.decode() 51 data1=data1.rstrip() 52 data2=data2.rstrip() 53 data1 = int(data1) 54 data2 = int(data2) 55 global df1 56 global df2 57 df1=df1.append({'right':data1},ignore_index=True) 58 df2=df2.append({'left':data2},ignore_index=True) 59 60 UsbSerial[i].close() 61 df1.to_csv('myakuha_right') 62 df2.to_csv('myakuha_left') 63#Serial open 64 ser =serial.Serial('/dev/ttyUSB0',9600) 65#Right array flat 66 array2 = np.array(df1) 67 array1=array2.flatten() 68#Left array flat 69 array3=np.array(df2) 70 array4=array3.flatten() 71 72 #print(array1)#right 73 #print(array4)#left 74#matplot 75 plt.figure(figsize=(8,4)) 76 plt.plot(array1) 77 plt.plot(array4) 78 plt.savefig('myakuha.png') 79 plt.show() 80#ndarry FFT 81 FFT=np.fft.fft(array1) 82 FFT2=np.fft.fft(array4) 83 84 85 86if __name__ == '__main__': 87 main()
上記プログラムを以下のプログラムから実行し、FFTの結果を得要としましたが、エラーが出ました。
Python
1import USB_1 2 3print(USB_1.FFT)
以下がエラーです。
Traceback (most recent call last): File "/home/pi/ttt.py", line 3, in <module> print(USB_1.FFT) AttributeError: 'module' object has no attribute 'FFT'
解決策を教えていただけると嬉しいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。