Elektronik komponent takip sistemi - ön çalışma

Sercan

--
Katılım
17 Mart 2019
Mesajlar
4,944
Hurda, arızalı gibi bir şekilde organ bağışından toparladığım elektronik komponentleri kendi içimde bir düzen ile takip ediyorum. Bu bileşenler ya atıl vaziyettte uzun seneler bekliyor ya da ya da ihtiyacımdan çok fazla birikmeye başlıyor. Bunlar maddi olarak kıymetli olabilecek ithalat kalemi bileşenler. Atsan atılmaz, satsan satılmaz.

Ben bu durumdan rahatsız olduğum için temelde hedefim elimde kullanmadığım bileşenleri paylaşabileceğim bir elektronik komponent takip sistemi yapmak istedim. Bununla birlikte sadece paylaşmak için değil, kendi bileşelenlerimi de organize etmek için bir altyapıya ihtiyaç duydum.

Velhasıl, çok uzun zamandır bir türlü başlayamadığım komponent takip sistemi için bugün itibari ile kolları sıvadım. Öncelikli amacım komponenet paylaşım vb değil, bütün bileşenleri basit ve verimli şekilde organize etmektir. Yani sistemi ilk adımda olabildiğince derece basit tutmak istiyorum. Bu çerçevede beklentim asla karmaşık bir BOM sistemi, maddi kıymet takibi filan değil. İlk amacım en hızlı netice almak için olabildiğince basit bir düzenek kurmak.

Ön hazırlığımı burada paylaşamamın maksadı bir süre fikrimi demlendirip olgunlaştırmaktır. Ben fikri basit tutmak istiyorum ama her türlü fikre de açığım. Varsa sistem hakkında ilave fikirleriniz vb varsa duymak isterim.

İlk proje haritam şu şekilde:

Screenshot 2023-01-13 at 00.04.17.png
 
Çok güzel fikir. Ben de yakın zamanda @taydin ın paylaştığı uygulamayı test etmeyi düşünüyorum.




Hangi platformdfa yapacaksınız bilmiyorum ama aklıma gelen ilk dört öneriyi paylaşmak isterim.
1- Malzeme tanımına hedef stok gibi bir alan eklenebilir. Stok optimizasyonu için raporlamalarda yardımcı olacaktır. Tek tek analizden kurtarır. Belki malzeme fiyatı da bilgi açısından eklenebilir.

2- Komponent tipleri ve her birinin özellikleri dinamik olabilir. Bunun için iki tane konfigürasyon tablosu tutulabilir. Bu tablolara malzeme tipi (master) ve malzeme özellikleri (child) veri olarak tanımlanabilir. Arama ekranı da bu tablolardan özellik (attribute) seçip dinamik arama yapabilecek şekilde geliştirilebilir. Böylece veritabanı tasarımı ve kodlama sırasında her malzeme için ihtiyacınız olabilecek özellikleri bilme ihtiyacınız ve hard code (ya da çok sınıf) gerek kalmaz.

3- Muadil komponentleri gruplayabilmek iyi olur. Bunun için bir çok yol var ancak bence en kolay yol her komponent için bir ana model olacağını varsayıp malzeme tanımına ana model gibi, bir kolon ekleyip tüm muadillerde bunu ana modelin kodu ile doldurmak olur. Alternatif olarak bir map tablosu düşünülebilir.

4- Komponent kodlarından bulunabilse de komponentin kılıfının ayrıca özellik olarak tanımlanması iyi olur.
 
QT ile çalışırsak mobil-win-linux için ortaya çıkarmış oluruz hatta tamamen online tabanlı ama depolamayı bir cihazda yapacak bir şey geliştirebilirsek telefondan vs. evden dışarıdayken bakabiliriz neyimiz var neyimiz yok benim gibi esnaftan malzeme alırken çok işe yarar.
 
Sistemi PHP ile geliştireceğim. Dolayısıyla uygulama ihtiyacı vb gerek olacak bir durum değil ama kamerayı verimli kullanamazsam barkod için uygulama gerekebilir.

Gruplama ya da hedef stok miktarı belirlemek şimdilik işi uzatır. Ben birinci faz için daha basit düzeyde bir şey hedefliyorum. Ancak ufak ama kararlı ilerlersem proje olgunlaşabilir. Diğer türlü bezdirir.
 
Bence de en temel ve gerekli özellikleri içeren ilk sürümün en kısa zamanda hazır olması en iyisi. Yoksa şu özellik de olsun, bu da olsun derken iş bitmez. İlk sürüm için benim istek listemi paylaşayım:

