Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen pro_imaj »

Merhaba Arkadaşlar;

TComport Nesnesi ile Comport'tan veri alabiliyorum.
Bu nesnenin Port Özelliğine COM1 yazıp işlem yaptığımda COM1 den verilere erişmeye çalışıyor. Ben IP vererek 192.168.1.1/COM1 gibi örneğin, ilgili bilgisayarın Comportuna erişip oradan bilgi alabilir miyim?

Port Alanına Manuel yazdığımda kabul ediyor, fakat test imkanım olmadığı için test edemiyorum.
Bu şekilde çalışma yapan var mı veya test etme imkanı olan var mı acaba.

Yardımlarınızı rica ederim.

Saygılarımla
İyi çalışmalar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
loaded
Üye
Mesajlar: 122
Kayıt: 12 Eki 2010 09:45
Konum: Konya
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen loaded »

Merhaba
Bildiğim kadarıyla Comport COM1/COM2 seriport olarak geçer https://tr.wikipedia.org/wiki/Seri_port linkinde ek bilgi mevcut.
Aynı anda 1 byte veri gönderebilir eski bir teknoloji olup çok yavaş bir haberleşmesi vardır. Ayrıca bu porttan veri almak yada yazmak için seri port kablosu ile iki bilgisayarın bağlı olması gerekir. Haricinde veri alışverişi yapamazsınız.
Ağ üzerinden haberleşmek istiyorsanız, çok daha hızlı olan Tcp yada Udp portları kullanmalısınız.
Kalk ve işe yarar bir şey yap! Çünkü Allah (c.c.) yeniden başlayanların yardımcısıdır.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen mrmarman »

Araya bir yazılım katmanı gerekiyor. Comport ile bağlı bilgilasarı uzaktan haberleştirecek ara bir çözüm.

Comport teknik olarak sadece (1) bağlantı sunar. Yani teknik olarak 1'den fazla cihaz bağlanamaz.

Sanal çözümler ile bu sınır aşılıyor. VirtualComPort olarak aratırsan bu çözümler ağ altında paylaşılabiliyor, böylece sıraya koyarak birden fazla cihaz havuz mantığı ile seri port cihaza ulaşabiliyor.

Bunu kendin basit bir ara yazılım hazırlayıp zaten yapabilirsin. Comport bağlı cihazın bilgisayarına yazacağın küçük bir proje network üzerinden kendisinden isteneni cihaza sorup cevap döndürecektir. Onlarca cihaz bunu yapar santral gibi çalışır.
Resim
Resim ....Resim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen pro_imaj »

Merhaba;

Cevaplarınız için teşekkür ederim.
Muharrem Abi, bahsettiğiniz sanalport olayını araştıracağım. Bunu yapmadan önce
Hyper Terminalin ağ üzerinden veri alma olayı var, IP Adres ve port numarası istiyor; İlgili bilgileri girdiğimde port'a ulaşamadığını söylüyor.
Bu şekilde Hyper terminal ile erişilebiliyor mu acaba?
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen SimaWB »

Taaaaaa 2004'te paylaşılmış :
viewtopic.php?t=3474

Ama içeriğindeki link hâlâ güncel :)
There's no place like 127.0.0.1
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen mrmarman »

Hyper terminalideki telnet protokolünü diyorsan o başka bir şey. İşine yaramaz.
Hem ne yapıcan hyper terminali. AsyncProfessional veya herhangi bir basit TComPort bileşeni ile cihaz ile irtbat kurabiliyor musun ecavp EVET olmalı. Bu durumda TCP üzerinden bu projeye basit bir protokol yazamıyor muyuz ?!

En basitinden yapacağın iş iki parametre (gonder, cevap) kararlaştıracaksın. Bir de bağlantı sağla veya bağlantıyı kes şeklinde iki komut setin olacak. Bunu yapmak maksimum 30 dakikanı alır. HyperTerminal veya üçüncü parti çözümleri aramak ise hem maddi hem de emek zaman kaybıdır.

