Okulumuz İçin Dinamik Bir Dijital Pano Arıyorum

Kodla Büyü

BayTerapi

Seçkin Üye
Seçkin Üye
Mesajlar
362
Arkadaşlar mrb; Okulumuz zemin kat girişine 65" bir tv aldık. Dijiltal bir pano ile okulumuz ile ilgili bilgiler paylaşmak istiyorum. Video oynatabilme ve Fotoğrafların slayt gösterisi ön planda olacak. Bununla beraber solda ve sağda da nöbetçi öğretmen, öğrenci ders saatler vb olacak. 2-3 tane buldum ama güncel değil ya da işlevsel değil. Bilginiz dahilinde paylaşım yaparsanız sevinirim. İşbirliğiniz için şimdiden teşekkürler.
 
* Demo sitesi

Gördüğünüz bazı alanların yerine başka seçenekler de konulabiliyor/kaldırılabiliyor. Yeterince esnek bir uygulama. Yıllardır kullanıyorum.
 
Son düzenleme:
dijital tv panoyu bizde kullanıyorduk çokta memnunduk. takii fatih internetine geçene kadar. TV yi wifi olarak fatih internetine bağlayamadık. çözümde bulamadım.
 
Ben de bunu kullanıyorum. Yeni koyduk biz de küçük bir ekran. Hava durumu eklentisi haberlerle beraber çalıştığı için kendim farklı bir hava durumu eklentisi ekledim.

WhatsApp Image 2025-10-06 at 11.50.02.webp
 
dijital tv panoyu bizde kullanıyorduk çokta memnunduk. takii fatih internetine geçene kadar. TV yi wifi olarak fatih internetine bağlayamadık. çözümde bulamadım.
Hocam sanırım MAC kontrolü yapıyor sistem. Telefonunda MAC değiştirme özelliği varsa veya PC'de bir şekilde MAC değiştirebilirsen TV'nin mac adresi ile fatih ağına EBA girişi yap sonra çıkıp bu sefer TV'den giriş yap. Bu şekilde oluyor diye duydum.
 
@yasarsahbaz hocam sadece weatherapi.com'dan bir API edinmeniz gerekiyor.

