Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

Php ile Windows Com Port Dinlemek !

Mrblar Arkadaşlar,


Kendi çapımda php kullanaraktan uygulama geliştiriyorum/geliştirmeye çalışıyorum :)

Elimde büyük bir proje var, bu projenin bir safhasında COM Port dinlemem ve COM Port üzerinden veri göndermem gerekiyor.. Bu İsteğim Delphi Componentleri ile çok rahat yapılabiliniyor, Yada C# kullanıcıları için kolay bir durum.. FAKAT durum php için öyle değil. Web tabanlı bir dil ile donanımın bir parçasını dinlemek veri almak veri göndermek zor iş.. ZOR İŞ diyorum çünkü yurt içi - yurt dışı toplamda 1 - 2 adet PHP Sınıfı bulabildim. Halende arayış içindeyim.


# Özet Olarak #

COM1 e bağlı cihaza komut göndermeliyim...

COM1 e portundan gelen verileri okumalıyım..


Bu konu hakkında yaptığım arayışlar beni yıprattı arkadaşlar. Konu hakkında bilgisi olan kardeşlerimiz yol gösterirse sevinirim.

Şimdiden Teşekkürler..

9

Cevaplar (9)

İşlem devam ediyor, lütfen bekleyin..
Abdulbaki Zırıh
Doğru Cevap
@abdulbaki
5 ay önce [Güncellendi]

Anlı olarak port dinlemek istiyorsan php ile biraz zor. Burada javascript(NodeJS) socket.io kütüphanesi kullanılarak anlık olarak dinleme yapılabilir. https://socket.io/

İşlem devam ediyor, lütfen bekleyin..
Murat Gül (TA5MRG)
@Voodoo
5 ay önce

Çözümü bilmiyorum ama python ile olur diye düşünüyorum

İşlem devam ediyor, lütfen bekleyin..
Webkartalı Yazılım
@WebKartali
5 ay önce

python ile de olur doğrudur, ama ne yazık ki benim o dili öğrenecek vaktim yok :)

İşlem devam ediyor, lütfen bekleyin..
Hakan Yavaş
@yvshkn
5 ay önce [Güncellendi]

yararlı olurmu bilmiyorum ama şöyle bir yol izleyebilirsin;


php ile bir js fonksiyonu tetikletebilir js ile de activex çalıştırıp basit bir kabuk scripti ile com port iletişimi sağlayabilirsin

şuraya aşağıya bir kod bırakıyorum tarayıcı üzerinden bazı win uygulamalarını çalıştırmak için kullanmıştım belkş yardımcı olur

					var WshShell = new ActiveXObject("WScript.Shell");
					var oExec = WshShell.Exec("cmd");
					while (oExec.Status == 0){
					WScript.Sleep(100);
					}
					WScript.Echo(oExec.Status);
İşlem devam ediyor, lütfen bekleyin..
Webkartalı Yazılım
@WebKartali
5 ay önce

@yvshkn, eyvallah hocam.. Fakat bende durum biraz daha farklı :(

Com Port u anlık dinlemem gerekiyor. Veri alıp, veri göndermem gerekiyor.

Cevapla @yvshkn5 ay önce
@WebKartali, sanırım nodejs ile de seri port kontrolü yapılıyordu yanlışım yoksa :) bu tarz birşey görmüştüm tekrar bulabilirsem paylaşırım
Cevapla @WebKartali5 ay önce
Eyvallah hocam teșekjür ederim. Bende arayıș içindeyim..
İşlem devam ediyor, lütfen bekleyin..
Webkartalı Yazılım
@WebKartali
5 ay önce

Konu hakkında fikri olan var mı acaba ?

İşlem devam ediyor, lütfen bekleyin..
Webkartalı Yazılım
@WebKartali
5 ay önce

@abdulbaki teşekkürşer hocam. Yapacak bir şey yok o zaman. Birde dediğiniz gibi nodjs olayını araştırayım.


Cevapla @abdulbaki5 ay önce
@WebKartali, Rica ederim. NodeJS'i araştırmak faydalı olur. Youtube üzerinde güzel bir set var. Sadece socket.io kullanacaksanız nodejs'i detayına kadar öğrenmenize gerek yok tabi öğrenmek iyidir sadece öncelikli olan işinizi yapmanız için söylüyorum. NodeJS'de bir kaç bir şey öğrenip ardından socket.io kütüphanesini kurcalayabilirsiniz. Socket.io sitesi üzerinde başlangıç olarak güzel bir uygulama mevcut bir chat uygulaması bunu yaparak kullanım mantığını kavrayabilirsiniz.

Youtube üzerinde Kayhan Ayar'ın NodeJS video serisi.
https://www.youtube.com/watch?v=sFMvqMHUryY&list=PLDUOF2Be-kzm_8UxwfY0pKQqwPR5TOs0X

Socket.io örnek kullanımı(chat uygulaması)
https://socket.io/get-started/chat/
İşlem devam ediyor, lütfen bekleyin..
Adem Can
@ademcan
5 ay önce [Güncellendi]

Sadece bu olay için nodejs öğrenmeniz bence çok gereksiz ve saçma olur.

Redis / socket.io zaten kullanılabilir.

Pusher 

Ratchet gibi dolu şey var bunu yapabilmek için

dolu şey varken php de yokmuş gibi başka dilde çözüm aramak amatörlük belirtisi. Neden saçma açıklamak gerekirse

