From 7bb61160cc8f025d0c434bf529a92c000301a368 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:09:11 +0300 Subject: [PATCH 01/13] Update arduino_code.ino --- arduino/arduino_code/arduino_code.ino | 292 +++++++++++++++++--------- 1 file changed, 196 insertions(+), 96 deletions(-) diff --git a/arduino/arduino_code/arduino_code.ino b/arduino/arduino_code/arduino_code.ino index 63418b5..4a2b2c0 100644 --- a/arduino/arduino_code/arduino_code.ino +++ b/arduino/arduino_code/arduino_code.ino @@ -1,104 +1,163 @@ -#include -#include -#include #include -#include - -// RFID -#define SS_PIN 6 -#define RST_PIN 5 -#define solenoidPin 4 -MFRC522 rfid(SS_PIN, RST_PIN); - -const int rs = 12; // Digital Pin 12 -const int en = 11; // Digital Pin 11 -const int d6 = 10; // Digital Pin 10 -const int d4 = 9; // Digital Pin 9 -const int d5 = 8; // Digital Pin 8 -const int d7 = 7; // Digital Pin 7 - -// Keypad -const byte ROWS = 4; // Four rows -const byte COLS = 3; // Three columns -char keys[ROWS][COLS] = { - {'1', '2', '3'}, - {'4', '5', '6'}, - {'7', '8', '9'}, - {'*', '0', '#'} -}; -byte rowPins[ROWS] = {9, 8, 7, 6}; // Connect to the row pinouts of the keypad -byte colPins[COLS] = {5, 4, 3}; // Connect to the column pinouts of the keypad -Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS); - -// Users RFID PASSWORD NAME -String validCards[] = {"CARD1_UID", "CARD2_UID"}; -String userPasswords[] = {"1234", "5678"}; -String userNames[] = {"X", "Y"}; - -// LCD -LiquidCrystal lcd(rs, en, d4, d5, d6, d7); +#include +#include +#include + +#define RelayPin 2 +#define ServoPowerRelayPin 3 // Servo'ya güç verecek rolenin bağlı olduğu pin +#define DoorbellButtonPin 4 // Kapı zili butonunun bağlı olduğu pin +#define SLEEP_TIMEOUT 10000 // Ekranın kapanma süresi (milisaniye) + +LiquidCrystal_I2C lcd(0x27, 16, 2); +Servo garageServo; + +const int buttonPins[] = {13, 12, 11, 10, 9, 8, 7, 6, 5}; +const int buttonNumbers[] = {7, 4, 1, 8, 5, 2, 9, 6, 3}; + +String userPasswords[] = {"5836", "3636", "1877", "1331", "5665", "7568"}; +String userNames[] = {"Mehmet", "Emir", "Nebihe", "Edhem", "Konuk", "Sülo"}; String enteredPassword = ""; +unsigned long lastButtonPressTime = 0; // Son tuş basım zamanını takip eder +bool isScreenOn = true; // Ekranın açık olup olmadığını takip eder +bool isButtonPressed = false; // Tuşun basılı olup olmadığını takip eder + +// Fonksiyon bildirimi (function declarations) +bool isValidPassword(String password); +String getUserByPassword(String password); +void openDoor(); +void openGarage(); +void sendResultToJetson(String message); +void displayGreeting(String user, String identifier); +void sleepScreen(); +void wakeUpScreen(); void setup() { Serial.begin(115200); - SPI.begin(); - rfid.PCD_Init(); - lcd.begin(16, 2); // initialize the lcd for 16 chars 2 lines, turn on backlight + lcd.init(); + lcd.backlight(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); + lcd.setCursor(0, 1); + lcd.print(" Hosgeldiniz! "); + + pinMode(RelayPin, OUTPUT); + pinMode(DoorbellButtonPin, INPUT_PULLUP); + pinMode(ServoPowerRelayPin, OUTPUT); // Servo'ya güç verecek role + digitalWrite(RelayPin, HIGH); + digitalWrite(ServoPowerRelayPin, HIGH); // Servo'ya güç kesik + + for (int i = 0; i < 9; i++) { + pinMode(buttonPins[i], INPUT_PULLUP); + } } void loop() { - // process incoming commands from serial port - if (Serial.available() > 0) { - String command = Serial.readStringUntil('\n'); - if (command == "OPEN_DOOR") { - openDoor(); - } - } + unsigned long currentMillis = millis(); - // RFID Read - if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) { - String cardUID = ""; - for (byte i = 0; i < rfid.uid.size; i++) { - cardUID += String(rfid.uid.uidByte[i], HEX); - } - if (isValidCard(cardUID)) { - String user = getUserByCard(cardUID); - openDoor(); - displayGreeting(user, cardUID); - Serial.print("Hello "); - Serial.println(user); - sendResultToJetson("Hello " + user); - } - rfid.PICC_HaltA(); + // Eğer belirli bir süre boyunca tuşa basılmamışsa ekranı kapat + if (isScreenOn && currentMillis - lastButtonPressTime >= SLEEP_TIMEOUT) { + sleepScreen(); } - // Keypad Read - char key = keypad.getKey(); - if (key) { - if (key == '#') { - if (isValidPassword(enteredPassword)) { - String user = getUserByPassword(enteredPassword); - openDoor(); - displayGreeting(user, "PASSWORD"); - Serial.print("Hello "); - Serial.println(user); - sendResultToJetson("Hello " + user); + // Sayı giriş butonlarıyla ekranı uyandırma ve şifre girişi + bool anyButtonPressed = false; + for (int i = 0; i < 9; i++) { + if (digitalRead(buttonPins[i]) == LOW) { + anyButtonPressed = true; + if (!isScreenOn) { + wakeUpScreen(); } - enteredPassword = ""; - } else { + + lastButtonPressTime = currentMillis; // Son tuş basma zamanını güncelle + String key = String(buttonNumbers[i]); enteredPassword += key; + Serial.print("Entered: "); + Serial.println(enteredPassword); + + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); + lcd.setCursor((16 - enteredPassword.length()) / 2, 1); + // Şifreyi ekrana yıldız (*) olarak yazdır + for (int j = 0; j < enteredPassword.length(); j++) { + lcd.print("*"); + } + + if (enteredPassword.length() >= 4) { + if (enteredPassword == "2562") { + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print("Garaj Aciliyor"); + Serial.println("Garaj Açılıyor"); + delay(500); + openGarage(); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" Garaj Acildi "); + Serial.println("Garaj Açıldı"); + } else if (isValidPassword(enteredPassword)) { + String user = getUserByPassword(enteredPassword); + delay(1000); + displayGreeting(user, "Sifre"); + Serial.print("Hello "); + Serial.println(user); + sendResultToJetson("Hello " + user); + openDoor(); + } else { + Serial.println("Invalid Password!"); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" Hatali Sifre "); + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); + } + enteredPassword = ""; + } + delay(200); } } + + // Ekran açık kalması gereken sürenin hesaplanması + if (anyButtonPressed) { + lastButtonPressTime = currentMillis; // Ekranın kapanma süresini sıfırla + } + + // Kapı zili butonuna basıldığında +if (digitalRead(DoorbellButtonPin) == LOW && !isButtonPressed) { + isButtonPressed = true; // Tekrarlamayı önlemek için bayrak kullanılır + lastButtonPressTime = currentMillis; + + if (!isScreenOn) { + wakeUpScreen(); + } + + Serial.println("doorbell"); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" Kapi Zili! "); + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); +} else if (digitalRead(DoorbellButtonPin) == HIGH && isButtonPressed) { + isButtonPressed = false; // Düğme bırakıldığında bayrağı sıfırla } -bool isValidCard(String uid) { - for (String validCard : validCards) { - if (validCard == uid) { - return true; + + + // Seri port üzerinden komut kontrolü + if (Serial.available() > 0) { + String command = Serial.readStringUntil('\n'); + command.trim(); + if (command == "OPEN_DOOR") { + openDoor(); + } else if (command == "OPEN_GARAGE") { + openGarage(); } } - return false; } bool isValidPassword(String password) { @@ -110,17 +169,8 @@ bool isValidPassword(String password) { return false; } -String getUserByCard(String uid) { - for (int i = 0; i < sizeof(validCards) / sizeof(validCards[0]); i++) { - if (validCards[i] == uid) { - return userNames[i]; - } - } - return "Unknown"; -} - String getUserByPassword(String password) { - for (int i = 0; i < sizeof(userPasswords) / sizeof(userPasswords[0]); i++) { + for (int i = 0; i < (sizeof(userPasswords) / sizeof(userPasswords[0])); i++) { if (userPasswords[i] == password) { return userNames[i]; } @@ -129,9 +179,35 @@ String getUserByPassword(String password) { } void openDoor() { - digitalWrite(solenoidPin, HIGH); - delay(1000); // 1 second delay - digitalWrite(solenoidPin, LOW); + Serial.println("openDoor() tetiklendi"); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" role1 Acildi "); + digitalWrite(RelayPin, LOW); + delay(2000); + digitalWrite(RelayPin, HIGH); + Serial.println("röle1 Açıldı"); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" role1 Kapandi "); + +} + +void openGarage() { + Serial.println("openGarage() tetiklendi"); + + // roleyi aktif edip servo motoruna güç ver + digitalWrite(ServoPowerRelayPin, LOW); + delay(1000); // Güç vermek için kısa bir gecikme + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" role2 Acildi "); + delay(1000); + Serial.println("röle2 Açıldı"); + delay(2000); // 1 saniye bekle + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" röle2 Kapandı "); } void sendResultToJetson(String message) { @@ -141,9 +217,33 @@ void sendResultToJetson(String message) { void displayGreeting(String user, String identifier) { lcd.clear(); - lcd.setCursor(0, 0); + lcd.setCursor((16 - (8 + user.length())) / 2, 0); // 'Merhaba ' 8 karakter uzunluğundadır. lcd.print("Merhaba "); lcd.print(user); + + String fullText = "Giris: " + identifier; + lcd.setCursor((16 - fullText.length()) / 2, 1); + lcd.print(fullText); + + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); + lcd.setCursor(0, 1); + lcd.print(" Hosgeldiniz! "); +} + +void sleepScreen() { + lcd.noBacklight(); + lcd.clear(); + isScreenOn = false; +} + +void wakeUpScreen() { + lcd.backlight(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); lcd.setCursor(0, 1); - lcd.print(identifier); + lcd.print(" Hosgeldiniz! "); + isScreenOn = true; } From 3a6eecf63cad273825394547cd3095d6297d084a Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:09:57 +0300 Subject: [PATCH 02/13] Update app.py --- app.py | 277 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 205 insertions(+), 72 deletions(-) diff --git a/app.py b/app.py index a95c976..f3649d2 100644 --- a/app.py +++ b/app.py @@ -1,107 +1,240 @@ -from fastapi import FastAPI, WebSocket, Request +import logging +import asyncio +from datetime import datetime +from fastapi import FastAPI, WebSocket, Request, HTTPException, WebSocketDisconnect from fastapi.responses import HTMLResponse, StreamingResponse from fastapi.templating import Jinja2Templates +from fastapi.staticfiles import StaticFiles +from pydantic import BaseModel import cv2 -import pytesseract import threading import serial -import asyncio +import os +import glob +from typing import List +import random +import base64 + +# Sabit Değişkenler +CAMERAS = [] +RESULT_MESSAGE = "" +CONNECTED_CLIENTS = set() + +# Kilit Mekanizması +lock = asyncio.Lock() +# FastAPI Uygulaması app = FastAPI() -templates = Jinja2Templates(directory="templates") +templates = Jinja2Templates(directory="/home/jetson/Desktop/H3RU/templates") +app.mount("/static", StaticFiles(directory="/home/jetson/Desktop/H3RU/static"), name="static") -# All Cameras -cameras = [cv2.VideoCapture(i) for i in range(3)] -ser = serial.Serial('/dev/ttyUSB0', 115200) # Arduino's serial port -result_message = "" +# Log Dosyası Ayarları +logging.basicConfig(filename='access_log.txt', level=logging.INFO, format='%(asctime)s - %(message)s') -user_passwords = { - "user1": "1234", - "user2": "5678" - # Add more users -} +# Sound directory for doorbell sounds +SOUNDS_DIR = os.path.join("/home/jetson/Desktop/H3RU/static", "sounds") -# Pytesseract configuration -pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract' # Path to Tesseract OCR executable +# Global list to keep track of active WebSocket connections +active_connections: List[WebSocket] = [] -def gen_frames(cam_index): - cam = cameras[cam_index] - while True: - if not cam.isOpened(): - cam.open(cam_index) - success, frame = cam.read() - if not success: - break - else: - ret, buffer = cv2.imencode('.jpg', frame) - frame = buffer.tobytes() - yield (b'--frame\r\n' - b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n') +# Global list to keep track of active voice WebSocket connections +voice_connections: List[WebSocket] = [] -async def garage_control(): - while True: - ret, frame = cameras[0].read() - if ret: - gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) - # Perform OCR using Pytesseract - text = pytesseract.image_to_string(gray) - print("OCR Text:", text) - # Check if the target plate number is recognized - if "your_target_plate" in text: - ser.write(b'OPEN_GARAGE\n') - print("Garage opens for plate 'your_target_plate'") - await asyncio.sleep(1) +# Kullanıcı Şifreleri +USER_PASSWORDS = {"user1": "1234", "user2": "5678"} + +# Seri Portu Bulma +def find_arduino_port(): + ports = glob.glob('/dev/ttyUSB*') + if ports: + return ports[0] + else: + raise RuntimeError("Arduino seri portu bulunamadı") + +# Arduino Bağlantısı +try: + SER = serial.Serial(find_arduino_port(), 115200, timeout=1) +except Exception as e: + logging.error(f"Arduino bağlantısı başarısız: {e}") + SER = None +# Arduino Mesaj Okuma async def read_from_arduino(): - global result_message + """Arduino'dan veri okur.""" + global RESULT_MESSAGE while True: - if ser.in_waiting > 0: - line = ser.readline().decode('utf-8').strip() - if line.startswith("RESULT:"): - result_message = line.split("RESULT:")[1] + if SER and SER.in_waiting > 0: + try: + line = SER.readline().decode('utf-8').strip() + logging.info(f"Arduino Mesajı: {line}") + print(f"Arduino Mesajı: {line}") # Print to FastAPI terminal + if line.startswith("RESULT:"): + async with lock: + RESULT_MESSAGE = line.split("RESULT:")[1] + await broadcast_message(f"Jetson: {RESULT_MESSAGE}") + if line == "doorbell": + await broadcast_message("doorbell") # Trigger the doorbell sound + await broadcast_random_sound() # Broadcast a random sound + except Exception as e: + logging.error(f"Arduino okuma hatası: {e}") + print(f"Arduino okuma hatası: {e}") # Print error to FastAPI terminal await asyncio.sleep(0.1) +# WebSocket Mesaj Yayını +async def broadcast_message(message: str): + """Tüm WebSocket istemcilerine mesaj gönderir.""" + for connection in active_connections: + await connection.send_text(message) + for connection in voice_connections: + if message == "doorbell": + await connection.send_text("doorbell") + +async def broadcast_random_sound(): + sound_files = [f for f in os.listdir(SOUNDS_DIR) if f.endswith(('.wav', '.mp3'))] + if sound_files and active_connections: + sound_file = random.choice(sound_files) + sound_url = f"/static/sounds/{sound_file}" + print(f"Broadcasting sound: {sound_url}") + disconnected = [] + for connection in active_connections: + try: + await connection.send_text(sound_url) + except WebSocketDisconnect: + disconnected.append(connection) + for connection in disconnected: + active_connections.remove(connection) + print(f"Client disconnected during broadcast: {connection.client}") + +# Pydantic Modeli +class User(BaseModel): + user: str + password: str + +# Kamera Başlatma +def start_cameras(): + """Kameraları başlatır.""" + for i in range(3): # 3 kamera denemesi yapıyoruz + cam = cv2.VideoCapture(i) + if cam.isOpened(): + CAMERAS.append(cam) + logging.info(f"Kamera {i} başarıyla açıldı.") + else: + logging.error(f"Kamera {i} açılamadı.") + +# Kamera Akışı +def gen_frames(cam_index: int): + cam = CAMERAS[cam_index] + while True: + success, frame = cam.read() + if not success: + logging.error(f"Kamera {cam_index} akışı başarısız.") + break + _, buffer = cv2.imencode('.jpg', frame) + yield (b'--frame\r\n' + b'Content-Type: image/jpeg\r\n\r\n' + buffer.tobytes() + b'\r\n') + +# API Rotaları +@app.post("/open_door") +async def open_door(): + if SER: + SER.write(b'OPEN_DOOR\n') + return {"message": "Kapı açılıyor."} + raise HTTPException(status_code=500, detail="Arduino bağlantısı yok") + +@app.post("/open_garage") +async def open_garage(): + if SER: + SER.write(b'OPEN_GARAGE\n') + return {"message": "Garaj kapısı açılıyor."} + raise HTTPException(status_code=500, detail="Arduino bağlantısı yok") + @app.get("/", response_class=HTMLResponse) -async def index(request: Request): +async def get(request: Request): return templates.TemplateResponse("index.html", {"request": request}) @app.get("/video_feed/{cam_id}") async def video_feed(cam_id: int): - if 0 <= cam_id < len(cameras): + if 0 <= cam_id < len(CAMERAS): return StreamingResponse(gen_frames(cam_id), media_type="multipart/x-mixed-replace; boundary=frame") - return "Invalid Camera ID", 404 - -@app.post("/open_door") -async def open_door(): - ser.write(b'OPEN_DOOR\n') - return {"message": "Door Opened"} + raise HTTPException(status_code=404, detail="Geçersiz Kamera ID") @app.post("/validate_password") -async def validate_password(user: str, password: str): - if user in user_passwords and user_passwords[user] == password: - ser.write(b'VALID_PASSWORD\n') - return {"message": "Password Validated"} - return {"message": "Invalid Password"}, 401 +async def validate_password(user: User): + if USER_PASSWORDS.get(user.user) == user.password: + SER.write(b'VALID_PASSWORD\n') + return {"message": "Şifre doğrulandı, kapı açılıyor."} + raise HTTPException(status_code=401, detail="Geçersiz Şifre") @app.get("/result") async def result(): - global result_message - return {"result": result_message} + async with lock: + return {"result": RESULT_MESSAGE} @app.websocket("/ws") async def websocket_endpoint(websocket: WebSocket): await websocket.accept() + active_connections.append(websocket) + print(f"Client connected: {websocket.client}") + try: + while True: + # Keep the connection alive by waiting for messages (even if not used) + await websocket.receive_text() + except WebSocketDisconnect: + active_connections.remove(websocket) + print(f"Client disconnected: {websocket.client}") + +@app.websocket("/voice_ws") +async def voice_websocket_endpoint(websocket: WebSocket): + await websocket.accept() + voice_connections.append(websocket) + try: + while True: + data = await websocket.receive_bytes() + # Broadcast the received audio data to all other voice clients + for connection in voice_connections: + if connection != websocket: + await connection.send_bytes(data) + except WebSocketDisconnect: + voice_connections.remove(websocket) + +async def broadcast_sounds(): while True: - data = await websocket.receive_text() - if data == "result": - await websocket.send_text(result_message) - + sound_files = [f for f in os.listdir(SOUNDS_DIR) if f.endswith(('.wav', '.mp3'))] + if sound_files and active_connections: + sound_file = random.choice(sound_files) + sound_url = f"/static/sounds/{sound_file}" + print(f"Broadcasting sound: {sound_url}") + # Create a list of connections to remove in case of failure + disconnected = [] + for connection in active_connections: + try: + await connection.send_text(sound_url) + except WebSocketDisconnect: + disconnected.append(connection) + # Remove disconnected connections + for connection in disconnected: + active_connections.remove(connection) + print(f"Client disconnected during broadcast: {connection.client}") + await asyncio.sleep(5) + +@app.on_event("startup") +async def startup_event(): + # Arka plan görevlerini burada başlatın + asyncio.create_task(broadcast_sounds()) + asyncio.create_task(read_from_arduino()) # Arduino okumasını başlat + start_cameras() # Kameraları başlat + +# Ana Başlatıcı fonksiyonunu sadeleştirin +def main(): + loop = asyncio.get_event_loop() + loop.create_task(read_from_arduino()) if __name__ == "__main__": - threading.Thread(target=asyncio.run, args=(garage_control(),)).start() - threading.Thread(target=asyncio.run, args=(read_from_arduino(),)).start() import uvicorn - uvicorn.run(app, host="0.0.0.0", port=8000) - - - - + main() + uvicorn.run( + app, + host="0.0.0.0", + port=8001, + ssl_certfile="cert.pem", # SSL sertifika dosyanızın yolu + ssl_keyfile="key.pem" # SSL anahtar dosyanızın yolu + ) From 1b56eb2b9abebb473a944a11b1be6951c4f1928d Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:10:26 +0300 Subject: [PATCH 03/13] Update index.html --- templates/index.html | 254 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 238 insertions(+), 16 deletions(-) diff --git a/templates/index.html b/templates/index.html index 60f2da7..fa03940 100644 --- a/templates/index.html +++ b/templates/index.html @@ -10,8 +10,10 @@ body { font-family: 'Roboto', sans-serif; - background-color: #000000; - color: #333; + background: linear-gradient(120deg, #000000, #333333, #000000); + background-size: 200% 200%; + animation: backgroundAnimation 10s ease infinite; + color: #fff; margin: 0; padding: 0; display: flex; @@ -19,6 +21,15 @@ justify-content: center; align-items: center; min-height: 100vh; + cursor: pointer; + transition: background 0.2s ease; + overflow-x: hidden; /* Buraya eklendi */ + } + + @keyframes backgroundAnimation { + 0% { background-position: 0% 50%; } + 50% { background-position: 100% 50%; } + 100% { background-position: 0% 50%; } } .header { @@ -27,12 +38,22 @@ text-align: center; color: rgb(0, 0, 0); width: 100%; + position: sticky; + top: 0; + z-index: 1000; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); + transition: background-color 0.3s ease; + } + + .header.scrolled { + background-color: #e6e600; } h1 { margin: 0; - font-size: 2em; + font-size: 2.5em; font-weight: 700; + transition: font-size 0.3s ease; } .logo-container { @@ -43,11 +64,18 @@ .logo-container img { width: 200px; height: auto; + transition: transform 0.3s ease; + } + + .logo-container img:hover { + transform: scale(1.1); + filter: brightness(1.3); } .logo-container p { margin: 10px 0 0 0; font-size: 1em; + color: #fff; } .content { @@ -57,29 +85,42 @@ flex-wrap: wrap; gap: 20px; width: 100%; + max-width: 1200px; + padding: 0 20px; + box-sizing: border-box; } .camera-feed { background-color: #fff; padding: 20px; - box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); border-radius: 8px; text-align: center; width: 320px; + transition: transform 0.3s ease, box-shadow 0.3s ease; + } + + .camera-feed:hover { + transform: scale(1.05); + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); + background-color: #fffb00be; } .camera-feed h3 { margin-top: 0; font-weight: 700; + color: #333; + transition: color 0.3s ease; } .camera-box { position: relative; width: 100%; padding-top: 56.25%; - /* 16:9 Aspect Ratio */ overflow: hidden; border-radius: 8px; + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + background-color: #000; } .camera-box img { @@ -89,6 +130,12 @@ width: 100%; height: 100%; object-fit: cover; + transition: opacity 0.3s ease; + } + + .camera-box img:hover { + opacity: 0.8; + filter: brightness(0.8); } .centered-button { @@ -97,7 +144,7 @@ width: 100%; } - #open-door { + #open-door, #open-garage { font-size: 1.2em; padding: 12px 24px; background-color: #fffb00c0; @@ -105,11 +152,14 @@ border: none; border-radius: 4px; cursor: pointer; - transition: background-color 0.3s ease; + transition: background-color 0.3s ease, transform 0.3s ease; + margin-bottom: 10px; } - #open-door:hover { - background-color: #1669c1; + #open-door:hover, #open-garage:hover { + background-color: #fffb00be; + transform: scale(1.05); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } #result-message { @@ -118,7 +168,35 @@ font-size: 1em; color: #555; } + + .chat-box { + position: fixed; + bottom: 10px; + right: 10px; + width: 300px; + max-height: 200px; + overflow-y: auto; + background-color: #333; + color: white; + padding: 10px; + border-radius: 8px; + font-size: 14px; + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); + transition: box-shadow 0.3s ease, background-color 0.3s ease; + } + + .chat-box:hover { + background-color: #fffb00be; + box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3); + } + + .chat-box p { + margin: 0; + padding: 5px 0; + } + + @@ -133,7 +211,7 @@

