Visual Basic de MSWINSCK.OCX kullanımı

Katılım
18 Ocak 2008
Mesajlar
1,088
Puanları
156
Yaş
40
Arkadaşlar herkese hayırlı sabahlar bu gecemi komple olarak internetin derinliklerine ayırdım ama fazla bişey bulamadım :cool: amacımda şu...

İnternet üzerinden evdeki cihazlarımızı on-off şeklinde çalıştırabilecek data aktarımı yapmak

Bu olayı bir bilgisayar olacak ve bu bilgisayarın seri portuna bağlı bir mikro denetleyicili max232 li devre kartı olacak şekilde yapabilmeyi amaçlıyorum.

Normal olarak seri porttan cihaz kontrol kısmını yaptım o konuda bir problem yok fakat internet olayını çözemedim.

örneğin benim evim izmirde ve evin mutfak kısmına lpg gaz sensörü koydum pencerelerine pır sensörleri koydum prizlerin birkaçtanesine röle koydum diyelim ve benimde bursada olduğumu düşünürsek bütün bu sistemi internet yoluyla takip edip bu cihazları online olarak yönetmek ve sensörlerin durumlarını kontrol ederek istediğim her an bunlardan haberdar olmam gerekiyor.
Ben bursada iken izmirdeki bilgisayarım açık olmayacaktır ilk olay internetten izmirde evimdeki bilgisayarı açacak bir kod geliştirmem gerekecektir.
Bilgisayarı açtığımda bu bilgisayarın portlarına erişebilmem gerekecektir bu işi de seri port kontrolü için yazdığım arayüz programını izmirdeki bilgisayarımda çalıştırarak yapabileceğim gibi arayüz programını bursada çalıştırıp izmire data yollamaklada yapabilirim.
Geriye kalıyor feed back almak örneğin gaz kaçağında gaz sensörüm gazı algılarsa bunu önce mikro denetleyiciye sonra pc ye yollayacak fakat pc açık değilse hiç bir şey yapmayacak ( sadece ben istediğim zaman devreye girecek bir devre )
Pc açık diyelim ve o anda gaz sensörü devreye girdi yada pır sensörü işte bu bilgiyi internete nasıl göndereceğiz
En büyük ve ilk dert ise internete bursadan girdiğim zaman izmirdeki bilgisayarımı nasıl açacağım ? Aslında telefonla yapılan cm8870 gibi devrelerle bilgisayarın power tuşuna bi röle koyup bunu yapabilirim ama kontür olayından ötürü kullanışlı olmayacaktır daha farklı bir yol lazım
İnternette o anda bilgisayarımın ip adresi vs problemleri ile uğraşmama gerek pek yok çünki telekom sabit ip numarası veriyor ayda 4 tl artı maliyeti var.

İşte tam bunları araştırırken bir arkadaşın yaptığı programı gördüm programda MSWINSCK.OCX adlı dosyayı kullanmış dolayısıyla internetten program ile bir bilgisayarın paralel portunu sadece çıkış yönünde kontrol edebiliyor bende merak ettim buu MSWINSCK.OCX dosyası nedir ve ne işe yarıyor kullanımı nasıldır.

Birde ENC28J60 diye bir entegre ile cihazların kontrol edileceği yerde bilgisayara gereksinim duyulmadan devre tasarlanıp direk olarak çalıştırılabiliyormuş ENC28J60 entegresi hakkında bilgisi tecrübesi olan arkadaşlar varmı nasıl çalışır amacı nedir vs gibi bilgiler lazım da

bunlarla ve projemle ilgili bilgilerinizi tecrübelerinizi paylaşırsanız çok memnun olurum...
 
Boyle bir seyi GNU/Linux ortaminda yapmak cok basit (muhtemelen Windows ortaminda da rahat yapiliyordur)

Oncelikle makineye bir web sunucu kuracaksin (Ornegin Apache)

Sonra seri portu kontrol eden (veya hangi portu kontrol etmek istiyorsan) bir web uygulamasi yazacaksin. Ornegin Python kullanarak yazmis oldugum buna benzer uygulamalar var, baska programlama dili de kullanilabilir.

Sabit IP gerekmez, dyndns.org o isi halleder.

Makineyi acmak icin de makinenin ethernetten boot ozelligini kullanabilirsin (ethernetten bagli modem kullaniyorsan). Web uygulamana ilk erismek istediginde makine kapali ise acilir, birazdan bi daha denediginde uygulamana ulasirsin.

Eski bir PC kullanip surekli acik da birakabilirsin.
 
Merhaba,

Bilgisayarı sürekli açık tutmak daha kolay olabilir, senin istediğin zamanda açılması için anakart üzerinden 'wake on lan' seçeneğini aktifleştirmen gerekiyor.

Ancak bu noktada kullandığın modemin özellikleri ön plana çıkıyor:

