STM32F103C8'e ethernet çipi bağlamak

Başlatan z, 17 Eylül 2016, 18:33:38

hgs

serial ethernet çevirici yapıp satmak için eth stackmi yazmak gerekiyor ?

z

#151
@gerbay hocam

ENC çipli Web server ile mesela şunları yapmayı hedefliyorum.

İnternete girip evdeki ENC çipli serverime ulaşayım ve STMnin hazırladığı bir HTML sayfayı göreyim.
HTML sayfada yeralan veriler ENC'ye hükmeden STM işlemci ile  an ve an değişsin. Mesela ADC değeri bu GPIO pinindeki değer bu gibi.

Çıtam çok mu yüksek.

ASM ile olmaz mı bu işler? Bence olur.

mesaj birleştirme:: 23 Eylül 2016, 14:28:37

Alıntı yapılan: crazy - 23 Eylül 2016, 13:10:16
Hocam Stm32 yi tarayıcı üzerinden mi Delphi programı ile mi haberlestiriyorsunuz.İki taraflı veri gönderimi olacakmı..

Hangi açıklamama karşılık sordun bunu tam anlamadım.

2 MCU'yu birbirine bağlamakla ilgili yazımdan bahsediyorsan mesela 2 STM yi haberleştirmekten bahsettim.
İşin içine PC girerse PC'nin ethernet portunu kullanan yazılımına müdahale edemem.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

crazy

Delphi programı  ledi yak söndürmek, Stm32  üzerinden analog veriyi veya buton durumunu Delphi veya benzeri programla pc üzerinden gözlemlemek gibi.


mesaj birleştirme:: 23 Eylül 2016, 14:28:37

Hangi açıklamama karşılık sordun bunu tam anlamadım.

2 MCU'yu birbirine bağlamakla ilgili yazımdan bahsediyorsan mesela 2 STM yi haberleştirmekten bahsettim.
İşin içine PC girerse PC'nin ethernet portunu kullanan yazılımına müdahale edemem.
[/quote]

z

#153
Linked Liste aşina olmadığımı nerden çıkardın. Gerçi şimdilik kullanmayacağım ama gerekirse kullanırım.

Linked List lie ilk kez nerde karşılaştım yazayım.

PC için bir editor yazmıştım. Metni başlıyorum yazmaya diyelimki metnin ortasından bir harf sileceğim harfi silip harften sonra ne kadar veri varsa 1 byte kaydırıyordum.
Yada araya bir karaker ekleyeceksem eklemek istediğim noktadan en sona kadar ne kadar karakter varsa bir kaydırıp daha sonra da insert edeceğim karakteri yazıyordum.

Kısa metinlerde sorun yoktu ama metin boyu fazla oldumu karakter silmek yada araya karakter eklemek belirgin bir yavaşlığa neden oluyordu.

Bilgisayar Mühendisi bir arkadaşıma bu word falan bunu nasıl hızlı yapıyor üstelik asm ile kodluyorum diye sormuştum.

Arkadaşım Linked List yapman gerekir demişti ve mantığını anlatmıştı.

Basit bir çapraz adres tablosu yapıyordum. Dosyayı diske yazarken bu tabloya göre silinen eklenen ne varsa yerli yerine giriyordu.

Sanırım bahsettiğin linked list bu. Gerekirse gene kodlarım.

-----------------

DOS ve Win98 zamanındaki command prompta çalışan  PC uygulamalarımın tamamını ASM ile yazdım ve bu uygulamalar yıllarca devletimize hizmet etti. Programların yapacağı hatada kellem bile gidebilirdi. Ama çok şükür hayattayım ve hapislerde değilim.

Bir kaç KB küçük uygulamalar değil.  Kimi zaman com uzantısı yerine exe uzantılı kod bile yazmam gerekiyordu. Anla işte uzunlukları. Ama ne olduklarını da yazmak istemiyorum.

RTOS gerekirse araya virgül koyar işimi görecek kadarını yazarım hocam.

Sonuçta kullandığım dili boşver.


Bana e^st de diyebilirsiniz.   www.cncdesigner.com

kralsam

Alıntı yapılan: gerbay - 23 Eylül 2016, 13:11:39
hocam hayırdır ASM dememişsin.. kırmızı hap yaramaya başlamış..

ben dedim network stack yazmaya uğraşmayın, alın lwip yi kullanın diye.. halen de aynı şeyi söylüyorum...

hocam sen daha bir şey görmedin network ve ethernet ile ilgili.. bu yaptıklarında kayda değer bir şey yok henüz..

şu an elektronik devrende seri port ihtiyacın olduğunda ne yapıyorsun hocam? TTL entegrelerle shift register lar ile UART devresi mi tasarlıyorsun yoksa MCU nun içindeki hazır UART donanımını mı kullanıyorsun..

olay bunun gibi.. eğer TTL entegreler ile UART devresi yapıp bağlıyorsan network stack de yaz.. yok eğer MCU nun içindeki hazır UART ı kullanıyorsan network stack için de lwip yi kullan geç..