Outside Garage Camera

- H3RU Logo + H3RU Logo

To everyone who can't finish what they started
- H3RU

@@ -143,8 +221,13 @@

Inside Garage Camera

+
+ + + +

Entrance Camera

@@ -153,8 +236,15 @@

Entrance Camera

+ + + + - + + window.addEventListener('scroll', function () { + const header = document.querySelector('.header'); + if (window.scrollY > 50) { + header.classList.add('scrolled'); + } else { + header.classList.remove('scrolled'); + } + }); + + document.addEventListener('mousemove', function (e) { + const x = e.clientX / window.innerWidth; + const y = e.clientY / window.innerHeight; + + const newBackground = `radial-gradient(circle at ${x * 100}% ${y * 100}%, #fffb00, #333333, #000000)`; + document.body.style.background = newBackground; + }); + + // Initialize WebSocket for voice communication + // Voice WebSocket URL'sini güncelleyin + const voiceSocket = new WebSocket("wss://192.168.5.5:8001/voice_ws"); // 'wss://' kullanın - + voiceSocket.onopen = function() { + console.log("Voice WebSocket bağlantısı başarılı!"); + }; + + voiceSocket.onerror = function(error) { + console.error("Voice WebSocket hatası:", error); + }; + voiceSocket.onclose = function() { + console.log("Voice WebSocket bağlantısı kapandı."); + }; + + // Get audio elements + let audioContext = null; + let localStream; + let remoteStream; + let mediaRecorder; + + document.getElementById('start-voice').addEventListener('click', async function () { + // AudioContext'in başlatılması + if (!audioContext) { + audioContext = new (window.AudioContext || window.webkitAudioContext)(); + try { + localStream = await navigator.mediaDevices.getUserMedia({ audio: true }); + mediaRecorder = new MediaRecorder(localStream); + + mediaRecorder.ondataavailable = function(event) { + if (event.data.size > 0) { + voiceSocket.send(event.data); + } + }; + + mediaRecorder.start(250); // Ses verilerini her 250ms'de bir gönder + + // Ses verilerini al + voiceSocket.onmessage = function(event) { + const arrayBuffer = event.data; + audioContext.decodeAudioData(arrayBuffer, buffer => { + const source = audioContext.createBufferSource(); + source.buffer = buffer; + source.connect(audioContext.destination); + source.start(); + }, error => { + console.error("Audio decode hatası:", error); + }); + }; + } catch (error) { + console.error("Ses başlatma hatası:", error); + } + } else { + // AudioContext zaten var, gerektiğinde tekrar başlatabilirsiniz + if (audioContext.state === 'suspended') { + audioContext.resume(); + } + } + }); + + // WebSocket bağlantı hatalarını önlemek için bağlantı durumunu kontrol edin + ws.onopen = function() { + console.log("WebSocket bağlantısı başarılı!"); + }; + + ws.onerror = function(error) { + console.error("WebSocket hatası:", error); + }; + + ws.onclose = function() { + console.log("WebSocket bağlantısı kapandı."); + }; + + // Doorbell butonu için event listener eklendi + document.getElementById('doorbell').addEventListener('click', function () { + ws.send("doorbell"); // WebSocket üzerinden 'doorbell' mesajı gönder + }); + + // getUserMedia desteğini kontrol edin + if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { + // ...existing getUserMedia code... + } else { + console.error("Tarayıcınız getUserMedia API'sini desteklemiyor."); + } + + + From cef99bfb43a93033e62c72d3cda8656fc00dba93 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sat, 30 Nov 2024 13:12:29 +0300 Subject: [PATCH 04/13] Add files via upload --- static/doorbell.mp3 | Bin 0 -> 96966 bytes static/ra.jpg | Bin 0 -> 91478 bytes static/sounds/doorbell.mp3 | Bin 0 -> 96966 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/doorbell.mp3 create mode 100644 static/ra.jpg create mode 100644 static/sounds/doorbell.mp3 diff --git a/static/doorbell.mp3 b/static/doorbell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8676bd732dbbe8d760af1cc93b31fd9fe671b910 GIT binary patch literal 96966 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 AxBvhE literal 0 HcmV?d00001 diff --git a/static/sounds/doorbell.mp3 b/static/sounds/doorbell.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..8676bd732dbbe8d760af1cc93b31fd9fe671b910 GIT binary patch literal 96966 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 jxP-*M`TF) Date: Sat, 30 Nov 2024 13:13:07 +0300 Subject: [PATCH 05/13] Create daemon.py --- daemon.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 daemon.py diff --git a/daemon.py b/daemon.py new file mode 100644 index 0000000..0909509 --- /dev/null +++ b/daemon.py @@ -0,0 +1,28 @@ +import os +import time +import subprocess + +def is_process_running(process_name): + """Belirtilen process'in çalışıp çalışmadığını kontrol eder.""" + try: + subprocess.check_output(["pgrep", "-f", process_name]) + return True + except subprocess.CalledProcessError: + return False + +def start_application(): + """Uygulamayı başlatır.""" + subprocess.Popen(["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8001"]) + +def main(): + process_name = "uvicorn" + while True: + if not is_process_running(process_name): + print("Uygulama çalışmıyor, başlatılıyor...") + start_application() + else: + print("Uygulama çalışıyor.") + time.sleep(5) + +if __name__ == "__main__": + main() From 339fb3647852bbc02071e0695483c46a8044ab09 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sun, 1 Dec 2024 15:16:55 +0300 Subject: [PATCH 06/13] Update arduino_code.ino --- arduino/arduino_code/arduino_code.ino | 38 ++++++++++++--------------- 1 file changed, 17 insertions(+), 21 deletions(-) diff --git a/arduino/arduino_code/arduino_code.ino b/arduino/arduino_code/arduino_code.ino index 4a2b2c0..4973d02 100644 --- a/arduino/arduino_code/arduino_code.ino +++ b/arduino/arduino_code/arduino_code.ino @@ -125,29 +125,25 @@ void loop() { lastButtonPressTime = currentMillis; // Ekranın kapanma süresini sıfırla } - // Kapı zili butonuna basıldığında -if (digitalRead(DoorbellButtonPin) == LOW && !isButtonPressed) { - isButtonPressed = true; // Tekrarlamayı önlemek için bayrak kullanılır - lastButtonPressTime = currentMillis; - - if (!isScreenOn) { - wakeUpScreen(); + // Kapı zili butonuna basıldığında + if (digitalRead(DoorbellButtonPin) == LOW && !isButtonPressed) { + isButtonPressed = true; + lastButtonPressTime = currentMillis; + if (!isScreenOn) { + wakeUpScreen(); + } + Serial.println("doorbell"); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" Kapi Zili! "); + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); + } else if (digitalRead(DoorbellButtonPin) == HIGH && isButtonPressed) { + isButtonPressed = false; } - Serial.println("doorbell"); - lcd.clear(); - lcd.setCursor(0, 0); - lcd.print(" Kapi Zili! "); - delay(2000); - lcd.clear(); - lcd.setCursor(0, 0); - lcd.print(" HVZ House "); -} else if (digitalRead(DoorbellButtonPin) == HIGH && isButtonPressed) { - isButtonPressed = false; // Düğme bırakıldığında bayrağı sıfırla -} - - - // Seri port üzerinden komut kontrolü if (Serial.available() > 0) { String command = Serial.readStringUntil('\n'); From 92140a11502be8529d507c5708854c79082aaf7e Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sun, 1 Dec 2024 15:16:59 +0300 Subject: [PATCH 07/13] Update index.html --- templates/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/index.html b/templates/index.html index fa03940..2e2b77c 100644 --- a/templates/index.html +++ b/templates/index.html @@ -392,4 +392,4 @@

