Sisteme güç verildiğinde bir proje nasıl çalıştırılır?

Herkese merhaba.

Ben Yolov5 kullanarak ubuntu işletim sistemi üzerinde Plaka tanıma sistemimi çalıştırıyorum. Projede kamera olarak usb kamera kullandım.

Bilgisayar aöıldığı gibi projem çalışıp kameradan alınan görüntüyü işlesin istiyorum.Bunu nasıl sağlarım?
startup application üzerinden yapmaya çalıştım işe yaramadı.Yardımcı olursanız çok mutlu olurum. Aşağıda görsel vardır.


python3 /home/uni/Masaüstü/yolov5/img.py


Proje şu şekildedir temelinde.

Teşekkürler

Merhaba, gördüğüm kadarıyla GNU/Linux kullanıyorsunuz. Size cron’u tavsiye ederim.

@reboot python3 /home/uni/Masaüstü/yolov5/img.py

crontab -e ile crontab dosyanızı açın ve yukarıdaki satırı ekleyin. Sistem her açıldığında çalışacaktır.

1 Beğeni

@beucismis Evet linux ubuntu 18.04 kullanıyorum söylediğiniz şekilde yaptım.Ama çalışmadı Eksik birşey mi yaptım bilemedim

Kaydedip çıkın. Kontrol etmek için crontab -l yapın.

1 Beğeni

dosyanın aşağısında var kod ama çalıştıramadım.python3 yerine python yolu vermeyi denedim start applicationdan ama işe yaramadı.

/usr/lib/python3.6 /home/uni/Masaüstü/yolov5/img.py şu şekilde

"Ise yaramadi"dan daha fazla bilgiye ihtiyacimiz var:

Script calisiyor mu? Calisiyorsa nasil bir cikti veriyor?

Kamerali+pencereli kocaman bir script’tense bi dosyaya saati yazan, bir hata veren script’i calistirarak baslaman lazim. Programlamanin bu asamasindaki cogu sey gibi, calisan ufak parcalari birlestirmen lazim.

Bu arada, programi terminal penceresinde acan bir komut kullanmani tavsiye ediyorum. (Hangi terminali kullandigini bilmiyorum ama xfce4-terminal -e python3 hede.py gibi bir sey olabilir.)

Bu isi yapan bir shell script de yazarsan hem “argumanlari dogru mu pasladim” derdinden kurtulur, hem de butun komutu kolayca test ederbilir hale gelirsin.

2 Beğeni

Başka şeyler açılıyor tabi.bahsettiğiniz küçük uygulamalar.Kendi dosyamda uygulama aşamasında beklediğim sonuçları alamadım. bilgim yetersiz kaldı.O yüzden buraya sorma gereğinde bulundum :slight_smile: @aib .İnternette de benzeri şeyler yazıyor.

.py dosyanızı, Türkçe karakter ve boşluk karakteri
içermeyen bir yere kopyalayın. Crontab ile oradan
çalıştırmayı deneyin.

Python için tam yolu yazmalısınız.

1 Beğeni

Başlangıçta program çalıştırmak için birden çok yol var biri de python kodunu service olarak başlatmak.

How To Setup Autorun a Python Script Using Systemd - TecAdmin

Ama diğer scriptleri başlatabiliyor sadece projeniz olan plaka okuma scriptini başlatamıyorsanız durum farklı olabilir.

Biraz daha açıklayıcı olursanız daha doğru çözümler üretilebilir.

Çalışmadıdan fazlasına ihtiyaç var hata mesajı mı verdi, kod çalıştı görüntü mü gelmedi.

Hele beklediğim sonucu alamadım cümlenizle ne beklediğinizi hiç anlayamadım.

Tahminde bulunayım.

Her şeyi doğru yaptınız. Zamanlanmış görev, servis yada bir şekilde başlatma ile ilgili komut kullanımında bilginiz olduğunu ve diğer uygulamalar için açılışta programları başlatabildiğinizi varsayıyorum.

Bu durumda bir kaç ihtimal var,

Biri python yolunu görmüyor yada erişemiyor: Bu durumda bir soft link oluşturup(bkz. google) bir de o şekilde deneyin.

İkincisi, daha yüksek bir yetki seviyesi gerekiyor, sudo ile yetki alan bir script yada komut kullanın.(bkz. google)

Üçüncüsü, kamera kullandığınıza göre, kameraya dair servisler başlatmadan python kodunuzu çalıştırmaya çalışıyor ve kameraya erişemediği için çalışmıyor. Ki bu durumda hangisi önce başlatılır hangisi önceliklidir bilmiyorum. (Biliyorum ama uzatmak istemiyorum.) En basiti, işi garantiye almak için, açılıştan 10 sn 20sn gibi gecikmeli başlatılması için düzenleme yapabilirsiniz. Bir şeylerin açıldığında emin olacak makul süre bilgisayarınıza göre değişecektir.

Bir kaç ipucu:

Servis olarak başlatmak:
How To Setup Autorun a Python Script Using Systemd - TecAdmin

Soft link oluşturmak:
How to: Linux / UNIX create soft link with ln command - nixCraft (cyberciti.biz)

Ubuntuda açılışta program başlatmak için 3 yol derli toplu:
3 ways to create a startup script in Ubuntu | Tran Sang Dev Blog

Ubuntuda programı gecikmeli çalıştırmak:

How to Delay Startup Application in Ubuntu - Make Tech Easier

Ama sayın aib in de belirttiği gibi, beklediğiniz gibi çalışmadı şeklinde yada, hata kodu olmaksızın tüm ihtimalleri buraya yazmamız ve çözümlemenize yardım etmemiz mümkün olmuyor.

Anlattıklarınız karşıdakinin anladığı kadardır mantığıyla bakarsanız. Bize düşüncenizi ve sorununuz aktaramazsanız bu mesajlar uzar gider.

Özellikle kodunuzun beklediğiniz gibi çalışması umuduyla.

2 Beğeni

Herhangi bir çıktı veya başka birşey gelmediği için bende hata kodu vs yazamadım.Teşekkür ederim ayrıca attığınız kaynaklara bakıp inceleyeceğim.

Ben cameradan dolayı diye düşünüyordum. İnternet bağlantısı da olabilir belki dedim.Çünkü başlangıçta direkt olarak wifi bağlantısı oluşmuyor bilgisayarlarda. Ama localde internet bağlantısı olmadan çalıştırınca dosya çalıştı Yol ile de alakalı değil. Çalışan basit dosyayı projemin olduğu alana koyunca çalıştı.

Kamera bağlantısı kısmında
cap = cv2.VideoCapture(0)
burda 0 ile webcame bağlantısı yerine cap = cv2.VideoCapture("cars.mp4") video üzerinde işleme yaptırmaya çalıştım.Yani camera veya dosya yolu ile alakalı da bir problem değil .

Attığınız kaynaklara bakacağım.Tekrar teşekkürler

Problemin sebebi python3 yazmam. Sistem /usr/bin/ dizini üzerindeki python ı kullanıyor. start application command kısmında python3 /home/uni/Masaüstü/yolov5/img.py yerine /usr/bin/python3 /home/uni/Masaüstü/yolov5/img.py yazınca proje çalıştı.Terminalde chmod +x dosyaadı.py komutu da dosyayı yürütülebilir hale getirdi. Herkese yardımları için teşekkürler .

Esen kalın…

1 Beğeni