* Malzemeler için saklanacak bilgiler:
- Malzeme model adı.
- Hiyerarşik kategoriler. Transistör -- MOSFET -- Power MOSFET gibi.
- Hiyerarşik saklama yeri. Ev -- Oda -- Dolap -- Raf -- Kutu gibi.
- Nereden alındı? Tedarik kaynağı olarak tanımlanmış bir firma seçilecek, veya yeni firma tanımlanacak.
- Stok adedi.
- Datasheet.
- Görseller.
- Serbest format bir açıklama.

* Barkod okuma. Giriş formundaki "Malzeme model adı" alanını dolduracak.

* Girilen malzeme için otomatik datasheet bulma ve datasheet pdf lokal olarak saklama.

* Arama. Burada ilk sürüm için arayüzü mükemmel yapacağım diye çok kasmaya gerek yok. SQL sorgusu ile çalışsa bile baya yol katettirir.

* Malzeme kullan (stok azalt), geri koy (stok arttır). Malzemenin saklama yerini, kategorisini değiştir. Datasheet, dokümantasyon, görsel ekle veya çıkart. Diğer alanlarda düzenleme yap.

* Yapılan tüm işlemlerin bir kaydının saklanması ve bu kaydın kronolojik olarak görülebilmesi.
 
@taydin kafamdaki basit yapının bir özeti gibi duruyor.
 
Bir de ilk toplu veri girerken şu özellik yararlı olur: Yeni girilen bir komponente benzeyen (kriter nedir bunu belirlemek lazım) komponentler varsa, bunları listelerse, mükerrer komponent girilmesini engeller. Ama tabi çok benzer olup da sen yine de girmek istiyorsan bunu da engellememeli.
 
birde topik kısmı oluşturabiliriz.

elimizdeki topiğe açık malzemeleri diğer kullanıcılar görebilir olursa bizim elimizde boş boş yatan başkasının işine yarayabilir
 
Projeyi yavaş yavaş ilerletmeye başladım. Daha önce bir iş için satın aldığım tema ile ilerleyeceğim için ilk yaptığım iş, önceki projede de kullandığım, kullancı tabanlı erişim sistemini entegre ettim ve sadeleştirdim.

Bununla birlikte gene daha önce kullandığım proje bug takip sistemini "ihtiyaçlar" adı altında sisteme uyarladım. Buradaki amaç öncelik belirleyerek laboratuvar ya da komponenet ihtiyaçlarını takip etmek için bir çeşit alışveriş listesi gibi uyarlamaktı. Sistem şöyle çalışıyor, önce bir yeni ihtiyaç ekliyorsunuz. Bunu öncelikli olarak tanımlamak mümkün. Satın aldığızda yanındaki check box'ı işaretliyorsunuz ve "onay gerektirenler" sekmesi adı altında toplanıyor. Buradaki amaç satın alıp geldiğinde ihtiyacınızı gerçekten karşılayıp karşılamadığını görmek. Biraz da bug yönetiminde otoritenin bug'ın giderildiğini onaylaması için olan yapıya çok dokunmak istemedim. Neyse ufak bir video çektim onu da paylaşayım.

Bu arada forum wmv formatlı dosyaları kabul etmediği için videoyu çevirmek filan çok uzun sürdü. Online çevirici filan buldum vs bir sürü iş.

 
Ben HandBreak kullanıyorum da çok seyrek kullandığım için ismini unuyorum. Bu sefer de lazım olduğunda programlarda bulmak zor oluyor.
 
DbSchema diye bir veritabanı tasarım programı ile şöyle bir database yapısı ortaya koydum. Bu işleri yeni öğreniyorum, ama temellerde epey ilerledim. Her komponent için hiyerarşik kategori (Yarı iletken -- Transistör -- Power MOSFET) ve hiyerarşık lokasyon (Ev -- Çalışma odası -- Raf A -- Çekmece 3) verilebiliyor. Her komponent için değişik tipte doküman saklanabiliyor. Aynı doküman başka komponentler için de atanabiliyor.

1674904503535.png
 
Şimdi bomist'in yeni komponent ekleme diyalog penceresine baktım, ona göre birkaç alan daha ekledim.

1674909755015.png


Onun dışında, bir tane daha tablo ekledim (purchases). Bu tabloya da yapılan siparişler kaydedilecek. Mesela PDF olarak fatura, veya satıcıdaki "siparişlerim" sayfasının ekran görüntüsü olabilir. Böylece birden fazla farklı yerden alınan aynı komponentin nereden alındığının izi sürülebilir.