JavaScript:
// ==UserScript==
// @name         LCDPano Hava Durumu + WeatherAPI + Güncelleme Saati
// @namespace    http://tampermonkey.net/
// @version      1.7
// @description  WeatherAPI ile hava durumu modülünü ekler, derece tam sayı, emoji korunur, güncellenme saati gösterilir
// @match        https://app.lcdpano.net/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const district = "BURAYA BÖLGE YAZILACAK";
    const apiKey = "BURAYA weatherapi.com'dan alınacak API yazılacak";
    const refreshInterval = 30 * 60 * 1000; // 30 dakika

    // Arka planı kaldır
    const style = document.createElement("style");
    style.textContent = `
      .weather .card-body .currents {
        background-image: none !important;
        background: none !important;
      }
      .weather .last-update {
        font-size: 0.8em;
        text-align: center;
        margin-top: 2px;
        color: #444;
      }
    `;
    document.head.appendChild(style);

    const weatherHTML = (tempText = "Yükleniyor...", icon = "⛅") => `
<div class="weather module d-flex card">
  <div class="d-flex align-items-center p-1 p-md-2 blue card-header">
    <img class="me-2" alt="Weather" src="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2036%2036'%3e%3cpath%20fill='%23FFAC33'%20d='M16%202s0-2%202-2%202%202%202%202v2s0%202-2%202-2-2-2-2V2zm18%2014s2%200%202%202-2%202-2%202h-2s-2%200-2-2%202-2%202-2h2zM4%2016s2%200%202%202-2%202-2%202H2s-2%200-2-2%202-2%202-2h2zm5.121-8.707s1.414%201.414%200%202.828-2.828%200-2.828%200L4.878%208.708s-1.414-1.414%200-2.829c1.415-1.414%202.829%200%202.829%200l1.414%201.414zm20.587%202.828s-1.414%201.414-2.828%200%200-2.828%200-2.828l1.414-1.414s1.414-1.414%202.828%200%200%202.828%200%202.828l-1.414%201.414zm-21%2021s-1.414%201.414-2.828%200%200-2.828%200-2.828l1.414-1.414s1.414-1.414%202.828%200%200%202.828%200%202.828l-1.414%201.414z'/%3e%3ccircle%20fill='%23FFAC33'%20cx='18'%20cy='18'%20r='10'/%3e%3cpath%20fill='%23E1E8ED'%20d='M29.777%2023.2c-.642%200-1.26.1-1.843.285-.688-2.028-2.56-3.485-4.767-3.485-2.368%200-4.35%201.678-4.899%203.937-.586-.456-1.309-.736-2.101-.736-1.933%200-3.5%201.611-3.5%203.6%200%20.483.096.941.264%201.363-.334-.097-.679-.164-1.042-.164C9.741%2028%208%2029.791%208%2032s1.741%204%203.889%204h17.889C33.214%2036%2036%2033.136%2036%2029.6c0-3.535-2.786-6.4-6.223-6.4z'/%3e%3c/svg%3e">
    Hava Durumu
  </div>
  <div class="p-0 d-flex justify-content-center align-items-center card-body">
    <div class="currents my-1 mx-2 my-lg-2 mx-lg-3 flex-fill d-flex flex-column align-items-center">
      <span class="district">${district}</span>
      <span class="temperature">${icon} ${tempText}</span>
      <span class="last-update">--:--</span>
    </div>
  </div>
</div>
`;

    const observer = new MutationObserver(() => {
        const target = document.querySelector("div.flip.to-left.reverse div.front.face");
        if (target && !target.querySelector(".weather.module")) {
            target.insertAdjacentHTML("beforeend", weatherHTML());
            updateWeather(target);
            setInterval(() => updateWeather(target), refreshInterval);
            observer.disconnect();
        }
    });

    observer.observe(document.body, { childList: true, subtree: true });

    async function updateWeather(target) {
        try {
            const res = await fetch(`https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${encodeURIComponent(district)}&aqi=no`);
            const data = await res.json();
            let temp = data.current?.temp_c;
            temp = temp !== undefined ? Math.round(temp) : "--";

            const desc = data.current?.condition?.text?.toLowerCase() || "";
            const icon = getIcon(desc);

            const el = target.querySelector(".temperature");
            if (el) el.textContent = `${icon} ${temp}°C`;

            const now = new Date();
            const timeStr = now.toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'});
            const updateEl = target.querySelector(".last-update");
            if (updateEl) updateEl.textContent = `Son güncelleme: ${timeStr}`;
        } catch(e) {
            console.error("Hava durumu alınamadı:", e);
            const el = target.querySelector(".temperature");
            if (el) el.textContent = "⚠️ Veri yok";
        }
    }

    function getIcon(desc) {
        if (desc.includes("sun") || desc.includes("clear")) return "☀️";
        if (desc.includes("partly") || desc.includes("cloud")) return "⛅";
        if (desc.includes("cloud")) return "☁️";
        if (desc.includes("rain") || desc.includes("drizzle")) return "🌧️";
        if (desc.includes("snow")) return "❄️";
        if (desc.includes("storm") || desc.includes("thunder")) return "🌩️";
        if (desc.includes("fog") || desc.includes("mist")) return "🌫️";
        return "⛅";
    }

})();
 
Modern arayüzlü, şimdiye kadar olanların hepsinden çok daha güzel bir uygulama geliştiriyordum. %80-90 da bitti. Ama bir noktada bıraktım uğraşmayı bir türlü tamamlayıp ortaya çıkaramadım. Son aşamadaki ufak ayrıntılar gözümde büyüdü. birkaç yıldır duruyor öyle. Üşengeçlikten öleceğim 🤣

WhatsApp Görsel 2025-10-09 saat 23.20.42_214860f6.webp
 
LCD pano çok kullanışlı, sınıf ders programı, nöbetçi öğretmen ve hatta öğrencilerin doğum günlerini ekledik. Öğrencilerin hoşuna gitti
 
Modern arayüzlü, şimdiye kadar olanların hepsinden çok daha güzel bir uygulama geliştiriyordum. %80-90 da bitti. Ama bir noktada bıraktım uğraşmayı bir türlü tamamlayıp ortaya çıkaramadım. Son aşamadaki ufak ayrıntılar gözümde büyüdü. birkaç yıldır duruyor öyle. Üşengeçlikten öleceğim 🤣

Ekli dosyayı görüntüle 80281
Müthiş gözüküyor Hocam keşke tamamlansa. Tebrik ediyorum sizi ve inşallah tamamlarsınız.
 