Entrance Camera

} - + From ead56ba28e72cd642174c024ab8e09832519cad7 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sun, 1 Dec 2024 15:17:38 +0300 Subject: [PATCH 08/13] Update app.py --- app.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app.py b/app.py index f3649d2..319765c 100644 --- a/app.py +++ b/app.py @@ -148,6 +148,12 @@ async def open_garage(): return {"message": "Garaj kapısı açılıyor."} raise HTTPException(status_code=500, detail="Arduino bağlantısı yok") +@app.post("/doorbell") +async def doorbell(): + await broadcast_message("doorbell") + await broadcast_random_sound() + return {"message": "Doorbell triggered"} + @app.get("/", response_class=HTMLResponse) async def get(request: Request): return templates.TemplateResponse("index.html", {"request": request}) From 7fe2f30493f04dc0c12fb2f466c62c1e0e599bc9 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sun, 1 Dec 2024 16:30:22 +0300 Subject: [PATCH 09/13] Update index.html --- templates/index.html | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/templates/index.html b/templates/index.html index 2e2b77c..4a158c8 100644 --- a/templates/index.html +++ b/templates/index.html @@ -246,19 +246,11 @@

Entrance Camera

const ws = new WebSocket("wss://192.168.5.5:8001/ws"); // 'wss://' kullanın document.getElementById('open-door').addEventListener('click', function () { - fetch('/open_door', { method: 'POST' }) - .then(response => response.json()) - .then(data => { - document.getElementById('result-message').innerText = data.message; - }); + ws.send(JSON.stringify({ mode: 3 })); }); document.getElementById('open-garage').addEventListener('click', function () { - fetch('/open_garage', { method: 'POST' }) - .then(response => response.json()) - .then(data => { - document.getElementById('result-message').innerText = data.message; - }); + ws.send(JSON.stringify({ mode: 4 })); }); ws.onmessage = function(event) { @@ -381,7 +373,7 @@