Ama diyorsan ki elimdeki proje bana ait değil, cihaz da bana ait değil. O zaman diyecek bir şeyim kalmıyor.


EK:
@SimaWB'in cevabını yeni gördüm güzel bir örnek ama ücretli. Benzeri bir sürü proje var nette. Google açıp bir sorgularsan daha nicesi çıkar. "ComPort over Network" diye arayıp bakabilirsin.
Resim
Resim ....Resim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen pro_imaj »

Merhaba;

Cevaplar için çok teşekkür ederim. Bütün hepsini inceledim.
Ben zaten Delphide TComort nesnesi ile veriyi alabiliyorum. Sorun şu;

Benim projem web tabanlı, bu comport işlemide delphi tarafında Servis olacak diye kurguluyorum imkanlardan dolayı.
1-Comporttan okuduğum veriyi bir database yazıp web tarafında da bu veriyi okuyabilirim. (Bunun sıkıntısıda şu; Web projesinde tartıma başla deyince terazide ilk tartılan nesnenin üstüne bir nesne daha koyarak veri gönderiliyor yani. 1. nesne 10 Gr ise ikinci tartımda, 2. nesne 30 gr ise 40 gr veri oluyor ve ben hep bir öncekinden çıkartarak bu sonuca ulaşıyorum bunu yapabilmek içinde tartıma yeni başlandığı bilgisine ulaşmam gerekiyor. Yani aynı projede olsa global bir değişkenle sorunu çözeceğim fakat farklı iki proje olunca olay takılıyor. )

2-Şuandaki forumda sorduğum soru. Aynı merkezde verileri tek projede toplaya bilirsem istediğim gibi işleyebilirim. (Web tarafındaki yapı comporttan veri alabiliyor fakat web tarafındaki proje serverda çalıştığından sadece server'in comportundan veri alabilir.)


Yardımlarınız için teşekkür ederim.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen mrmarman »

WSDL diyorum o zaman. Hem web hem local ağ hem de aynı pc herşeyle ulaşabilirsin.

Örnek için bkz. Bu link
Resim
Resim ....Resim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen pro_imaj »

Comport nesnesinin comport bilgisini yazacağım özelliğine IP de yazabiliyorum peki buraya nasıl yazmalıyım.
Ekteki resimdeki COM1 yazan yere;

192.27.10.135:COM1 şeklinde yazıyorum ama nafile. Yani belkide buraya nasıl yazmam gerektiğini bilmediğimden olabilir diye düşünüyorum.
Dosya ekleri
COM.PNG
COM.PNG (5.87 KiB) 2449 kere görüntülendi
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen mrmarman »

Orası string ifade kabul ediyor olması, ip girebileceğin anlamına malesef gelmiyor. Kaynak kodları varsa property'sini neye bağladığını inceleyebilirsiniz.
Resim
Resim ....Resim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen pro_imaj »

Merhaba;
Baktım String.

sizin bahsettiğiniz WSDL yerine, Ben Database'te bir alanı global bir değişken gibi kullansam da olur sanırım.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen mrmarman »

Mesajınızdan port'a clientlar tarafınfan anında erişim istediğinizi anlamıştım. Zaten veritabanına bilgi gelmesini bekliyor olduğunuz yeterli ise bu başlığı açmak da yersizdi. Keza port paylaşımı neden lazım değil mi? Veritabanına erişim paylaşımı yeterli demek anlamına geliyor.

WSDL örneği, herhangi bir client com port ona takılıymışcasına erişebilsin diye önermiştim.
Resim
Resim ....Resim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Re: Ağ Üzerindeki Bir Makinanın Comport'undan Veri Almak

Mesaj gönderen pro_imaj »

mrmarman yazdı:
WSDL örneği, herhangi bir client com port ona takılıymışcasına erişebilsin diye önermiştim.
Haklısınız Muharrem Bey;
Teşekkürler.

İyi çalışmalar.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Cevapla