# %matplotlib qt # run this import matplotlib.pyplot as plt # plt.ioff() # disable poping out figure automatically # # recompile post_processing in case update are required # pyduino_path = os.environ['pyduino'] # print(os.environ['pyduino']) # sys.path.append(os.path.join(pyduino_path,'python','post_processing')) # py_compile.compile( # os.path.join(pyduino_path,'python','post_processing', # 'thingsboard_to_pandas_py3.py')) import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) tb_pandas_Mar_2021_Oct_2021 = thingsboard_to_pandas_py3.tingsboard_to_pandas( 'C:/pyduino/pyduino/python/tb_to_csv/tb_credential_Mar_2021_Oct_2021.json') # input is the location of the json file # use the below command to show the comments on tb_credential.json # print tb_pandas_Mar_2021_Oct_2021.input_json['comments'] tb_pandas_Mar_2021_Oct_2021.get_token() # get the token associated with the account tb_pandas_Mar_2021_Oct_2021.get_keys() # list of keys in the device # obtain data from thingsboard stored at tb_pandas_Mar_2021_Oct_2021['results'] tb_pandas_Mar_2021_Oct_2021.get_data() tb_pandas_Mar_2021_Oct_2021.convert_data_to_df() # convert each datasets to pandas dataframe #'ec1,ec2,ec3,ec4,ec5,ec6,ec_piezo1,p1_cs451,p2_cs451,p3_cs451,p_5802,p_5802_2,p_piezo1,rainfall,raw2,raw3,raw4,raw5,raw6,rh_logger,sa1_ec1,sa1_ec2,sa1_ec3,sa1_ec4,sa1_ec5,sa1_ec_piezo,sa1_ir,sa1_p_5802,sa1_p_5803,sa1_p_piezo,sa1_raw1,sa1_raw2,sa1_raw3,sa1_raw4,sa1_raw5,sa1_rh_logger,sa1_sht31_humidity_1,sa1_sht31_temp_1,sa1_t_5802,sa1_t_5803,sa1_t_piezo,sa1_temp1,sa1_temp2,sa1_temp3,sa1_temp4,sa1_temp5,sa1_temp_logger,sa1_uv,sa1_vis,sa1_volt,sa2_ec1,sa2_ec2,sa2_ec3,sa2_ec4,sa2_ec5,sa2_ec_piezo,sa2_ir,sa2_p_5803,sa2_p_piezo,sa2_raw1,sa2_raw2,sa2_raw3,sa2_raw4,sa2_raw5,sa2_rh_logger,sa2_t_5803,sa2_t_piezo,sa2_temp1,sa2_temp2,sa2_temp3,sa2_temp4,sa2_temp5,sa2_temp_logger,sa2_uv,sa2_vis,sa2_volt,sa3_ec_piezo,sa3_ir,sa3_mo1,sa3_mo2,sa3_mo3,sa3_mo4,sa3_mo5,sa3_p_5803,sa3_p_piezo,sa3_rh_logger,sa3_t_5803,sa3_t_piezo,sa3_temp_logger,sa3_uv,sa3_vis,sa3_volt,sa4_ec_piezo,sa4_p_piezo,sa4_t_piezo,sht31_humidity_1,sht31_temp_1,t1_cs451,t2_cs451,t3_cs451,t_5802,t_5802_2,t_piezo1,temp2,temp3,temp4,temp5,temp6,temp_logger,volt,wind_direction,wind_speed'
import matplotlib.pyplot as plt # plt.ioff() # disable poping out figure automatically # # recompile post_processing in case update are required # pyduino_path = os.environ['pyduino'] # print(os.environ['pyduino']) # sys.path.append(os.path.join(pyduino_path,'python','post_processing')) # py_compile.compile( # os.path.join(pyduino_path,'python','post_processing', # 'thingsboard_to_pandas_py3.py')) import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) # tb_pandas = thingsboard_to_pandas_py3.tingsboard_to_pandas( # 'C:/pyduino/pyduino/python/tb_to_csv/tb_credential_mar_2021_oct_2021.json') tb_pandas = thingsboard_to_pandas_py3.tingsboard_to_pandas( 'C:/pyduino/pyduino/python/tb_to_csv/tb_credential_sep_2021_jan_2022.json') # input is the location of the json file # use the below command to show the comments on tb_credential.json # print tb_pandas.input_json['comments'] tb_pandas.get_token() # get the token associated with the account tb_pandas.get_keys() # list of keys in the device # obtain data from thingsboard stored at tb_pandas['results'] tb_pandas.get_data() tb_pandas.convert_data_to_df() # convert each datasets to pandas dataframe # tb_pandas.result_df.astype(np.float32) #'ec1,ec2,ec3,ec4,ec5,ec6,ec_piezo1,p1_cs451,p2_cs451,p3_cs451,p_5802,p_5802_2,p_piezo1,rainfall,raw2,raw3,raw4,raw5,raw6,rh_logger,sa1_ec1,sa1_ec2,sa1_ec3,sa1_ec4,sa1_ec5,sa1_ec_piezo,sa1_ir,sa1_p_5802,sa1_p_5803,sa1_p_piezo,sa1_raw1,sa1_raw2,sa1_raw3,sa1_raw4,sa1_raw5,sa1_rh_logger,sa1_sht31_humidity_1,sa1_sht31_temp_1,sa1_t_5802,sa1_t_5803,sa1_t_piezo,sa1_temp1,sa1_temp2,sa1_temp3,sa1_temp4,sa1_temp5,sa1_temp_logger,sa1_uv,sa1_vis,sa1_volt,sa2_ec1,sa2_ec2,sa2_ec3,sa2_ec4,sa2_ec5,sa2_ec_piezo,sa2_ir,sa2_p_5803,sa2_p_piezo,sa2_raw1,sa2_raw2,sa2_raw3,sa2_raw4,sa2_raw5,sa2_rh_logger,sa2_t_5803,sa2_t_piezo,sa2_temp1,sa2_temp2,sa2_temp3,sa2_temp4,sa2_temp5,sa2_temp_logger,sa2_uv,sa2_vis,sa2_volt,sa3_ec_piezo,sa3_ir,sa3_mo1,sa3_mo2,sa3_mo3,sa3_mo4,sa3_mo5,sa3_p_5803,sa3_p_piezo,sa3_rh_logger,sa3_t_5803,sa3_t_piezo,sa3_temp_logger,sa3_uv,sa3_vis,sa3_volt,sa4_ec_piezo,sa4_p_piezo,sa4_t_piezo,sht31_humidity_1,sht31_temp_1,t1_cs451,t2_cs451,t3_cs451,t_5802,t_5802_2,t_piezo1,temp2,temp3,temp4,temp5,temp6,temp_logger,volt,wind_direction,wind_speed' ## check the length of each pandas #for i in list(tb_pandas.result_df):
def get_date_taken(path): from datetime import datetime return datetime.strptime(Image.open(path)._getexif()[36867],'%Y:%m:%d %H:%M:%S') import glob, os import scipy.stats as st import seaborn as sns import pandas_scale_py3 as pandas_scale import constants import matplotlib.pyplot as plt import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) fontsize_label=20 porosity=0.5 column_radius_m=0.05 # tb_pandas=thingsboard_to_pandas_py3.tingsboard_to_pandas('C:/pyduino/pyduino/python/tb_to_csv/tb_credential_column.json') tb_pandas=thingsboard_to_pandas_py3.tingsboard_to_pandas('C:/pyduino/pyduino/python/tb_to_csv/tb_credential_column_feb_2022.json') tb_pandas.get_token() # get the token associated with the account tb_pandas.get_keys() # list of keys in the device tb_pandas.get_data() # obtain data from thingsboard stored at tb_pandas['results'] tb_pandas.convert_data_to_df() # convert each datasets to pandas dataframe # merge data with open('C:/pyduino/pyduino/python/tb_to_csv/schedule_column_feb_2022.json') as data_file: sp_input = json.load(data_file)
# %matplotlib qt # run this import matplotlib.pyplot as plt plt.ioff() # disable poping out figure automatically # recompile post_processing in case update are required pyduino_path = os.environ['pyduino'] print(os.environ['pyduino']) sys.path.append(os.path.join(pyduino_path,'python','post_processing')) py_compile.compile( os.path.join(pyduino_path,'python','post_processing', 'thingsboard_to_pandas_py3.py')) import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) tb_pandas=thingsboard_to_pandas_py3.tingsboard_to_pandas('tb_credential.json') # input is the location of the json file # use the below command to show the comments on tb_credential.json # print tb_pandas.input_json['comments'] tb_pandas.get_token() # get the token associated with the account tb_pandas.get_keys() # list of keys in the device tb_pandas.get_data() # obtain data from thingsboard stored at tb_pandas['results'] tb_pandas.convert_data_to_df() # convert each datasets to pandas dataframe #'ec1,ec2,ec3,ec4,ec5,ec6,ec_piezo1,p1_cs451,p2_cs451,p3_cs451,p_5802,p_5802_2,p_piezo1,rainfall,raw2,raw3,raw4,raw5,raw6,rh_logger,sa1_ec1,sa1_ec2,sa1_ec3,sa1_ec4,sa1_ec5,sa1_ec_piezo,sa1_ir,sa1_p_5802,sa1_p_5803,sa1_p_piezo,sa1_raw1,sa1_raw2,sa1_raw3,sa1_raw4,sa1_raw5,sa1_rh_logger,sa1_sht31_humidity_1,sa1_sht31_temp_1,sa1_t_5802,sa1_t_5803,sa1_t_piezo,sa1_temp1,sa1_temp2,sa1_temp3,sa1_temp4,sa1_temp5,sa1_temp_logger,sa1_uv,sa1_vis,sa1_volt,sa2_ec1,sa2_ec2,sa2_ec3,sa2_ec4,sa2_ec5,sa2_ec_piezo,sa2_ir,sa2_p_5803,sa2_p_piezo,sa2_raw1,sa2_raw2,sa2_raw3,sa2_raw4,sa2_raw5,sa2_rh_logger,sa2_t_5803,sa2_t_piezo,sa2_temp1,sa2_temp2,sa2_temp3,sa2_temp4,sa2_temp5,sa2_temp_logger,sa2_uv,sa2_vis,sa2_volt,sa3_ec_piezo,sa3_ir,sa3_mo1,sa3_mo2,sa3_mo3,sa3_mo4,sa3_mo5,sa3_p_5803,sa3_p_piezo,sa3_rh_logger,sa3_t_5803,sa3_t_piezo,sa3_temp_logger,sa3_uv,sa3_vis,sa3_volt,sa4_ec_piezo,sa4_p_piezo,sa4_t_piezo,sht31_humidity_1,sht31_temp_1,t1_cs451,t2_cs451,t3_cs451,t_5802,t_5802_2,t_piezo1,temp2,temp3,temp4,temp5,temp6,temp_logger,volt,wind_direction,wind_speed'
import matplotlib #matplotlib.use('Agg') import matplotlib.pyplot as plt plt.ioff() # disable poping out figure automatically # recompile post_processing in case update are required pyduino_path = os.environ['pyduino'] print(os.environ['pyduino']) sys.path.append(os.path.join(pyduino_path, 'python', 'post_processing')) py_compile.compile( os.path.join(pyduino_path, 'python', 'post_processing', 'thingsboard_to_pandas_py3.py')) import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) tb_pandas = thingsboard_to_pandas_py3.tingsboard_to_pandas( 'tb_credential.json') # input is the location of the json file # use the below command to show the comments on tb_credential.json # print tb_pandas.input_json['comments'] # ensure that 'tb_crendential.json' is in the current working directory tb_pandas.get_token() # get the token associated with the account tb_pandas.get_keys() # list of keys in the device tb_pandas.get_data( ) # obtain data from thingsboard stored at tb_pandas['results'] tb_pandas.convert_data_to_df() # convert each datasets to pandas dataframe tb_pandas.plot_df(['sa3_uv', 'sa3_vis']) # small optation to the failed measurement tb_pandas.result_df['temp2']['value'][ tb_pandas.result_df['temp2']['value'] < 5] = np.nan
#matplotlib.use('Agg') import matplotlib.pyplot as plt plt.ioff() # disable poping out figure automatically # recompile post_processing in case update are required pyduino_path = os.environ['pyduino'] print(os.environ['pyduino']) sys.path.append(os.path.join(pyduino_path, 'python', 'post_processing')) py_compile.compile( os.path.join(pyduino_path, 'python', 'post_processing', 'thingsboard_to_pandas_py3.py')) import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) tb_pandas = thingsboard_to_pandas_py3.tingsboard_to_pandas( 'C:/pyduino/pyduino/python/tb_to_csv/tb_credential.json' ) # input is the location of the json file # use the below command to show the comments on tb_credential.json # print tb_pandas.input_json['comments'] tb_pandas.get_token() # get the token associated with the account tb_pandas.get_keys() # list of keys in the device tb_pandas.get_data( ) # obtain data from thingsboard stored at tb_pandas['results'] tb_pandas.convert_data_to_df() # convert each datasets to pandas dataframe tb_pandas.plot_df(['sa3_uv', 'sa3_vis']) # small optation to the failed measurement tb_pandas.result_df['temp_2']['value'][ tb_pandas.result_df['temp_2']['value'] < 5] = np.nan
import matplotlib.pyplot as plt # plt.ioff() # disable poping out figure automatically # # recompile post_processing in case update are required # pyduino_path = os.environ['pyduino'] # print(os.environ['pyduino']) # sys.path.append(os.path.join(pyduino_path,'python','post_processing')) # py_compile.compile( # os.path.join(pyduino_path,'python','post_processing', # 'thingsboard_to_pandas_py3.py')) import thingsboard_to_pandas_py3 #reload(thingsboard_to_pandas_py3) # tb_pandas = thingsboard_to_pandas_py3.tingsboard_to_pandas( # 'C:/pyduino/pyduino/python/tb_to_csv/tb_credential_mar_2021_oct_2021.json') tb_pandas = thingsboard_to_pandas_py3.tingsboard_to_pandas( 'C:/pyduino/pyduino/python/tb_to_csv/tb_credential.json') # input is the location of the json file # use the below command to show the comments on tb_credential.json # print tb_pandas.input_json['comments'] tb_pandas.get_token() # get the token associated with the account tb_pandas.get_keys() # list of keys in the device # obtain data from thingsboard stored at tb_pandas['results'] tb_pandas.get_data() tb_pandas.convert_data_to_df() # convert each datasets to pandas dataframe # tb_pandas.result_df.astype(np.float32) #'ec1,ec2,ec3,ec4,ec5,ec6,ec_piezo1,p1_cs451,p2_cs451,p3_cs451,p_5802,p_5802_2,p_piezo1,rainfall,raw2,raw3,raw4,raw5,raw6,rh_logger,sa1_ec1,sa1_ec2,sa1_ec3,sa1_ec4,sa1_ec5,sa1_ec_piezo,sa1_ir,sa1_p_5802,sa1_p_5803,sa1_p_piezo,sa1_raw1,sa1_raw2,sa1_raw3,sa1_raw4,sa1_raw5,sa1_rh_logger,sa1_sht31_humidity_1,sa1_sht31_temp_1,sa1_t_5802,sa1_t_5803,sa1_t_piezo,sa1_temp1,sa1_temp2,sa1_temp3,sa1_temp4,sa1_temp5,sa1_temp_logger,sa1_uv,sa1_vis,sa1_volt,sa2_ec1,sa2_ec2,sa2_ec3,sa2_ec4,sa2_ec5,sa2_ec_piezo,sa2_ir,sa2_p_5803,sa2_p_piezo,sa2_raw1,sa2_raw2,sa2_raw3,sa2_raw4,sa2_raw5,sa2_rh_logger,sa2_t_5803,sa2_t_piezo,sa2_temp1,sa2_temp2,sa2_temp3,sa2_temp4,sa2_temp5,sa2_temp_logger,sa2_uv,sa2_vis,sa2_volt,sa3_ec_piezo,sa3_ir,sa3_mo1,sa3_mo2,sa3_mo3,sa3_mo4,sa3_mo5,sa3_p_5803,sa3_p_piezo,sa3_rh_logger,sa3_t_5803,sa3_t_piezo,sa3_temp_logger,sa3_uv,sa3_vis,sa3_volt,sa4_ec_piezo,sa4_p_piezo,sa4_t_piezo,sht31_humidity_1,sht31_temp_1,t1_cs451,t2_cs451,t3_cs451,t_5802,t_5802_2,t_piezo1,temp2,temp3,temp4,temp5,temp6,temp_logger,volt,wind_direction,wind_speed' ## check the length of each pandas #for i in list(tb_pandas.result_df):