zaten ASM ile web server a kadar ilerleyemezsin hocam.. C ye geçmen gerekir.. gerçi web server dan ne kast edildiğine de bağlı bir durum bu..



hocam bir beyin fırtınası yapalım, senaryo şu;

server ı boğuyorduk ya... neden kendi MAC adresimiz ile yapalım ki bunu.. diyelim ki internet de bazı yerlerin IP ve MAC adreslerini topladık (ki bu çok kolay). bir liste oluşturduk, kendi MAC ve IP adresi alanlarımıza sırası ile o listedeki bize ait olmayan bilgileri doldurup doldurup hedef server ı bombardıman ediyoruz..

bu durumda bombardıman eden nasıl bulunur?  var mı bir öneriniz?
Bu ancak switch tarafından bilinebilir gibi geliyor. Başka türlü kaynağa ulaşılamaz sanki.

yamak

Alıntı yapılan: gerbay - 23 Eylül 2016, 14:16:17
boğmak için ille de tcp/ip gerekmiyor ki. udp yi ya da video streaming protokollerinden birini dayarız..




şimdi aklıma fikir geldi..

şimdi @z hocamın projeyi alsak,  "serial to ethernet converter" diye pazarlasak 50-100 tl den satsak iş yapar mı?
Hocam ISP ile anlaşıp router'lar incelenip yukarı da bahsettiğim yöntem ile bulunamaz mı?Saldırıların yapıldığı adreslerde hiç SYN paketi almayan kullanıcılar incelenebilir.

muhittin_kaplan

Sonuçta Uç Nokta MAC ve IP değişse bile Aynı anahtardan geçecek ? onu bulamazmıyız ?

yamak

Alıntı yapılan: muhittin_kaplan - 23 Eylül 2016, 16:44:54
Sonuçta Uç Nokta MAC ve IP değişse bile Aynı anahtardan geçecek ? onu bulamazmıyız ?
Hocam local ağ için konuşursak dediğiniz doğru.Ama paket internete çıktığında bir sonraki local ağa kadar routerlar üzerinden geçer.

z

@gerbay

Hocam şimdi bu serveri yaptığımda sadece ben bağlanıp browserden izleyeceğim diye düşünüyordum.

Halbuki bu bir sayfa olacaksa birden fazla kişi aynı zaman aralığında girmek isteyecektir. Bu nedenle mi linked list ve rtos lazım diyorsun.

Birden fazla kullanıcı olayını düşününce evet ileride kod yazmak gitgide zorlaşacak. Bu konuya açıklık getirebilirmiyiz?

Ben şu ana kadar, gelen paketi al, cevabını oluştur yolla şeklinde yazmayı düşünüyordum.

Birden fazla kişi servere bağlanmak isterse bu yazma sitilim beni yarı yolda bırakacak kadar işleri karmaşıklaştırırmı?

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

yamak

Alıntı yapılan: gerbay - 23 Eylül 2016, 17:03:53
syn paketi tcp de var, biz "connectionless" protokollerden birini dayadığımızda geriye doğru gelebilmek için switch ler üzerinden geriye doğru gelip bölge daraltarak bulabilirler ancak..
Haklısınız hocam UDP yi bi an unutmuşum.

rck8942

Normalde ddos saldirilari server cökmediyse ssh üzerinden saldiranin ip si ögrenelinebilir.
Elektroniker für Betriebstechnik

Burak B

#161
40 bin tane android cihazı tor üzerinden proxyleyip DDoS yapıyorsa ne yapacaksınız ?

@z izlediğiniz yol derinlemesine network haberleşmesi öğrenmek için iyi bir yol. Ancak bir ürün ortaya koymak için uygulanabilecek en kötü yol.

@gerbay size yardım ediyor. Çünkü böyle kompleks bir işte ASM kullanmanın neden bu kadar gereksiz olduğunu anlamanızı istiyor. Daha önce yazdığım 3 maddeyi bitirseniz bile sonucun bir lwIP v.b. kullanmaktan daha hızlı olmayacağını göreceksiniz. Diğer yandan deneyimleriniz buradaki pek çok kişiye ders niteliğinde olacak.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

rck8942

Araya tor girdimi dedigim gecerli degil.
Elektroniker für Betriebstechnik

z

@Burak B

Amaç web server yapmak değil. Amaç web server projesimi sıfırdan kodlamak. Oldu oldu olmadı bırakırım. Ürün falan yapma amacım yok. (Proje biterse bitmiş projeyi belki ürün yaparım)

Elimden asm alınsa MCU'lara program yazmayı da bırakırım. İliklerime işlemiş, hastasıyım, tiryakisiyim, fanatiğim.  O derece yani.

Ha bu arada projelerimi C ile de yazacak kadar C biliyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Yuunus

@z hocam bu yapmaya çalıştığım işi piç ile yapmışlardı sanırım aynı eth cipi ile , gözüme bir yerde çarpmıştı, bu proje daha önce yapilmista siz asm ile mi yapmaya çalışıyorsunuz yoksa o projelerde hazır lib kullanıldığı için mi tercih etmiyorsunuz.