[Linux-programlama] Re: RaspBerry üzerinde Qt ile

2019-10-07 Thread Metin Topallar
Merhabalar,
Bir Üniversite de görevliyim. Personel Devam Kontrol Sistemini Raspberry Pi
üzerinde Python çalıştırarak yürütüyoruz. Okutulan kart'ın ID bilgisini
alıp sqlite üzerinde sorguladıktan sonra eğer personel ise remi ile beraber
ekrana basıyorum. Daha sonra da log dosyasına kayıt ediyorum. Ekranda
sürekli olarak güncel saat dakika yazıyor. Geçiş loglarını internet
durumuna göre sunucuya gönderiyor.
Biz de ilk başta bazı problemler yaşadık en önemlisi kullanılan adaptörün
amperi idi. Birde SD kartın Class 10 olmasına dikkat edin.
Evet çok çok verimli değil ama söylediğiniz kadarını rahatlıkla yapabilir
Raspberry.

En kritik importlar;
from Tkinter import *
from PIL import Image, ImageTk
import threading
import serial
import sqlite3

Örnek olarak ekranı kart okutuldan 3 saniye sonra boşa çekmek için
kullandığım def;
def Temizle(etiket, uyari, resim):
  while True:
time.sleep(0.1)
SimdikiZaman=datetime.datetime.now()
SimdikiZaman=SimdikiZaman - datetime.timedelta(0,2)
global TemizlemeZamani, EkranDurumu
if(EkranDurumu):
  if( SimdikiZaman > TemizlemeZamani ):
EkranDurumu = False
uyari["text"] = "Lütfen Kartınızı Okutunuz"
etiket["text"] = ""
uyari1["text"] = ""
uyari2["text"] = ""
resim.config(width=1,height=1)

Sqlite bağlantı örnekleri
Gate_SQLbaglanti = sqlite3.connect('personel.db')
Gate_SQLkomut = Gate_SQLbaglanti.cursor()

Log_SQLbaglanti = sqlite3.connect('log.db')
Log_SQLkomut = Log_SQLbaglanti.cursor()


insert örneği;
Gecis_Log_SQL = "insert into PERSONEL_LOG
(KISI_NO,KART_NO,TARIH,GECIS_TIP,LOG_DURUM) values
("+str(kisi_no)+","+str(kart_no)+",'"+str(log_tarih)+"','X',0)"
Log_SQLkomut.execute(Gecis_Log_SQL)
Log_SQLbaglanti.commit()

Kolay gelsin.


Dr. Mucibirahman İLBUĞA , 4 Eki 2019 Cum, 10:56
tarihinde şunu yazdı:

> Merhabalar,
>
> Kastettiğiniz yeni bir dağıtım çıkartıp yüklemek gibi mi? Asşında
> mantıklı. Zira Rasbian Buster yüklü. Hali ile her şey var. Benim
> istediğim Qt ile yazılmış ve sadece seri porttan bilgi çekecek ve onu da
> dahili SQLite veritabanına yazacak bir donanım. Bu bağlamda çok
> teferruatlı bir şey istemiyorum. Hatta olmaması gerekir! Tek yaptığı iş
> bu olmalı! Kullanıcı başka bir şey yapamamalı!
>
> Sanırım Rpi veya benzeri kartları gömülü sistem olarak kullanmak daha
> doğru olacak ama Qt ile yazılmış programın çalışabilmesi için bir sürü
> takla atmak gerekmez mi o zaman? :(
>
> Sıkıntılı iş... Ama olursa da dadından yenmez yani... :(
>
> Kolay gelsin,
> Mucip:)
>
> 4.10.2019 09:49 tarihinde Mesut Güler yazdı:
> > Ek olarak pc mimarisinden arm mimarisine "chroot" yapma şanşınız bile
> > var (1). indirdiğim imaj dosyasını kendi bilgisayarıma bağlayıp chroot
> > yaparak güncellemeleri,gerekli paketleri kurma vs. temel işleri yaptım
> > sonra sd karta yazdım.
> ___
> Linux-programlama mailing list
> Linux-programlama@liste.linux.org.tr
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: RaspBerry üzerinde Qt ile

2019-10-07 Thread Dr . Mucibirahman İLBUĞA

Merhaba Metin Bey,

RFID kartı nasıl okuttunuz? USB okuyucu olan bir modeli mi kullanıdnıız 
yoksa yoksa GPIO üzerinden mi?


Ben uğraşırken deneysel bir kart okuıyucu vardı. O da USB değildi. Onu 
çözmek için de baya bir kaynak karıştırmıştım. :)


Kolay gelsin,
Mucip:)

On 7.10.2019 12:25, Metin Topallar wrote:


Merhabalar,
Bir Üniversite de görevliyim. Personel Devam Kontrol Sistemini 
Raspberry Pi üzerinde Python çalıştırarak yürütüyoruz. Okutulan 
kart'ın ID bilgisini alıp sqlite üzerinde sorguladıktan sonra eğer 
personel ise remi ile beraber ekrana basıyorum. Daha sonra da log 
dosyasına kayıt ediyorum. Ekranda sürekli olarak güncel saat dakika 
yazıyor. Geçiş loglarını internet durumuna göre sunucuya gönderiyor.
Biz de ilk başta bazı problemler yaşadık en önemlisi kullanılan 
adaptörün amperi idi. Birde SD kartın Class 10 olmasına dikkat edin.
Evet çok çok verimli değil ama söylediğiniz kadarını rahatlıkla 
yapabilir Raspberry.


En kritik importlar;
from Tkinter import *
from PIL import Image, ImageTk
import threading
import serial
import sqlite3

Örnek olarak ekranı kart okutuldan 3 saniye sonra boşa çekmek için 
kullandığım def;

def Temizle(etiket, uyari, resim):
  while True:
    time.sleep(0.1)
    SimdikiZaman=datetime.datetime.now()
    SimdikiZaman=SimdikiZaman - datetime.timedelta(0,2)
    global TemizlemeZamani, EkranDurumu
    if(EkranDurumu):
      if( SimdikiZaman > TemizlemeZamani ):
        EkranDurumu = False
        uyari["text"] = "Lütfen Kartınızı Okutunuz"
        etiket["text"] = ""
        uyari1["text"] = ""
        uyari2["text"] = ""
        resim.config(width=1,height=1)

Sqlite bağlantı örnekleri
Gate_SQLbaglanti = sqlite3.connect('personel.db')
Gate_SQLkomut = Gate_SQLbaglanti.cursor()

Log_SQLbaglanti = sqlite3.connect('log.db')
Log_SQLkomut = Log_SQLbaglanti.cursor()


insert örneği;
Gecis_Log_SQL = "insert into PERSONEL_LOG 
(KISI_NO,KART_NO,TARIH,GECIS_TIP,LOG_DURUM) values 
("+str(kisi_no)+","+str(kart_no)+",'"+str(log_tarih)+"','X',0)"

Log_SQLkomut.execute(Gecis_Log_SQL)
Log_SQLbaglanti.commit()

Kolay gelsin.


Dr. Mucibirahman İLBUĞA >, 4 Eki 2019 Cum, 10:56 tarihinde şunu 
yazdı:


Merhabalar,

Kastettiğiniz yeni bir dağıtım çıkartıp yüklemek gibi mi? Asşında
mantıklı. Zira Rasbian Buster yüklü. Hali ile her şey var. Benim
istediğim Qt ile yazılmış ve sadece seri porttan bilgi çekecek ve
onu da
dahili SQLite veritabanına yazacak bir donanım. Bu bağlamda çok
teferruatlı bir şey istemiyorum. Hatta olmaması gerekir! Tek
yaptığı iş
bu olmalı! Kullanıcı başka bir şey yapamamalı!