Modern arayüzlü, şimdiye kadar olanların hepsinden çok daha güzel bir uygulama geliştiriyordum. %80-90 da bitti. Ama bir noktada bıraktım uğraşmayı bir türlü tamamlayıp ortaya çıkaramadım. Son aşamadaki ufak ayrıntılar gözümde büyüdü. birkaç yıldır duruyor öyle. Üşengeçlikten öleceğim 🤣

Ekli dosyayı görüntüle 80281
hocam olduğu kadar yayınla istersen tutarsa geliştirisin arayüzden dolayı ben beğendim online olsun hemen yıllık üye olayım ücreti mukabilinde modüllerle ilgili fikir alışverişinde de bulunur arkadaşlar
 
Okulda Android bir Tv var. Pano olarak kullanmak istiyoruz.

Alpemix türü bir program ile başka bilgisayarlardan kontrol etmek istiyoruz.

Yapmak istediğimiz:

Android TV açıldığında Alpemix otomatik aktif olsun, biz açmayalım.
Programı incelemedim belki bu özelliği vardır.

Buna benzer program (MEB internetinde çalışan) kullanan arkadaşlar tecrüberini yazarlarsa öğrenmiş oluruz.
 
Hocam öğrencilerin doğum günlerini nasıl eklediniz?
Öğrenci listelerini almıştır. Liste içinde bir döngü ile çözülür. Eğer günün tarihi ile öğrencinin Tarihi tutuyorsa başka bir listeye ekle. Taaki öğrenci listesinin.sonuna kdsr döngü çalışır. En son yeni listeyi ekranda gösterir. Güzel düşünülmüş bence
 
Okulda Android bir Tv var. Pano olarak kullanmak istiyoruz.

Alpemix türü bir program ile başka bilgisayarlardan kontrol etmek istiyoruz.

Yapmak istediğimiz:

Android TV açıldığında Alpemix otomatik aktif olsun, biz açmayalım.
Programı incelemedim belki bu özelliği vardır.

Buna benzer program (MEB internetinde çalışan) kullanan arkadaşlar tecrüberini yazarlarsa öğrenmiş oluruz.
Hocam kullanacağınız pano ne olacak? İnternetten mi çalışacak yoksa offline slayt falan mı olacak? İnternetten çalışacaksa önce android TV'de internete ulaşabilmeyi halledin, çünkü fatih ağı kullanacaksanız EBA girişi ve genel olarak sertifika probleminiz olacak.
Bu problemleri hallettikten sonra bilgisayardan kontrol için kablosuz ADB ile scrcpy kullanırsınız.
 
Hocam kullanacağınız pano ne olacak? İnternetten mi çalışacak yoksa offline slayt falan mı olacak? İnternetten çalışacaksa önce android TV'de internete ulaşabilmeyi halledin, çünkü fatih ağı kullanacaksanız EBA girişi ve genel olarak sertifika probleminiz olacak.
Bu problemleri hallettikten sonra bilgisayardan kontrol için kablosuz ADB ile scrcpy kullanırsınız.
Pano İnternetten çalışacak.

Bazen uzak bağlantı ile Android TV den youtube videoları da açabiliriz. Ya da USB'deki videoları.

Fatih ağına EBA girişi ile kablosuz bağlanabilir. Kablolu da imkanımız var.

Sertifika uğraştırabilir.

".. ADB ile scrcpy kullanırsınız " bunu hiç bilmiyorum.

Alpemix kullanırsak cep telefonundan da herhangi bir yerden TV'yi kontrol edebiliriz diye düşünüyorum.

TV açıldığında Alpemix otomatik başlasa bizim için yeterli...

Teşekkürler @alimali54 hocam...
 
Pano İnternetten çalışacak.

Bazen uzak bağlantı ile Android TV den youtube videoları da açabiliriz. Ya da USB'deki videoları.

Fatih ağına EBA girişi ile kablosuz bağlanabilir. Kablolu da imkanımız var.

Sertifika uğraştırabilir.

".. ADB ile scrcpy kullanırsınız " bunu hiç bilmiyorum.

Alpemix kullanırsak cep telefonundan da herhangi bir yerden TV'yi kontrol edebiliriz diye düşünüyorum.

TV açıldığında Alpemix otomatik başlasa bizim için yeterli...

Teşekkürler @alimali54 hocam...
rica ederim
scrcpy, android ekranı pcde görüp yönetmeye yarayan bir uygulama. adb ile çalışıyor, kablosuz adb ile de kullanılır. ayarlayabilirseniz alpemixten falan daha kullanışlı olur.
 
ilksms
Geri
Üst