From 48b63c41c62b777f8a12339c4dd51e9a270df8aa Mon Sep 17 00:00:00 2001 From: KOSASIH Date: Tue, 27 Aug 2024 10:30:44 +0700 Subject: [PATCH] Update wearable.py --- iot-integration/iot_devices/wearable.py | 52 ++++++++++++++++++------- 1 file changed, 39 insertions(+), 13 deletions(-) diff --git a/iot-integration/iot_devices/wearable.py b/iot-integration/iot_devices/wearable.py index 06979a405..5fa4cc7bf 100644 --- a/iot-integration/iot_devices/wearable.py +++ b/iot-integration/iot_devices/wearable.py @@ -1,16 +1,42 @@ -import requests +import os +import json +import socket +import time +from cryptography.fernet import Fernet -class WearableDevice: - def __init__(self, device_id, device_token): - self.device_id = device_id - self.device_token = device_token +class Wearable: + def __init__(self, wearable_id, wearable_secret, home_id, home_secret): + self.wearable_id = wearable_id + self.wearable_secret = wearable_secret + self.home_id = home_id + self.home_secret = home_secret + self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + self.socket.connect(('localhost', 8080)) - def authenticate_transaction(self, transaction_id): - # Make a request to the wearable API to authenticate the transaction - response = requests.get(f'https://wearable-api.com/transactions/{transaction_id}', headers={'Authorization': f'Bearer {self.device_token}'}) - return response.json() + def send_data(self, data): + self.socket.send(data.encode()) - def get_user_data(self): - # Make a request to the wearable API to retrieve user data - response = requests.get(f'https://wearable-api.com/users/{self.device_id}', headers={'Authorization': f'Bearer {self.device_token}'}) - return response.json() + def receive_command(self): + command = self.socket.recv(1024) + return command.decode() + + def authenticate(self): + cipher_suite = Fernet(self.wearable_secret) + encrypted_home_secret = cipher_suite.encrypt(self.home_secret.encode()) + self.socket.send(self.wearable_id.encode()) + self.socket.send(encrypted_home_secret) + + def start(self): + self.authenticate() + while True: + data = 'Heart rate: 100 bpm' + self.send_data(data) + time.sleep(1) + +if __name__ == '__main__': + wearable_id = 'wearable123' + wearable_secret = 'secret123' + home_id = 'home123' + home_secret = 'secret123' + wearable = Wearable(wearable_id, wearable_secret, home_id, home_secret) + wearable.start()