Commit ec13e04b authored by suryakant's avatar suryakant

CSV-Kairos-ADX Data Push

parent 56dcc209
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -7,7 +7,7 @@ from azure.iot.device import IoTHubDeviceClient ...@@ -7,7 +7,7 @@ from azure.iot.device import IoTHubDeviceClient
from kairos_to_IoT_Hub_data_push import KairosDataPush from kairos_to_IoT_Hub_data_push import KairosDataPush
# COMMON CONSTANTS # COMMON CONSTANTS
TIME_INTERVAL = 60 TIME_INTERVAL = 10
EQUIPMENT = "Equipment" EQUIPMENT = "Equipment"
MACHINE = "Machine" MACHINE = "Machine"
PARAMETER_NAME_KEY = "Parameter Name" PARAMETER_NAME_KEY = "Parameter Name"
...@@ -29,7 +29,7 @@ tag_sheet_df = pd.read_csv("Data/Apollo/tags_download_002.csv") ...@@ -29,7 +29,7 @@ tag_sheet_df = pd.read_csv("Data/Apollo/tags_download_002.csv")
data_sheet_df = pd.read_csv("Data/Apollo/ATL-Data-IPQC_002.csv") data_sheet_df = pd.read_csv("Data/Apollo/ATL-Data-IPQC_002.csv")
class SDK_iot_hub_Integration: class SDKIoTHubIntegration:
""" """
Class: This is the class for pushing events to Azure IoT Hub Class: This is the class for pushing events to Azure IoT Hub
""" """
...@@ -46,7 +46,8 @@ class SDK_iot_hub_Integration: ...@@ -46,7 +46,8 @@ class SDK_iot_hub_Integration:
client = None client = None
try: try:
print("Initiating - iot_hub_client_init method") print("Initiating - iot_hub_client_init method")
client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING) client = IoTHubDeviceClient.create_from_connection_string(
CONNECTION_STRING)
print("Connected - iot_hub_client_init method") print("Connected - iot_hub_client_init method")
except Exception as err: except Exception as err:
print("Exception in iot_hub_client_init: ", str(err)) print("Exception in iot_hub_client_init: ", str(err))
...@@ -93,7 +94,8 @@ class SDK_iot_hub_Integration: ...@@ -93,7 +94,8 @@ class SDK_iot_hub_Integration:
""" Iterating over each tags for Apollo Tyre XL Data """ """ Iterating over each tags for Apollo Tyre XL Data """
for each_tags in range(len(tag_sheet_df)): for each_tags in range(len(tag_sheet_df)):
if str(tag_sheet_df.loc[each_tags, EQUIPMENT]).split("-")[-1] == \ if str(tag_sheet_df.loc[each_tags, EQUIPMENT]).split("-")[
-1] == \
str(data_sheet_df.loc[each_tags, MACHINE]): str(data_sheet_df.loc[each_tags, MACHINE]):
data_point = None data_point = None
...@@ -101,28 +103,38 @@ class SDK_iot_hub_Integration: ...@@ -101,28 +103,38 @@ class SDK_iot_hub_Integration:
# Creating a datapoint # Creating a datapoint
data_point = data_sheet_df.loc[ data_point = data_sheet_df.loc[
each_row, str(tag_sheet_df.loc[each_tags, each_row, str(tag_sheet_df.loc[each_tags,
PARAMETER_NAME_KEY]).replace(" ", "_")] PARAMETER_NAME_KEY]).replace(
" ", "_")]
# final JSON with tag values # final JSON with tag values
final_json[DATA_KEY][tag_sheet_df.loc[each_tags, TAG_ID_KEY]] = { final_json[DATA_KEY][
tag_sheet_df.loc[each_tags, TAG_ID_KEY]] = {
"val": int(data_point), "val": int(data_point),
"dq": 1, "dq": 1,
"ta": str(tag_sheet_df.loc[each_tags, "ta": str(tag_sheet_df.loc[each_tags,
PARAMETER_NAME_KEY]).replace(" ", "")} PARAMETER_NAME_KEY]).replace(
" ", "")}
except: except:
if data_point: if data_point:
# if data points are present for tag in data csv # if data points are present for tag in data csv
final_json[DATA_KEY][tag_sheet_df.loc[each_tags, TAG_ID_KEY]] = { final_json[DATA_KEY][
tag_sheet_df.loc[each_tags, TAG_ID_KEY]] = {
"val": data_point, "val": data_point,
"dq": 1, "dq": 1,
"ta": str(tag_sheet_df.loc[each_tags, PARAMETER_NAME_KEY]).replace(" ", "") "ta": str(tag_sheet_df.loc[
each_tags, PARAMETER_NAME_KEY]).replace(
" ", "")
} }
else: else:
# if data points are not present for tag in data csv # if data points are not present for
final_json[DATA_KEY][tag_sheet_df.loc[each_tags, TAG_ID_KEY]] = { # tag in data csv
final_json[DATA_KEY][
tag_sheet_df.loc[each_tags, TAG_ID_KEY]] = {
"val": 0, "val": 0,
"dq": 2, "dq": 2,
"ta": str(tag_sheet_df.loc[each_tags, PARAMETER_NAME_KEY]).replace(" ", "") "ta": str(tag_sheet_df.loc[
each_tags, PARAMETER_NAME_KEY]).replace(
" ", "")
} }
""" Iterating over each data for Kairos Data """ """ Iterating over each data for Kairos Data """
...@@ -177,5 +189,5 @@ class SDK_iot_hub_Integration: ...@@ -177,5 +189,5 @@ class SDK_iot_hub_Integration:
if __name__ == "__main__": if __name__ == "__main__":
cloud_to_device_obj = SDK_iot_hub_Integration() cloud_to_device_obj = SDKIoTHubIntegration()
cloud_to_device_obj.iot_hub_client_telemetry_sample_run() cloud_to_device_obj.iot_hub_client_telemetry_sample_run()
...@@ -64,7 +64,8 @@ class KairosDataPush: ...@@ -64,7 +64,8 @@ class KairosDataPush:
"unit": "hours" "unit": "hours"
} }
} }
self.kairos_url = "https://staging.unifytwin.com/kairos/api/v1/datapoints/query" self.kairos_url = "https://staging.unifytwin.com/kairos/api/v1/" \
"datapoints/query"
self.header = { self.header = {
'Authorization': 'Basic aUxlbnM6aUxlbnNTVEckNDU2', 'Authorization': 'Basic aUxlbnM6aUxlbnNTVEckNDU2',
'Content-Type': 'application/json'} 'Content-Type': 'application/json'}
...@@ -113,7 +114,8 @@ class KairosDataPush: ...@@ -113,7 +114,8 @@ class KairosDataPush:
data=json.dumps(self.kairos_metrics)) data=json.dumps(self.kairos_metrics))
for each_kairos_data in json.loads(response.text)["queries"][0]["results"]: for each_kairos_data in json.loads(response.text)["queries"][0]["results"]:
data_json[each_kairos_data["tags"]["c3"][0]] = dict(each_kairos_data["values"]) data_json[each_kairos_data["tags"]["c3"][0]] = dict(
each_kairos_data["values"])
for each_tags in self.tags_list: for each_tags in self.tags_list:
if each_tags not in data_json: if each_tags not in data_json:
...@@ -138,7 +140,8 @@ class KairosDataPush: ...@@ -138,7 +140,8 @@ class KairosDataPush:
client = None client = None
try: try:
print("Initiating - iot_hub_client_init method") print("Initiating - iot_hub_client_init method")
client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING) client = IoTHubDeviceClient.create_from_connection_string(
CONNECTION_STRING)
print("Connected - iot_hub_client_init method") print("Connected - iot_hub_client_init method")
except Exception as err: except Exception as err:
print("Exception in iot_hub_client_init: ", str(err)) print("Exception in iot_hub_client_init: ", str(err))
...@@ -155,7 +158,8 @@ class KairosDataPush: ...@@ -155,7 +158,8 @@ class KairosDataPush:
# Connection to IoT Hub using connection strings # Connection to IoT Hub using connection strings
client = self.iot_hub_client_init() client = self.iot_hub_client_init()
tag_list, kairos_data_df = self.reading_csv_excel_file(csv_excel_path=csv_path) tag_list, kairos_data_df = self.reading_csv_excel_file(
csv_excel_path=csv_path)
message_counter = 1 message_counter = 1
...@@ -225,7 +229,6 @@ class KairosDataPush: ...@@ -225,7 +229,6 @@ class KairosDataPush:
except KeyboardInterrupt: except KeyboardInterrupt:
print("STOP: IoT Hub device data push") print("STOP: IoT Hub device data push")
# if __name__ == "__main__": # if __name__ == "__main__":
# #
# # Send Telemetry to Cloud # # Send Telemetry to Cloud
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment