buraksenyurt / electron

electron konulu örnekler
9 stars 6 forks source link

USB kontrol? #9

Open davuttemel opened 9 months ago

davuttemel commented 9 months ago

hocam selamlar. belki göremeyeceksiniz ama yine de yazayım. öncelikle bu repolar benim için çok yararlı teşekkür ederim. Şöyle bir şey yapmak istiyorum. Usb bellek takılınca algılasın ve bir index.htmlde listelesin. Ben USB seçimini yapınca diğer sayfada X USB belleği seçtiniz yazsın. node package vs baktım ama çıkamadım işin içinde. belki yardım edersiniz diye yazdım. Electronda yeterince örnek yok sanırım :(

erdincenesyasin commented 9 months ago

Bilgisayarım klasörünü tarayıp , usb klasörü oluştuğunu takip etseniz, sanki istediğiniz olur.

Openai:

JavaScript ile bir klasörün içine yeni bir klasör oluşturulduğunda tetikleyen bir kod örneği için Node.js ve fs modülünü kullanabilirsiniz. İşte bir örnek:

const fs = require('fs');
const path = './your_target_folder'; // Hedef klasör yolu

fs.watch(path, { recursive: true }, (eventType, filename) => {
    if (eventType === 'rename') {
        console.log(`Yeni klasör oluşturuldu: ${filename}`);
        // Buraya yeni klasör oluşturulduğunda yapılacak işlemleri ekleyebilirsiniz.
    }
});

Bu kod, your_target_folder klasöründeki değişiklikleri izleyecek ve bir klasör oluşturulduğunda "Yeni klasör oluşturuldu: {klasör adı}" mesajını yazdıracaktır. Olayı tetiklendiğinde yapmak istediğiniz özel işlemleri ekleyebilirsiniz.

buraksenyurt commented 9 months ago

hocam selamlar. belki göremeyeceksiniz ama yine de yazayım. öncelikle bu repolar benim için çok yararlı teşekkür ederim. Şöyle bir şey yapmak istiyorum. Usb bellek takılınca algılasın ve bir index.htmlde listelesin. Ben USB seçimini yapınca diğer sayfada X USB belleği seçtiniz yazsın. node package vs baktım ama çıkamadım işin içinde. belki yardım edersiniz diye yazdım. Electronda yeterince örnek yok sanırım :(

Selamlar, Sanırım File Explorer tarzı bir şeye ihtiyaç var ama USB özelinde çalışan bir versiyon gerekiyor. USB takılmasını algılama aslında işletim sisteminin cihaz takıldığında tetiklenen alt seviye kütüphanelerine erişilerek çözülür gibi geliyor bana. İşletim sistemi bağımsız çözebilmek için bunla ilgili bir Node paketi var mı ona bakılabilir. node-usb vardı ama deprecated olarak işaretlenmiş. Yine de uygun bir paket vardır diye düşünüyorum. Tabii tek çözüm bu değil. Electron olduğu için bu işi üstlenen harici bir servis ile iletişim kurularak da ilerlenebilir belki. Mesela Rust veya C++ ile yazılmış bir kod belki bu USB portları dinleyip tak-çıkar olaylarını yakalayabilir. Buradaki zorluk da USB takıldığında electron uygulamasının nasıl haberdar edileceği. Electron uygulaması belli periyotlarda mesaj gönderip bu denetimi yapabilir ama tam tersi olsa daha iyi sanki. Yani USB hareketlerini gözlemleyen servis USB takıldığında belki MQTT gibi hafif bir protokol ile asenkron kuyruğa bir mesaj bırakabilir, electron uygulaması da bu kuyruğu dinler ve olayları yakalar. Diye düşünüyorum :-) Biraz fikir verebildim mi bilemedim ama umarım verebilmişimdir.

erdincenesyasin commented 9 months ago

Benim cevabımda fs.watch iş görmesi lazım.. klasördeki değişikliği takip ediyor sanırım

buraksenyurt commented 9 months ago

Benim cevabımda fs.watch iş görmesi lazım.. klasördeki değişikliği takip ediyor sanırım

Bunu denemek lazım tabii ama sanki ihtiyaç USB'nin cihaza takıldığı anda sinyalin algılanıp arabirime bu bilginin taşınması gibi geldi bana. fs.watch daha çok klasördeki değişikliği algılamak üstüne. C#'taki FileSystemWatcher sınıfını anımsattı bana :) @davuttemel fs.watch'ı deneyip sonuçlarını bizimle paylaşabilir misin?

erdincenesyasin commented 9 months ago

Bilgisayarım klasöründe usb klasörü oluşunca tetiklenir bence. E:/ oluşunca tetiklenir mi, merak ettim bende:)