Güzelmiş. HTTP tamamen implemente edilmiş mi peki? HTTP GET ve POST requestlerini güzelce alabiliyor muyuz, aldıktan sonra ne kadar işleyebiliyoruz? Serial over TCP için hazır bir modülü var mı? Bunlar sisteme değil direk koda yönelik sorular oldu farkındayım ama ne kadarı hazır geliyor onu merak ettiğim için soruyorum. Daha basit bir PIC'e Internet'ten yönetilebilirlik ekleyebilmek için vakti zamanında Lantronix XPort isimli bir cihaz kullanmıştım ama alet çok güçlü olmasına rağmen, SDK'sı için bin kusür $ istenen Firmware'i bir GET request'ini dahi işleyecek kapasiteye sahip değildi. Kasıp PHP ve Flash ile aletin TCP portu üzerinden konuşmak zorunda kaldım ve nefret ettim ![]() |
http://serkanc.dyndns.tv arkadas bu sayfayı nasıl olusturcaz bu proje ile ilgili daha açık bi kaynak yokmu. teşekkürler. |
Burda hazir olan kütüphaneler sayesinde TCP/IP protokolüne tamamen erişiyorsunuz. Yani gelen requestler size aynen iletiliyor. POST olanlar için fonksiyon yazıp işleyebilirsiniz. Ancak TCP protokol kütüphanesinde bir eksik var, o da parçalı gönderim yapılmıyor. Ethernet mcu 1500Byte üzerine çıkmadığı için biraz derine inmeniz gerekir... Ancak şimdilik önemli fonksiyonları yerine getirebilirsiniz... Örneğin nasıl bir çalışmada kullanmak istiyorsunuz, ona göre size cevap vereyim. |
mikroC'de bu kütüphaneye ait olan devre aşağıdaki gibi. dediğim gibi programı yüklerseniz demo web sayfası olarak bu uygulama var. Ve kodlar gerçekten zor değil... < Resime gitmek için tıklayın > |
Çok güzel bir proje olmuş, ellerinize sağlık. :) Ben de uzun bir süredir böyle bir şey yapmak istiyordum ancak PIC'i iyi bilmeme rağmen internet protokolleri vb. hakkında pek bir bilgim olmadığı için bir türlü böyle bir projeyi hayata geçirebilme fırsatım olmadı, acaba kendimi nasıl geliştirebileceğim hakkında bir fikir verir misiniz? İnternet protokolleri, basit bir server kurma vb. şeyler hakkında nasıl kendimi geliştirebilirim, önerebileceğiniz kaynaklar nelerdir? Bildiklerime gelirsek de çok iyi derecede PICBasic, orta seviyede PICC (halen kendimi geliştiriyorum), orta seviyede VBASIC ve biraz da .php ile HTML biliyorum, elektrik-elektronik bilgim ise yine üst seviyede. EDIT: İmla |
Yorumlarınız için teşekkür ederim. Ben de ilk başta PICBasic kullanıyordum. Hatta ordan USB iletişim ile ilgili güzel bir proje yaptım 18f2550 ile, hatta en son GLCD kontrolü de gerçekleştirdim. Ancak PICBasic zaman kesmelerinde hata yapıyordu. PIC C ile devam ettim.. Sonrasında bu projede mikroC kullandım. Açıkçası size tavsiyem mikroC ceçkip incelenemeniz. Kodları yazarken ana katman protokolleri hakkında bilgiye sahip olmanız gerekmiyor, eğer ki istedğiniz web server ise. Sadece http hakkında bilgiye sahip olmanız yeterlidir ki o konuda da fazla birşey gerekli değil. Devreyi kurduktan sonra program içindeki demo üzerinden rahatlıkla ilerleyebilirsiniz. UDP bootloader sayesinde de sürekli kodda değişik yapabilirsiniz... İhtiyacınız olursa her konuda yardımcı olmaya calışırım.. |
xporttan neden soğudunuz? :) ne yapmak istediğinizi ben de merak ettim. Serkan, verdiğin link bozuk görünüyor. ADSL modemden yönlendirmeyi nasıl yaptın?. bu konuda biraz bilgi verebilirmisin?. |
Sizinki sanırım olmaz ama, mikroC ye ait olan dökümanları sıkıştırılmış bir dosya olarak paylaşmanız mümkünmü ? Ben Hi-tec c kullanıyorum. Bu dosyaları elde etmek içinde mikroc yi aramakla zaman kaybetmek istemiyorum. uzun bir süredir ethernet ile uğraşmak istiyordum, Belki vesile olur. |
Güzel bir çalışma olmuş, tebrikler. Sunucuyu akşam kapatacağınızı söylemişsiniz, zira kapalı sanırım şu an. Tekrar ne zaman açma şansınız olur? Saygılarımla |
Evdeki router yonlendirme yapmiyor, cok kurcaladik update falan bozuldu :) Isyerinde yarin yeniden baglarim... Hocam mikroc sayfasindan cekebilirsiniz... ordan helpleri acip dokumanlari okuyabilirsiniz. Takildiginiz yeri bu baslik altindan sorarsaniz yardimci olurum... @garfie... serveri aksam cikardim, isyeri malum kapatiyorum. Yarin tekrardan acarim. Routerdan port acip yapiyorum. tam olarak sormak istediginizi anlayamadim ama ? @90alper90... Yarin tekrardan acacam.. gercekten zevkli, aslinda analog portlara bir de ds1080 baglamayi dusunuyorum, surekli 1023 goren inanmayacak bana :) |
router'dan 80 portunu kartın lokal IP adresine yönlendiriyorsun doğru mu?. |
Evet oyle yapiyorum. Su an server'i actim.. |
tesekkurler:) Aslinda esas bu ise girmekteki amacim, yaptigim devir sayici ve voltaj olcen devreyi, bu olaya entegre edip, ruzgar gulunun verilerini anlik izlemek... |
Sahip olduğum birşeyi dibine kadar kullanamayınca soğuyorum, xport olayının arkaplanında da bu yatıyor :) garfie'den almıştım zaten. Esas yapacağım şeyle uğraşmaya vaktim kalmayınca işyerindeki kahve makinasını ağa dahil etme, evdeki kombiye uzaktan erişim, wireless LCD (lcd smartie ile), tam başarılı olmayan bir kamerayla görüntü aktarımı denemesi ve birkaç küçük şey daha denedim. Yapıyor alet işini aslında, sadece bilgisayar tarafını hazırlamak sıkıntılı iş. 10001'inci TCP portu hariç bir metodu yok. Şu an işyerimdeki UPS'in seri portuna bağlı, bilgisayar tarafına da küçük birşey yazdım, elektrik kesilince önce ağdaki tüm client'ları sonra da kendini kapamaya çalışıyor ![]() |
Konuya yabancıyım. anladığımı yazayım. Bu devreyi kuruyoruz.programı yüklüyoruz.(pic haricinde konunun diğer taraflarını bilmiyorum) web alan adı satın alıyoruz.eloko.dyndns.tv gibi web sayfası tasarlıyoruz.devreyi adsl modeme takıp başka yerden bu web sayfasına girip led yakıp söndürüyoruz. web sayfamız bu devrede yüklü oluyor.yani bilgisayara gerek kalmıyor.doğru mu? dtmf ile telefon hattından kontrol devresi yapmıştım,pic programınıda kendim yazdım. birbirlerine benziyorlar. doğru anlamışmıyım arkadaşlar.bazı terimleri anlamıyorum. mesela "udp den web sayfası yükleme ?? nedir. |
Tam anladiginiz gibi, bilgisayardan bagimsiz, web sayfasi mikrocipin hafizasinda, normalde disardan bir eeproma da yuklenebilir. Dediginiz devreyle ayni, bunda sadece protokollerle ugrasiyor.. UDP de bir protokoldur, TCP gibi, kolayligi ise devamli bir baglanti gerektirmez. Ornegi mikrodenetleyici uzerindeki programi degistirmek istediniz, o durumda aleti resetliyorsunuz ve bootloader programini acip, yeni yazilimi gonderebiliyorsunuz, internet uzerinden.. Bunu da UDP protokoluyle yapiyor Ya da uzerindeki web sayfasini degistirmek istiyorsunuz, ama firmware degistirmeden yapmak istiyorsunuz, o zaman da yeni bir uygulama yazip web sayfalarinizi UDP protokoluyle mikrodenetleyiciye gonderebilirsiniz.. Kusura bakmayin orda cumle biraz kestirme olmus.. |
ben bildiğimi yazayım, arkadaşlar eklemeleri/düzeltmeleri yaparlar. edit: ben yazana kadar cevap gelmiş zaten :) bir PIC ile devreyi kuruyorsunuz. PIC içine yüklediğiniz kodla basit bir web server çalıştırıyorsunuz. Devreye bir IP atayabilirsiniz veya kendisi dns serverdan IP alabilir. kodda tanımladığınız port numarasını, router üzerinden bu IP'ye yönlendiriyorsunuz. static IP'niz yoksa, serkan arkadaşın yaptığı gibiwww.dyndns.tv adresinden isim alıp kendi IP'nize yönlendiriyorsunuz. bundan sonra http üzerinden gönderdiğiniz komutlarla PIC'e istediğinizi yaptırıyorsunuz. Dediğiniz gibi, bilgisayara gerek yok. Hazar, Ben modülü hep PIC'in seri portuna LAN üzerinden bağlanmak için kullandım. PC tarafında, sanal com port oluşturup COM üzerinden de bağlanabiliyordum. aslında üzerindeki webserver'a müdahale edilebilse daha güzel olacakmış. bu aralar bu tarzda wifi çalışacak bir modül arıyorum ama 70$'dan başlıyor fiyatlar :( |
Hoşuma gitti bu iş. nasıl başlayacağım bu işe .picbasic biliyorum. en temel devre resimdeki devremi. o ethernet entegresini kullanmayı bilmek gerekiyor sanırım. |
ENC28J60, spi arabirimi ile 18f4620 ile haberlesme sagliyor. Ikisi de 3.3V ile calisiyor, ethernet bootloader sayesinde, hicbirsey sokmeden LAN uzerinden firmware degistirebiliyor.
Sorusu olan varsa yanitlayabilirim.
http://serkanc.dyndns.tv