1-Statik IP kullanmıyorsan, modemin DynDns gibi bir sistemi desteklemesi gerekiyor, bende U.S Robotics modem vardı, firmware güncellemesine rağmen yine de verimli çalıştıramadım.
2- Modemine dışarıdan gelirli bir port üzerinden gelen paketleri, senin bilgisayarına yönlendirmesi gerekiyor, bunu hiç denemedim daha önce ama çalışıyor olması gerek.

Yine de çok verimli çalışacağına inanmıyorum.

Bu nedenle benim önerim bilgisayarı sürekli açık tutmak.

Bilgisayardan alarm bilgilerini almanın yolu ise çok fazla:
1-Bilgisayarına bir web sunucusu (IIS) kurup, onun üzerinden bu sonuçlara ulaşmak:
a- .Net 2005 ten itibaren seri port komponenti kullanılabiliyor, VB.Net ile bunu yapmak kolay, ihtiyaç anında seri porttan okuyup web sayfasına yansıtmak mümkün. Bu sayede bilgisayarındaki web sayfasından bu bilgilere ulaşabilirsin.
b- Eğer .Net tecrubem yok diyorsan, PC programlama gerektirmeden şöyle bir çözüm daha var; seri porttan gelen bilgileri sürekli olarak Hyper Terminal programı ile bir text dosyaya kaydedebiliyorsun; bunu c:\Inetpub\wwwroot\log\capture.txt şeklinde kaydedip IIS e tanıtırsan, (modem ayarlarını doğru yapmak şartıyla) aşağıdaki gibi bir adresle bu kayıtlara ulaşabilirsin:

http://hasartvinli.dyndns.org/log/capture.txt

Bunun için PC de kod yazmana gerek kalmaz.

2 - Eğer statik IP, modem ayarları ile ilgili bir problem varsa, ücretsiz ASP.Net sunucuları var, onlar üzerine yazacağın bir web service işini görebilir. PC için yazacağın program bu siteye bağlanıp, web service kullanarak alarm bilgilerini bir veritabanına (genellikle Access e izin verirler) kaydeder, sen de gerektiğinde bu siteye bağlanıp bu Access dosyasından alarm geçmişini de görebilirsin.

3- İlla ki TCP-IP üzerinden program yazacağım, modemimi de ayarlamak istemiyorum diyorsan, Hamachi isimli programı öneririm, ücretsiz versiyon ile 14 bilgisayara kadar sanal bir network oluşturmak mümkün, kendini ayrı bir ethernet kartı gibi gösterip, gerçek bir network ile yapabileceğin her şeyi yapabiliyorsun. Ama MSWINSCK.OCX eski sistemler için tasarlandığından, eğer bir bilgisayarda IP adresi alabilmiş birden fazla Ethernet kartı (bu terim çok doğru değil aslında, zaten windows ta buna bu nedenle 'ağ bağdaştırıcısı' demeyi tercih ediyor) varsa, TCP / IP paketleri bunların hangisine gideceğini şaşırabiliyor, (Bir ara bu nedenle çok tırmalamışlığım vardır, INDAFINS i yazarken başıma geldi, wireless açıkken kablo üzerinden PLC ile haberleşemiyordu) bu nedenle bilgisayarda iyi bir routing ayarı yapmak gerekiyor, bunu yapmadan sadece hamachi kurup veri paketinin hedefe ulaşmasını beklersen çok tırmalayabilirsin, senin hamachi networke göndermek istediğin paket, aslıda modeme gidip 'öyle bir adres yok' cevabına neden olabilir.

4 - Benim tercihim budur, bilgisayarı sürekli açık tutup, bilgisayara bir de 'LogMeIn' veya 'TeamViewer' uygulamalarından birini kurmak, TeamViewer güzel, ben onu kullanıyorum. Kurduğunda sana 8 basamaklı bir sayı veriyor ve bu hiç değişmiyor; (sabit IP, dyndns, TCP/IP, modem ayarları vs. ile uğraşmana hiç gerek kalmıyor yani), kendin bir şifre seçiyorsun, internete bağlı başka bir bilgisayardan bağlanmak istediğinde bu sayıyı ve şifreyi girmen yeterli bilgisayarını direk kullanabiliyorsun. Günde 1 saate kadar ücretsiz kullanım hakkı veriyor ki fazlası ile yetiyor. Buradan da, kendi bilgisayarındaki programı direk kullanıp herşeye ulaşman mümkün.

Saygılarımla,
 
2- Modemine dışarıdan gelirli bir port üzerinden gelen paketleri, senin bilgisayarına yönlendirmesi gerekiyor, bunu hiç denemedim daha önce ama çalışıyor olması gerek.

Yine de çok verimli çalışacağına inanmıyorum

Benim surekli kullandigim birsey bu, farkli ADSL modemlerle de denedim. Çok yüksek ihtimal hiçbir sorun yaşamazsınız. Piyasada bulunan ethernetten baglanan ADSL modemlerin cogu, sorunsuz port yonlendirme yapiyor.
 

Forum istatistikleri

Konular
130,125
Mesajlar
933,352
Kullanıcılar
453,198
Son üye
matrix43

Yeni konular

Geri
Üst