Sanırım Rpi veya benzeri kartları gömülü sistem olarak kullanmak daha
doğru olacak ama Qt ile yazılmış programın çalışabilmesi için bir
sürü
takla atmak gerekmez mi o zaman? :(

Sıkıntılı iş... Ama olursa da dadından yenmez yani... :(

Kolay gelsin,
Mucip:)

4.10.2019 09:49 tarihinde Mesut Güler yazdı:
> Ek olarak pc mimarisinden arm mimarisine "chroot" yapma şanşınız
bile
> var (1). indirdiğim imaj dosyasını kendi bilgisayarıma bağlayıp
chroot
> yaparak güncellemeleri,gerekli paketleri kurma vs. temel işleri
yaptım
> sonra sd karta yazdım.
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr

https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php
___
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php


[Linux-programlama] Re: RaspBerry üzerinde Qt ile

2019-10-07 Thread Metin Topallar
Kart okuyucu olarak
http://www.gigatms.com.tw/products-detail1.asp?pid=54 (MF-7)
modelini kullanıyoruz. Aynı ürünün tip olarak birebir benzeri olan MF-700
var o 7 volt ile çalıştığı için sorun yarattı.
Kart okuyucuya ayrıca bir USB (örn:
https://www.robotistan.com/usb-rs232-donusturucu-pl2303) dönüştürücü
takarak USB portu üzerinden kart okuma işlemini gerçekleştirdik.
Kart okuma fonk. örneği;
def Kart_Oku(USB_Port):
  ser = serial.Serial('/dev/ttyUSB' + USB_Port, baudrate=9600)
  character = ser.read() #isterseniz KartNo= ser.readline() olarak direkt
alabilirsiniz
  if character == '\r':
GelenKartNo = int(code,16)
  else: #istenmeyen karakterleri burada eritebiliriz
code = code + character #kart id si alma kısmında farklı bir algoritma
kullanıyoruz örnek olması için yazdım

Örnek thread başlatma kodları
t1 = threading.Thread(target=Kart_Oku, args=( '0',))
t1.daemon = True
t1.start()

Umarım yardımcı olabilir. Şuan çok geniş bir boş zamana sahip değilim yoksa
hızlıca bir örnek yapıp yollardım. Ama kod üzerinde sorun yaşadığınız yer
var ise destek verebilirim.

İyi günler dilerim.


Dr. Mucibirahman İLBUĞA , 7 Eki 2019 Pzt, 19:16
tarihinde şunu yazdı:

> Merhaba Metin Bey,
>
> RFID kartı nasıl okuttunuz? USB okuyucu olan bir modeli mi kullanıdnıız
> yoksa yoksa GPIO üzerinden mi?
>
> Ben uğraşırken deneysel bir kart okuıyucu vardı. O da USB değildi. Onu
> çözmek için de baya bir kaynak karıştırmıştım. :)
>
> Kolay gelsin,
> Mucip:)
>
> On 7.10.2019 12:25, Metin Topallar wrote:
>
>
> Merhabalar,
> Bir Üniversite de görevliyim. Personel Devam Kontrol Sistemini Raspberry
> Pi üzerinde Python çalıştırarak yürütüyoruz. Okutulan kart'ın ID bilgisini
> alıp sqlite üzerinde sorguladıktan sonra eğer personel ise remi ile beraber
> ekrana basıyorum. Daha sonra da log dosyasına kayıt ediyorum. Ekranda
> sürekli olarak güncel saat dakika yazıyor. Geçiş loglarını internet
> durumuna göre sunucuya gönderiyor.
> Biz de ilk başta bazı problemler yaşadık en önemlisi kullanılan adaptörün
> amperi idi. Birde SD kartın Class 10 olmasına dikkat edin.
> Evet çok çok verimli değil ama söylediğiniz kadarını rahatlıkla yapabilir
> Raspberry.
>
> En kritik importlar;
> from Tkinter import *
> from PIL import Image, ImageTk
> import threading
> import serial
> import sqlite3
>
> Örnek olarak ekranı kart okutuldan 3 saniye sonra boşa çekmek için
> kullandığım def;
> def Temizle(etiket, uyari, resim):
>   while True:
> time.sleep(0.1)
> SimdikiZaman=datetime.datetime.now()
> SimdikiZaman=SimdikiZaman - datetime.timedelta(0,2)
> global TemizlemeZamani, EkranDurumu
> if(EkranDurumu):
>   if( SimdikiZaman > TemizlemeZamani ):
> EkranDurumu = False
> uyari["text"] = "Lütfen Kartınızı Okutunuz"
> etiket["text"] = ""
> uyari1["text"] = ""
> uyari2["text"] = ""
> resim.config(width=1,height=1)
>
> Sqlite bağlantı örnekleri
> Gate_SQLbaglanti = sqlite3.connect('personel.db')
> Gate_SQLkomut = Gate_SQLbaglanti.cursor()
>
> Log_SQLbaglanti = sqlite3.connect('log.db')
> Log_SQLkomut = Log_SQLbaglanti.cursor()
>
>
> insert örneği;
> Gecis_Log_SQL = "insert into PERSONEL_LOG
> (KISI_NO,KART_NO,TARIH,GECIS_TIP,LOG_DURUM) values
> ("+str(kisi_no)+","+str(kart_no)+",'"+str(log_tarih)+"','X',0)"
> Log_SQLkomut.execute(Gecis_Log_SQL)
> Log_SQLbaglanti.commit()
>
> Kolay gelsin.
>
>
> Dr. Mucibirahman İLBUĞA , 4 Eki 2019 Cum, 10:56
> tarihinde şunu yazdı:
>
>> Merhabalar,
>>
>> Kastettiğiniz yeni bir dağıtım çıkartıp yüklemek gibi mi? Asşında
>> mantıklı. Zira Rasbian Buster yüklü. Hali ile her şey var. Benim
>> istediğim Qt ile yazılmış ve sadece seri porttan bilgi çekecek ve onu da
>> dahili SQLite veritabanına yazacak bir donanım. Bu bağlamda çok
>> teferruatlı bir şey istemiyorum. Hatta olmaması gerekir! Tek yaptığı iş
>> bu olmalı! Kullanıcı başka bir şey yapamamalı!
>>
>> Sanırım Rpi veya benzeri kartları gömülü sistem olarak kullanmak daha
>> doğru olacak ama Qt ile yazılmış programın çalışabilmesi için bir sürü
>> takla atmak gerekmez mi o zaman? :(
>>
>> Sıkıntılı iş... Ama olursa da dadından yenmez yani... :(
>>
>> Kolay gelsin,
>> Mucip:)
>>
>> 4.10.2019 09:49 tarihinde Mesut Güler yazdı:
>> > Ek olarak pc mimarisinden arm mimarisine "chroot" yapma şanşınız bile
>> > var (1). indirdiğim imaj dosyasını kendi bilgisayarıma bağlayıp chroot
>> > yaparak güncellemeleri,gerekli paketleri kurma vs. temel işleri yaptım
>> > sonra sd karta yazdım.
>> ___
>> Linux-programlama mailing list
>> Linux-programlama@liste.linux.org.tr
>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>>
>
> ___
> Linux-programlama mailing 
> listlinux-programl...@liste.linux.org.trhttps://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
> _