Broadcast, Schedule, Queues bilmeden başka dile geçmek odaklanmak, emek, fazla efor, maliyet, berbat edilen iş, tecübesizlik, sıkışık zaman, patlayan iş demektir.

İş esansında yeni bir dil öğrenilemez. Bunlar rahat zamanlarda olabilir. İş sözleşmesi ve proje süresi, eğitim araya katılarak ayrılan bir zaman değildir.


Uzun lafın kısası bu işlemi php de yapamıyorsanız zaten php bilginizi sorgulamanız gerekir. Bir php geliştiricis olduğunuzu iddia etmiyor ya da juinor kabul ediyorsanız kendinizi ona bir şey diyemem tabi. Ama bot işlemini php de bilmiyorum python da yazarım beautifulsoap diye güzel bir kütüphanesi diye birşey söz konusu olamaz farzı misal.

Cevapla @abdulbaki5 ay önce
@ademcan, Zaten verdiğim cevapta NodeJS'i bu iş için baştan öğrenmenize gerek yok dedim. Sadece socket.io kütüphanesini biraz kurcalayarak yapılabilir diye ekledim. Bu söylediklerinizi ben kullanmadım bilmiyorum hangisi daha kolay ve hızlı olur. Baktım cevap gelmiyo bende yapılabilecek bir yöntem söyledim elbet alternatifler olabilir veya socket.io alternatif olabilir.
Cevapla @ademcan5 ay önce
Socket.io zaten php içerisinde kullanılabiliyor. Nodejs yönlenmesi zaman kaybı olacaktır. Yarım bilgiyle proje bitemez, yarım yamalak şeyleri yapmak bile uzun zaman alır. En basit işlemler bile ayağına dolanacağını hesaba katarsak, bunun deployu bile farklı, paylaşımlı hostingle çalışmıyor.
Sadece bu iş için giden hatta php bilgisi de zayıf olan biri için yaş. Bunun daha expressi var, kendine ait kavramları var stackoverflowdan alınıp denenebilecek şeyler değiller iş süreci boyunca. O işin yetişebileceğine ben ihtimal veremiyorum.
Cevapla @ademcan5 ay önce
Kaldı ki işe yararsa bu daha da gelitşirmesi gerekebilir. Bir nodejs geliştiricisine göre 4-5kat ağırdan gelmesi muhtemel. Benim şahsi kanaatim. Boş zamanlarda yeni denizlere yelken açılmasına birşey diyemem.
Cevapla @abdulbaki5 ay önce
Ben bildiğimi söyledim sende öyle karar kullanıcıya kalmış.
Cevapla @WebKartali5 ay önce
@ademcan, haklısınız bir noktada ama kuru kuru PHP ile olmuyor bu iş.. Bu yüzden bir çözüm arayışı içindeyim. Söylemiş oluğum com1 ile haberleşme olayı hakkında nette 1 yada 2 adet class mevcut.. Onun harcinde birşey yok ne yazık ki..

siz sağlıklı bir yöntem önerin isterseniz bizde ona göre hareket edelim.. Hem faydanız olmuş olur :)
Cevapla @ademcan5 ay önce
O kadar yazıyı faydası olsun diye yazdım zaten. Size sizin projenizin nasıl yapıldığınızı anlatan hiçbir döküman bulamazsınız. Derya kadar kaynak mevcut. Sadece belirttiğim kaynakları armanız bile yeterli aslında.
Cevapla @ademcan5 ay önce
Kavramları* aratmanız bile yeterli. (yukarıda yanlış yazmışım) Yapmaya çalıştığınız bir socket işlemi. Ratchet nedir, aratmazsanız redis & socket.io php ile nasıl çalışır incelemezseniz size faydası olamaz.
Cevapla @ademcan5 ay önce
Önerilerime rağmen sağlıklı bir yöntem mi arıyorsunuz ? Benim önerdiklerim php de bunu nasıl yapabileceğinizin yöntemleri . Bu ifade benim cevap vermeye harcadığım zamana hakarettir.
Seçim sizin.
Cevapla @WebKartali5 ay önce
@ademcan, ilkinde seni anlayamamışım kardeşim. İlk msjında zaten çözümü söylemişsin. Kusuruma bakma bende jeton yeni düştü :) Verdiğin bilgiler içinde ayrıca çooook teşekkür ederim.
Cevapla @TheYkkk5 ay önce
@ademcan, redis ne laka birde bahsettiginiz terimler genelde laravel de var. anlamadim yani adam serial baglanti yapmak istiyor siz ousher felan demissiniz galiba anlatmak istediginizi anlayamadim
Cevapla @ademcan4 ay önce
Laravel bir php frameworkü ona ait terimler değil. Onda da kullanılabilir. Redis ile çok alakası var socket.io ikisi bir arada kullanılıyor. Pusher laravele ait birşey değildir. Java, python diğer diller için bile kütüphaneleri mevcut. O sadece bir servis.
Port dinlemek tüm dillerde mevcut bir özellik. Bu da socket ile oluyor.
İşlem devam ediyor, lütfen bekleyin..
Yusuf Kaan Karakaya
@TheYkkk
5 ay önce

https://github.com/Xowap/PHP-Serial/

bunu kullandinizmi?

Cevapla @WebKartali4 ay önce
@TheYkkk, ilginiz için teşekkür ederiz hocam. Bundan haberim var fakat işimi görmemişti.
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın

Yabancı Dizi Arşivi