DenubAI • Yapay Zekâ Destekli Araç Sistemi

Akıllı Sistem, Güvenli Sürüş.

DenubOS, araç içi deneyimi yapay zekâ ile yeniden tanımlar. Gerçek zamanlı analiz ve ileri seviye güvenlik sağlar.

Donanım

DenubOS Donanım Ekosistemi

Projenin tüm güç, sensör ve kontrol bileşenleri

🧠 Jetson AGX Orin

AI Core

Gerçek zamanlı yapay zeka işleme birimi ve ana sinir ağı merkezi.

📡 ESP32-S3-DEVKITC-1

N32R16V

Yüksek flash ve PSRAM kapasiteli N32R16V kontrol düğümü.

🖥️ Lesown 10.1" Ekran

HMI Main

Geniş kokpit arayüzü ve multimedya görselleştirme paneli.

🖥️ 2.1" Nextion TFT

Edge HMI

Dinamik kadranlar ve araç içi sürücü etkileşim paneli.

⚡ Mean Well Dönüştürücü

Power Supply

Sistem bileşenleri için kararlı ve endüstriyel güç regülasyonu.

📷 Arducam 5MP RGBIR

Global Shutter

RGBIR Global Shutter USB 3.0 Kamera Değerlendirme Kiti.

📷 ZED X Stereo Kamera

Front Vision

Yüksek performanslı derinlik algılama ve ön görüş birimi.

📷 ZED X Mini Stereo Camera

Rear Vision

Arka alan derinlik izleme ve çevre güvenliği birimi.

🛰️ MengJie MJRTK-UM982

RTK GNSS

GPS/BDS/GLONASS/Galileo/QZSS Destekli Multi-GNSS Modülü.

📡 Waveshare Anten

Multi-Band

L1+L2+L5 Multi-GNSS Aktif Anten altyapısı.

🔌 NXP TJA1022 / TJA1048

CAN & LIN

CANbus ve LINbus Interface Evaluation Board arayüzü.

⚡ Röle Birimi

Power Switch

Güç anahtarlama, akım kontrol ve donanım tetikleme birimi.

Yazılım

Yazılım Mimarisi & Kaynak Kodları

DenubOS'u çalıştıran çekirdek scriptler ve iletişim protokolleri

🐍 Jetson / Python - Telemetri Alıcısı

telemetry.py

ESP32 düğümlerinden gelen sıcaklık ve sensör verilerini ZeroMQ ile dinleyen çekirdek yapı.

import zmq
import json

context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect("tcp://192.168.1.50:5555")
socket.setsockopt_string(zmq.SUBSCRIBE, "")

print("DenubOS Telemetri Dinleyicisi Aktif...")
while True:
    message = socket.recv_string()
    data = json.loads(message)
    print(f"Motor Sıcaklığı: {data['temp']}°C")

⚡ ESP32-S3 - C++ Sensör Okuyucu

sensor_node.ino

Su sıcaklık sensöründen anlık veri okuyup Nextion ekrana ve ana karta paketleyen kod.

#include <WiFi.h>

const int sensorPin = 34;

void setup() {
  Serial.begin(115200);
  pinMode(sensorPin, INPUT);
}

void loop() {
  int rawValue = analogRead(sensorPin);
  float voltage = rawValue * (3.3 / 4096.0);
  Serial.printf("page0.t0.txt=\"%0.1f\"\xff\xff\xff", voltage);
  delay(1000);
}

🎨 PySide6 - HMI Tema Yöneticisi

ui_theme.py

Araç içi 10.1 inç ekranda dinamik gündüz/gece modu geçişlerini yöneten arayüz çekirdeği.

from PySide6.QtCore import QObject, Signal
import sys

class ThemeManager(QObject):
    theme_changed = Signal(str)

    def __init__(self, mode="dark"):
        super().__init__()
        self.mode = mode

    def toggle_theme(self):
        self.mode = "light" if self.mode == "dark" else "dark"
        self.theme_changed.emit(self.mode)
        print(f"Aktif Tema: {self.mode.upper()}")

🔌 CAN Bus - Veri Çözümleyici

can_parser.py

NXP arabirimi üzerinden ECU hattından gelen ham CAN çerçevelerini parse eden modül.

def parse_can_frame(arb_id, data):
    if arb_id == 0x100:  # Motor Devri (RPM)
        rpm = (data[0] << 8) + data[1]
        return {"metric": "RPM", "value": rpm}
    elif arb_id == 0x200:  # Su Sıcaklığı
        temp = data[0] - 40
        return {"metric": "Coolant Temp", "value": temp}
    return None

📡 ZeroMQ - Yayıncı Servisi

publisher.py

Jetson AGX Orin işlemcisinden alt birimlere anlık veri akışı sağlayan PUB/SUB mimarisi.

import zmq
import time
import json

ctx = zmq.Context()
pub_socket = ctx.socket(zmq.PUB)
pub_socket.bind("tcp://*:5555")

while True:
    packet = {"status": "OK", "timestamp": time.time()}
    pub_socket.send_string(json.dumps(packet))
    time.sleep(0.5)

🌡️ Termal & PWM Fan Kontrolcüsü

thermal_control.py

Jetson sıcaklık değerlerini izleyerek PWM çıkışıyla soğutma döngüsünü ayarlayan script.

import os

def adjust_cooling_fan(temp_celsius):
    if temp_celsius > 75:
        os.system("echo 255 > /sys/kernel/pwm/fan_speed")
        print("Kritik Sıcaklık! Fan %100 hızda.")
    elif temp_celsius > 60:
        os.system("echo 128 > /sys/kernel/pwm/fan_speed")
        print("Sıcaklık normal. Fan %50 hızda.")
    else:
        os.system("echo 0 > /sys/kernel/pwm/fan_speed")
Canlı

Sistemi Canlı İzle

Gerçek dünyada çalışan AI sistemi

📡 Canlı Kamera / AI Overlay Placeholder

Süreç

Nasıl Çalışır?

1
Veri Toplar

Kamera ve sensörler

2
Analiz Eder

AI modelleri ile

3
Yorumlar

Sürücüye uyarı verir