1674909891944.png
 
Bu DbSchema'nın bir güzel tarafı da, program içinde tabloları düzenledikçe, bunları mevcut veritabanı sunucusuna gerçek zamanlı olarak aktarıyor. Hatta deneme amaçlı tablolara akıllı bir şekilde uygun tipte random veri ile de doldurabiliyor.

1674910014201.png
 
Ben doğrudan yazıyorum, uygulama kullanmak için arkadaşlar da faydalı ve pratik diyor ama alışkanlık.
 
Bugün biraz boşluk bulunca ekipmanlar için bir dummy içerik hazırladım. Bir türlü ana konuya giredim ama buradaki amaç, ekipmanların sınır koşullarını, dosyalarını, bakım geçmişini vb takip etmek.

 
En son kullandığım harika bir HEX çözücünün web sitesi kapanınca, fırsat buldukça online hesap makineleri gibi çözümleri sisteme aktarıyorum. Frekans süpürücü, metin okuyucu, DTMF oluşturucu, Metronome, ASCII, hex, binary vb çeviriciler filan. Şimdi bir de nikrom tel hesaplayıcı filan gibi şeyleri ekleyeceğim.

Ancak esas olan kompanent takibine ilişkin bugün biraz daha ilerleme kaydettim ve bileşenlerin saklanacağı konumları oluşturdum. Aşağıda demo bir konum listesi oluşturmanın baştan sonra sürecinin videosu var. Şimdilik hiyerarşik derinlik 2 ile kasıtlı olarak sınırlı. Belki bunu arttırabilirim ama bu hali ile işimi görecek gibi.

Videoyu sonuna kadar izlerseniz görebileceğiniz, konum ve açıklama (isteğe bağlı) yazıp bunlar isteğe göre sıralanabiliyor ya da daha sonra taşınabiliyor. Örneğin bir çekmeceniz var ve o çekmeceyi başka bir alandaki yuvaya taşıdınız. Bütün içeriğin beraber taşınma işlemi için çekmeceyi sürükleyip adını değiştirmeniz yeterli.


 
Frekans süpürücü nedir?

Başlangıç frekansından bitiş frekansına kadar, başlangıç genliğinden bitiş genliğine gibi parametrelerde sinyalin belirli bir süre içerisinde oluşturulma işlemi. Örnek olarak 10 sn içinde 100 Hz ile 1000 Hz arasında sinüs bir sinyali, lineer olarak üretilme işlemi verilebilir. Bu arada genlik ya da diğer parametreler de değişir ya da aynı da kalabilir. Genellikle cihazların değişik frekanslara verdiği tepkiyi ölçmek için kullanılır.

Bu özellik sinyal jeneratörlerinde de var ama yazılım geliştirirken ses kartını kullanmak daha pratik oluyor. İngilizcesi sweep generator, belki başka bir Türkçe çevirisi vardır ama benim bildiğim bu.
 
Bugün projeye daha önce geliştirdiğim bazı çalışmaları dahil etmeye başladım.

Her ne kadar zahmetli bir yöntem geliştirmiş olsam da projede motivasyon kaybına da sebep olan Octopart’tan parça bilgilerini çekme fikrinden tamamen vazgeçtim.

Projeye aşağıdaki kaynaklardan bilgi çekerek ilerleyeceğim. Halihazırda bunlardan bilgi çekebiliyorum. Listeye Farnell eklemek de zor değil ama zaman gerektiriyor.

LCSC
Mouser
Özdisan

Bu firmaların veri tabanlarından farklı detaylara (fiyat, paket tipi, kategori ismi, çalışma sıcaklığı vb.) erişebiliyorum. Bütün bilgilerin kesiştiği kümede aşağıdaki bilgiler ortaya çıkıyor. Bu sebeple şimdilik aşağıdaki bilgileri ile devam edeceğim.

Resim
Pdf
Model İsmi
Açıklama
Firma (gerekliliğinden emin değilim ama dahil edeceğim)

Veritabanlarından aramayı test etmek isterseniz aşağıdaki adresten erişebilirsiniz. Soldaki menüden LCSC, Mouser ya da Özdisanı seçip arama kutucuğuna istediğiniz bileşeni yazmanız yeterli. Geribildirimlerinizi bekliyorum.


 

Forum istatistikleri

Konular
5,835
Mesajlar
99,529
Üyeler
2,479
Son üye
yiyehuoxing32

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top