Bir ilave olarak Lazarus Pascal deneyebilirsiniz. Şahsen PC üzerinden
birkaç ufak projede işimi gördüm. RaspiDestğei de mevcut ama açıkçası aktif
olarak bir proje vs denemedim.
Belki derdinize derman olur. Ama tabii kod yapısını Pscal a taşımanız
gerekecek ki bu da epey iş yükü getirebilir.

Saygılarımla.
Bircan HANCI

On Wed, Oct 9, 2019 at 12:46 AM Dr. Mucibirahman İLBUĞA <
mucip.ilb...@gmail.com> wrote:

> Merhabalar,
>
> Kodu buldum. Biz o ara hazır kütüphane kullanmışız. USB den okumamışız.
>
> Koddaki USB okuma rutinleri kantardan gelen veriyi okumak için
> kullanılıyor. İki farklı tip indikatör için iki farklı okuma algoritması
> var.
>
> Hayvan kantara girdiği an RFID ile boyun numarası alınıyor ve kantar
> değeri bekleniyordu. Ağırlığın okunduğu hayvan, zaman, tartım bilgileri
> de örnek veritabanına yazılıyordu. Ayrıca basit bir PHP sayfası da
> koşuyordu BananaPi kart üzerinde. İstenilen hayvan listelenebiliyordu.
> Hikayesi kolaylıkla görülebiliyordu.
>
> Elbette kod tamamıyle deneysel. Ticari bir ürün olamadı. Henüz... :-P
>
> /////////
>
> from pirc522 import RFID
> import signal
> import time
> import RPi.GPIO as GPIO
>
>
> import sqlite3 as lite
> import sys
> #import msvcrt
> import serial
> import re
>
>
> indikatorTip = 2
>
> #1 ==> Erte
> #2 ==> YH-T7+E
>
> def seriDegerOku():
>      try:
>          ser = serial.Serial(port='/dev/ttyUSB0', baudrate=9600,
> parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE,
> bytesize=serial.EIGHTBITS, timeout=0)
>          deger = ""
>          donen = 0
>          devam = True
>          durum = ""
>          while devam:
>              for line in ser.read():
>                  if ord(line) == 13:
>                      deger = deger + "#"
>                  else:
>                      deger = deger + str(line)
>                  if deger.count("#") == 2:
> #deger=deger[deger.find("#")+1:deger.find("#")]
>                      deger = re.findall('#(.*?)#',deger)
>                      durum = deger[0][0:1]
>                      donen = int(str(int(deger[0][1:7])))
>                      deger = ""
>                      #print(str(deger) + ":" + deger[0])
>                      #print(deger[0])
>                      #donen = int(deger[0])
>              if durum == "A":
>                  ser.close()
>                  #devam = False
>                  return donen
>      except:
>          return -1
>
>
> def seriDegerOkuYH():
>      try:seçiliyor.
>          ser = serial.Serial(port='/dev/ttyUSB0', baudrate=9600,
> parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE,
> bytesize=serial.EIGHTBITS, timeout=0)
>          deger = ""
>          donen = 0
>          devam = True
>          durum = ""
>          while devam:
>              for line in ser.read():
>                  if ord(line) == 13:
>                      deger = deger + "#"
>                  else:
>                      deger = deger + str(line)
>                  if deger.count("#") == 2:
>                      deger = re.findall('ww(.*?)kgwt',deger)
>                      donen = float(deger[0])
>                      deger = ""
>                      ser.close()
>                      return donen
>      except:
>          return -1
>
>
>
> con = lite.connect('/home/bananapi/kurdak/kurdak.db')
>
> cur = con.cursor()
>
> rdr = RFID()
> util = rdr.util()
> util.debug = True
>
> print ("Kart Bekleniyor...")
>
> devam = True
>
> while devam:
>      rdr.wait_for_tag()
>      (error, uid) = rdr.request()
>      if not error:
>      print ("Kart Okundu:")
>      (error, uid) = rdr.anticoll()
>      if not error:
>          kart_uid = str(uid[0])+ " " + str(uid[1]) + " " + str(uid[2]) +
> " " + str(uid[3])+ " " + str(uid[4])
>          print (kart_uid)
>          if indikatorTip == 1:
>              sqlKod = "INSERT INTO tartim(tarih, saat, kod, kilo)
> values(date('now'), time('now'), '" + kart_uid + "', " +
> str(seriDegerOku()) + ");"
>          else:
>              sqlKod = "INSERT INTO tartim(tarih, saat, kod, kilo)
> values(date('now'), time('now'), '" + kart_uid + "', " +
> str(seriDegerOkuYH()) + ");"
>          #print (sqlKod)
>          cur.execute(sqlKod)
>          con.commit()
>      print ("Kayit Tamam")
>
> ////////
>
>
>
> Kolay gelsin,
> Mucip:)
>
> On 8.10.2019 08:58, Metin Topallar wrote:
> > 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.
> >
> _______________________________________________
> 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

Cevap