70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import time
|
|
import sys
|
|
import json,csv
|
|
|
|
# from deviceManager import DeviceManager
|
|
# from requests import Requests
|
|
from mqtt import MqttThread
|
|
from test import VTmode_run, slop_run ,CVmode_run
|
|
|
|
class Main():
|
|
def __init__(self, controller_id = 'dc:a6:32:0f:56:9d', mqtt_ip = '192.168.2.1') -> None:
|
|
# setup mqtt thread
|
|
self._mqttThread = MqttThread(self, controller_id, mqtt_ip, 1883, 'test')
|
|
self._mqttThread.run()
|
|
|
|
def get_analysis_data(self, input:str):
|
|
start_time = time.time()
|
|
input_data = json.loads(input)['e']
|
|
# print(input_data['data_name'])
|
|
# print([i.split('-') for i in input_data['data_id']])
|
|
search_id = [int(i.split('-')[1]) for i in input_data['data_id']]
|
|
print(search_id)
|
|
with open('csv_file/output.csv', 'w', newline='') as csvfile:
|
|
writer = csv.writer(csvfile)
|
|
# print([[i[0],i[1]] for i in input_data.items()])
|
|
writer.writerows([[i[0],i[1]] for i in input_data.items()])
|
|
writer.writerow("")
|
|
if input_data['mode'] == 1:
|
|
first_flag = True
|
|
for i in search_id:
|
|
print(i)
|
|
raw_data, csv_data = VTmode_run(i, input_data['data_channel'], input_data['data']['persentage'])
|
|
fieldnames = list(csv_data.keys())
|
|
print(fieldnames)
|
|
dict_writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
|
|
if first_flag:
|
|
# self._mqttThread.publish(raw_data)
|
|
dict_writer.writeheader()
|
|
first_flag = False
|
|
print('csv_data', csv_data)
|
|
|
|
dict_writer.writerow(csv_data)
|
|
elif input_data['mode'] == 3:
|
|
raw_data = CVmode_run()
|
|
else:
|
|
for i in search_id:
|
|
raw_data = slop_run(i, input_data['data_channel'], input_data['data']['window'])
|
|
self._mqttThread.publish(raw_data)
|
|
end_time = time.time()
|
|
print("執行時間:%f 秒" % (end_time - start_time))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# if len(sys.argv) < 3:
|
|
# print('please input controller_id & ip')
|
|
# sys.exit()
|
|
|
|
main = Main()
|
|
|
|
try:
|
|
while True:
|
|
time.sleep(1)
|
|
pass
|
|
except (KeyboardInterrupt, SystemExit):
|
|
print("Received keyboard interrupt, quitting ...")
|
|
exit(0)
|