Entrance Camera

// Doorbell butonu için event listener eklendi document.getElementById('doorbell').addEventListener('click', function () { - ws.send("doorbell"); // WebSocket üzerinden 'doorbell' mesajı gönder + ws.send(JSON.stringify({ mode: 1 })); }); // getUserMedia desteğini kontrol edin @@ -392,4 +384,4 @@

Entrance Camera

} - + From d664a08d12c29a2f13d3f6451876a22e9bfab350 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Sun, 1 Dec 2024 16:30:50 +0300 Subject: [PATCH 10/13] Update app.py --- app.py | 41 +++++++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/app.py b/app.py index 319765c..bf106fe 100644 --- a/app.py +++ b/app.py @@ -14,6 +14,7 @@ from typing import List import random import base64 +import json # Sabit Değişkenler CAMERAS = [] @@ -148,12 +149,6 @@ async def open_garage(): return {"message": "Garaj kapısı açılıyor."} raise HTTPException(status_code=500, detail="Arduino bağlantısı yok") -@app.post("/doorbell") -async def doorbell(): - await broadcast_message("doorbell") - await broadcast_random_sound() - return {"message": "Doorbell triggered"} - @app.get("/", response_class=HTMLResponse) async def get(request: Request): return templates.TemplateResponse("index.html", {"request": request}) @@ -183,8 +178,38 @@ async def websocket_endpoint(websocket: WebSocket): print(f"Client connected: {websocket.client}") try: while True: - # Keep the connection alive by waiting for messages (even if not used) - await websocket.receive_text() + message = await websocket.receive_text() + data = json.loads(message) + mode = data.get('mode') + + if mode == 1: + # Mode 1: Trigger doorbell + await broadcast_message("doorbell") + await broadcast_random_sound() + elif mode == 2: + # Mode 2: Play a specific sound + sound_file = data.get('sound_file') + if sound_file: + sound_url = f"/static/sounds/{sound_file}" + await broadcast_message(sound_url) + elif mode == 3: + # Mode 3: Open door + if SER: + SER.write(b'OPEN_DOOR\n') + await websocket.send_text("Door is opening.") + else: + await websocket.send_text("Arduino connection unavailable.") + elif mode == 4: + # Mode 4: Open garage + if SER: + SER.write(b'OPEN_GARAGE\n') + await websocket.send_text("Garage is opening.") + else: + await websocket.send_text("Arduino connection unavailable.") + # Add more modes as needed + else: + # Unknown mode or keep-alive message + pass except WebSocketDisconnect: active_connections.remove(websocket) print(f"Client disconnected: {websocket.client}") From 27e7007d199a82ebe6f39cd5a0effc1e98652e1b Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:56:42 +0300 Subject: [PATCH 11/13] Update arduino_code.ino --- arduino/arduino_code/arduino_code.ino | 50 +++++++++++++++------------ 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/arduino/arduino_code/arduino_code.ino b/arduino/arduino_code/arduino_code.ino index 4973d02..f83d788 100644 --- a/arduino/arduino_code/arduino_code.ino +++ b/arduino/arduino_code/arduino_code.ino @@ -1,15 +1,14 @@ #include #include #include -#include + #define RelayPin 2 -#define ServoPowerRelayPin 3 // Servo'ya güç verecek rolenin bağlı olduğu pin #define DoorbellButtonPin 4 // Kapı zili butonunun bağlı olduğu pin #define SLEEP_TIMEOUT 10000 // Ekranın kapanma süresi (milisaniye) LiquidCrystal_I2C lcd(0x27, 16, 2); -Servo garageServo; + const int buttonPins[] = {13, 12, 11, 10, 9, 8, 7, 6, 5}; const int buttonNumbers[] = {7, 4, 1, 8, 5, 2, 9, 6, 3}; @@ -20,7 +19,9 @@ String userNames[] = {"Mehmet", "Emir", "Nebihe", "Edhem", "Konuk", "Sülo"}; String enteredPassword = ""; unsigned long lastButtonPressTime = 0; // Son tuş basım zamanını takip eder bool isScreenOn = true; // Ekranın açık olup olmadığını takip eder -bool isButtonPressed = false; // Tuşun basılı olup olmadığını takip eder + +// Add a variable to store the last state of the doorbell button +int lastDoorbellButtonState = HIGH; // Fonksiyon bildirimi (function declarations) bool isValidPassword(String password); @@ -42,10 +43,9 @@ void setup() { lcd.print(" Hosgeldiniz! "); pinMode(RelayPin, OUTPUT); - pinMode(DoorbellButtonPin, INPUT_PULLUP); - pinMode(ServoPowerRelayPin, OUTPUT); // Servo'ya güç verecek role + pinMode(DoorbellButtonPin, INPUT_PULLUP); digitalWrite(RelayPin, HIGH); - digitalWrite(ServoPowerRelayPin, HIGH); // Servo'ya güç kesik + for (int i = 0; i < 9; i++) { pinMode(buttonPins[i], INPUT_PULLUP); @@ -126,22 +126,26 @@ void loop() { } // Kapı zili butonuna basıldığında - if (digitalRead(DoorbellButtonPin) == LOW && !isButtonPressed) { - isButtonPressed = true; - lastButtonPressTime = currentMillis; - if (!isScreenOn) { - wakeUpScreen(); + int doorbellButtonState = digitalRead(DoorbellButtonPin); + + if (doorbellButtonState != lastDoorbellButtonState) { + if (doorbellButtonState == LOW) { + // Button just pressed + lastButtonPressTime = currentMillis; + if (!isScreenOn) { + wakeUpScreen(); + } + Serial.println("doorbell"); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" Kapi Zili! "); + delay(2000); + lcd.clear(); + lcd.setCursor(0, 0); + lcd.print(" HVZ House "); } - Serial.println("doorbell"); - lcd.clear(); - lcd.setCursor(0, 0); - lcd.print(" Kapi Zili! "); - delay(2000); - lcd.clear(); - lcd.setCursor(0, 0); - lcd.print(" HVZ House "); - } else if (digitalRead(DoorbellButtonPin) == HIGH && isButtonPressed) { - isButtonPressed = false; + // Save the current state for next time + lastDoorbellButtonState = doorbellButtonState; } // Seri port üzerinden komut kontrolü @@ -193,7 +197,7 @@ void openGarage() { Serial.println("openGarage() tetiklendi"); // roleyi aktif edip servo motoruna güç ver - digitalWrite(ServoPowerRelayPin, LOW); + delay(1000); // Güç vermek için kısa bir gecikme lcd.clear(); lcd.setCursor(0, 0); From d283e84d0aa2f7ef09eb771c845ecd3418f80614 Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:57:44 +0300 Subject: [PATCH 12/13] Update app.py --- app.py | 63 ++++++++++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 35 deletions(-) diff --git a/app.py b/app.py index bf106fe..0476f74 100644 --- a/app.py +++ b/app.py @@ -5,6 +5,7 @@ from fastapi.responses import HTMLResponse, StreamingResponse from fastapi.templating import Jinja2Templates from fastapi.staticfiles import StaticFiles +from contextlib import asynccontextmanager from pydantic import BaseModel import cv2 import threading @@ -24,8 +25,19 @@ # Kilit Mekanizması lock = asyncio.Lock() -# FastAPI Uygulaması -app = FastAPI() +@asynccontextmanager +async def lifespan(app: FastAPI): + # Startup code + asyncio.create_task(read_from_arduino()) + start_cameras() + # Remove the continuous broadcast task + # asyncio.create_task(broadcast_sounds()) + yield + # Shutdown code (if any) + +# Create FastAPI app with lifespan +app = FastAPI(lifespan=lifespan) + templates = Jinja2Templates(directory="/home/jetson/Desktop/H3RU/templates") app.mount("/static", StaticFiles(directory="/home/jetson/Desktop/H3RU/static"), name="static") @@ -75,7 +87,8 @@ async def read_from_arduino(): await broadcast_message(f"Jetson: {RESULT_MESSAGE}") if line == "doorbell": await broadcast_message("doorbell") # Trigger the doorbell sound - await broadcast_random_sound() # Broadcast a random sound + # Remove the random sound broadcast + # await broadcast_random_sound() except Exception as e: logging.error(f"Arduino okuma hatası: {e}") print(f"Arduino okuma hatası: {e}") # Print error to FastAPI terminal @@ -179,13 +192,16 @@ async def websocket_endpoint(websocket: WebSocket): try: while True: message = await websocket.receive_text() + if not message.strip(): + continue data = json.loads(message) mode = data.get('mode') if mode == 1: # Mode 1: Trigger doorbell await broadcast_message("doorbell") - await broadcast_random_sound() + # Removed broadcasting random sound + # await broadcast_random_sound() elif mode == 2: # Mode 2: Play a specific sound sound_file = data.get('sound_file') @@ -210,6 +226,9 @@ async def websocket_endpoint(websocket: WebSocket): else: # Unknown mode or keep-alive message pass + except ValueError: + print("Invalid JSON message received.") + await websocket.send_text("Invalid message format.") except WebSocketDisconnect: active_connections.remove(websocket) print(f"Client disconnected: {websocket.client}") @@ -228,44 +247,18 @@ async def voice_websocket_endpoint(websocket: WebSocket): except WebSocketDisconnect: voice_connections.remove(websocket) -async def broadcast_sounds(): - while True: - sound_files = [f for f in os.listdir(SOUNDS_DIR) if f.endswith(('.wav', '.mp3'))] - if sound_files and active_connections: - sound_file = random.choice(sound_files) - sound_url = f"/static/sounds/{sound_file}" - print(f"Broadcasting sound: {sound_url}") - # Create a list of connections to remove in case of failure - disconnected = [] - for connection in active_connections: - try: - await connection.send_text(sound_url) - except WebSocketDisconnect: - disconnected.append(connection) - # Remove disconnected connections - for connection in disconnected: - active_connections.remove(connection) - print(f"Client disconnected during broadcast: {connection.client}") - await asyncio.sleep(5) - -@app.on_event("startup") -async def startup_event(): - # Arka plan görevlerini burada başlatın - asyncio.create_task(broadcast_sounds()) - asyncio.create_task(read_from_arduino()) # Arduino okumasını başlat - start_cameras() # Kameraları başlat - # Ana Başlatıcı fonksiyonunu sadeleştirin def main(): loop = asyncio.get_event_loop() loop.create_task(read_from_arduino()) if __name__ == "__main__": import uvicorn - main() uvicorn.run( - app, + "app:app", host="0.0.0.0", port=8001, - ssl_certfile="cert.pem", # SSL sertifika dosyanızın yolu - ssl_keyfile="key.pem" # SSL anahtar dosyanızın yolu + ssl_certfile="cert.pem", + ssl_keyfile="key.pem", + ws='auto', + http='auto' ) From 8fe12c2f19ce0ea4ff6bb30e37ffc389f754a9bc Mon Sep 17 00:00:00 2001 From: Emir HAMURCU <134494889+SentryCoderDev@users.noreply.github.com> Date: Tue, 3 Dec 2024 17:58:54 +0300 Subject: [PATCH 13/13] Update index.html --- templates/index.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/templates/index.html b/templates/index.html index 4a158c8..fea4dea 100644 --- a/templates/index.html +++ b/templates/index.html @@ -278,7 +278,8 @@

Entrance Camera

} }; - setInterval(() => ws.send("result"), 1000); + // Update to send valid JSON messages for keep-alive + setInterval(() => ws.send(JSON.stringify({ action: "keepalive" })), 1000); window.addEventListener('scroll', function () { const header = document.querySelector('.header');