import socket import os class AkıllıEvSistemi: def __init__(self): self.sıcaklık = 20 self.ışık_durumu = False self.hareket_algılayıcı = False def sıcaklık_güncelle(self, yeni_sıcaklık): self.sıcaklık = yeni_sıcaklık return f"Sıcaklık güncellendi: {self.sıcaklık} derece" def ışık_kontrol(self, durum): self.ışık_durumu = durum if durum: return "Işıklar açıldı" else: return "Işıklar kapatıldı" def hareket_algılandı(self): self.hareket_algılayıcı = True return "Hareket algılandı!" def ev_durumu_görüntüle(self): return f"Sıcaklık: {self.sıcaklık} derece, Işık Durumu: {'Açık' if self.ışık_durumu else 'Kapalı'}, Hareket Algılayıcı: {'Aktif' if self.hareket_algılayıcı else 'Pasif'}" # Akıllı ev sistemi oluştur ev = AkıllıEvSistemi() # Sunucu ayarları HOST = socket.gethostbyname(socket.gethostname()) # Yerel IP adresini al PORT = 65432 # Sunucuyu başlat with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket: server_socket.bind((HOST, PORT)) server_socket.listen() print(f"Sunucu başlatıldı, {HOST}:{PORT} üzerinde istemci bekleniyor...") while True: conn, addr = server_socket.accept() with conn: print('Bağlantı adresi:', addr) while True: data = conn.recv(1024) if not data: break elif data.decode() == "sıcaklık_güncelle": yeni_sıcaklık = float(conn.recv(1024).decode()) response = ev.sıcaklık_güncelle(yeni_sıcaklık) elif data.decode() == "ışık_kontrol": durum = conn.recv(1024).decode() response = ev.ışık_kontrol(durum.lower() == "açık") elif data.decode() == "hareket_algılandı": response = ev.hareket_algılandı() elif data.decode() == "ev_durumu_görüntüle": response = ev.ev_durumu_görüntüle() else: response = "Geçersiz istek" conn.sendall(response.encode())