STM32F103C8'e ethernet çipi bağlamak

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

z

Çipimizin UniqID si yok. Gönderen kısmına bir adres yazmamız gerekecek. Mesajından anladığım kadarıyla bu adres için eski bir network kartından okuduğumuz MAC adresini kullanacağız.

1) Kartımı modemin çıkışlarından birisine bağladığımda ilk muhabbeti modem mi açacak hey sen kimsin vs gibi? Yoksa muhabbeti ben mi başlatacağım?

2)



WAV, BMP gibi headerı olan dosyalar açıklanırken senin anlattığın şekilde şurda şuraya kadar şu saklıdır şu adresde şu vardır vs vs der en son olarak da datalar burasıdır der.

Verdiğin resimde destination ve source adreslerden sonra 2 byte type alanı ve bunu takip eden 46..1500 byte data var.

Bu dataların formatının dokumante edilmiş olması lazım ki devamında bunları yorumlayacak kodları yazabileyim.

Bu dokümanlar detaylı şekilde nerede yayınlanıyor?

Mesela aşağıdaki dokuman hoşuma gitti. Ancak bu veriler aşağıdaki resimde üst sıralarda yer alıyor.

https://tr.wikipedia.org/wiki/TCP

Derdimi anladın herhalde.

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

frederic

@z hocanın yarı yaşındayım ama onun şu anki enerjisi bende yok, hazır kütüphane kullanımı bizi bağımlı kılmaktan ve yabancılardan yeni driver çıkarmalarının yolunu gözlemekten başka bir halta yaramıyor.

Şahsen hatırı sayılır bir çok iş yaptım fakat hazır driver'lar o işe olan hakimiyetimi bir noktada hep baltaladı.

hgs

ethernet driverı deyince "3-5 satırlık kod parçası"mı anlaşılıyor ?

frederic

Benim yaptığım şey özeleştiridir manipule edilmesin lütfen. Tam olarak bundan bahsediyorum zaten, ethernet driverı 3-5 satırlık kod değil, bu yüzden de bu driver kullanıldığında insan başından sonuna kodu inceleyip temel mantığı kavrıyamıyor.

Yaptığınız devrenin kalbini ethernet oluşturmuyorsa ayrı mesele, ama ethernet üzerinden şekillenen bir kart yaptıysanız şu paket gitsin şu paket gelsin demekle olmuyor.


z

Tez hocam aşağıdaki projeyi verdi.





Yukarıda görülen iki kiti kullanarak basit bir web server yapılabilmesi için gerekli yazılımların assembly dilinde yazılması.

Proje süresi: 30 gün.

Kullanılması serebest olan araç gereçler: PC, Keil ortamında ASM derleyici, Hesap makinesi, her türlü basılı ve sanal ortamdaki  dokümanlarlar, forum üyelerinden gelecek destekler

Kullanılması yasak olan araç gereçler: ASM haricindeki derleyiciler,  asm dilinde bile olsa her türlü açık/kapalı kütüphane ve obj kodlar.

Not: Proje başlangıcında MCU tamamen silinecektir.

Hocama çok yalvardım ama C, C++, Ardonyo, kütüphane falan kullanmama izin vermedi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

muhittin_kaplan

Alıntı yapılan: z - 19 Eylül 2016, 11:00:41
Tez hocam aşağıdaki projeyi verdi.

Malum Olduğu Üzere Bu Forum Bir Ödev Yapma Forumu Değildir ;)

z

#66
Zaten sizlerden hazır  kod talep etmiyorum.  Ayrıca Tez hocam da forumun aktif bir üyesi. Her an soluğunu ensemde hissediyorum.

Bir de şunu merak ediyorum. Kütüphane yazan adamlar neden yazıyorki. Kütüphane yazmak istediklerinde heyt huyt sen napıyon diyorlarmıdır ki?

Diyeceksiniz ki onlar okumuş uzman olmuş.

Eee ben de okudum uzman oldum. Tek bir uzmanlık alanım var, o da problemleri asm bazında çözme.

Problem önemli değil. Sorup soruşturur, araştırır, okur öğreniriz.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

frederic

@gerbay hocam birebir katılıyorum yazdıklarınıza, bende aynı şeyi kastediyorum aslında, yaptığınız işin kalbi ne ise onun derinine inmekte fayda var. Değilse benimde çalışma tarzım bu şekildedir.

Ben internete çıkmadan endüstriyel ethenet seviyesinde kodlar yazıyorum çünkü haberleştiğim cihazlar PLC- HMI - SCADA.

Sahadan aldığım bir inputu veya analog bilgiyi ethernet üzerinden sürekli aktarıyorum ve hali ile iletişimin sağlığı benim için çok önemli. Bu işi  ilk önce hazır driver ile yaptım, fakat sonra sistemde kopmalar olunca ve sorunun sebebini bulmanın zorluğu karşısında yaptığım şey üzerinde ki hakimiyetimi kendi içimde tartıştım ve kolları sıvadım, bu sayede daha sağlıklı işler çıkardım. Tek bir konuda uzmanlaşmayı ve enerjiyi buna harcamayı %100 destekliyorum.






hgs

#68
frederic
Elde bir iş var. Bu işi yüzlerce binlerce farklı özelliği olan bir alet ile yapmak gerekiyor. Hadi diyelim basit olarak isviçre çakısı ile yapacağız. Bu aletin nasıl kullanılacağını bilmek temel şarttır değilmi ?

Projeye atıp derleyip hexi alıp mcuya yüklemek sonrasında bu işi biliyorum demek marifet değil elbette. Sorun çıkacak sorunun kaynağını araştıracaksınız. Aletin nasıl kullanılacağını ögreneceksiniz. Normal olan bu. Bunu yapamayana yazılımcı demezler herhalde.

Burada mesele farklı bir noktaya gidiyor. Z nin hedefleri farklı ve bu hedefler konusunda "Başarılar"da diledim.

Znin önünde bir iş var yapılacak. O iş için gereken isviçre çakısını ben yapacağım diyor. Ama bununla da yetinmiyor. Bu aleti yaparken en eski yöntemlerle taş sopa vs elde işleyerek bu aleti yapacağım diyor. Önce bu eski yöntemlerle yapacak aleti. Sonra o alet ile işi yapacak. Sonrada teslim edecek. Çıkacak olan sanat eseri olabilir kör topal bir şeyde olabilir. Bununla ilgilenmiyoruz.

3-5 ay sonra, birilerine sen bunu esp ile yap diyebilir.

O söylemesede 2-3 sene sonra wifi ve 433mhz rf in temel donanım olarak mcuların üzerinde standartlaşmaya başladığını göreceğiz.

frederic

Tamam hocam sensin =) Türkçe konuştuğumu düşünüyorum ama anlatamıyorum galiba derdimi, problem 1 tane ise eğer evet yazılımcı o hatayı arar bulur ve sistem kaldığı yerden işleyişine devam eder. Peki ya sorun genelse ve sistemin kararsızlığı sizin hiç öngöremediniz zamanlar da gerçekleşiyorsa ? Şimdi sorun çıkaran driver'ı ben sıfırdan yazmayı tercih ettiğimde ve yazdığımda yazılımcı olmuyormuyum yani ?

Önünüz de 2 seçenek var, ya bütün enerjinizi sorunu çözmek adına harcarsınız, yada aynı enerjiyi bütünü kendiniz yazarak harcarsınız. Ben ikincisini yapıyorum ve gayet mutluyum.

Ben sistemin kalbinden bahsediyorum, bu yüzden kendi işimden örnek verdim.

z

#70
Müşteriye teslim edilecek işin IOT bacağı varsa şu an izlediğim yol saçmalığın daniskasıdır.

Aciliyetin durumuna göre yüksek seviyeli bir modül alıp kod yazılabileceği gibi parası bastırılıp doğrudan bir başka firmadan hizmet de satın alınabilir.
Fakat ileride sorun çıktığında meletirler sizi.

IOT projelerinde kullanılması için bir ürün geliştirilecekse  Gerbayın önerdiği kütüphanelerle vs bir şeyler yapmak mantıklıdır. Fakat adı sanı belli olmayan bedava kütüphanelerde de sorun çıktığında melemek zorunda kalabilirsiniz.

Yetiştirilecek bir iş yoksa, olayları anlamak, pratik yapmak, çıkacak problemlere özgün çözümler getirmek gibi amaçlarınız varsa tek yol Z'nin yoludur.

Birileri metali talaşlı imalat teknikleri ile işler.
Birileri laserle işler.
Birileri elektroerozyonla metali işler.
Birileri kimyasal olarak işler.
Birileri nanoteknoloji ile metali atomik bazda inşa eder.

Talaşlı imalat yapanların nanoteknoloji ile uğraşanları kınamaya söz söylemeye hakkı varmı?

Herkes işine baksın.


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

hgs

Gereksiz alınıyorsunuz. İstediğiniz yoldan gidebilirsiniz, yardımcı olmak isteyenlerin (Buna dikkat çekmekte fayda var. YARDIMCI olmak isteyenlerin) derdi size faydalı olmaktan öte bir niyet olmadığının farkına varmalısınız.
Alıntı yapılan: z - 18 Eylül 2016, 21:17:01
Anlaşıldı mimlenmişim.
Bunu siz yazdınız ne anlama geldiğini görmek istemediğiniz çok oluyor.



Frederic önüne gelen ethernet kütüphanesi yazamaz. Sizde ethernet kütüphanesi hazırlamış değilsiniz. Bunu yazamadığınız için kendinizi "yazılımcı olmamakla" tanımlıyorsanız keyif sizin. Benim tanımım "Eldeki toolun nasıl kullanacağını öğrenemeyene, beceremeyene  yazılımcı denmez"dir. 



Varolan ethernet stackini hiç kullanamayan bir sürü yazılımcı ilede karşılaştım. Kullanıp sorunlarını çözemeyenleride gördüm. Kullanıp sorunları zorla çözenleride gördüm. Tıkır tıkır yürütebilen bu konuda deneyimsiz yazılımcı hiç görmedim. Varsa böyle bir arkadaş iş arıyorsa hemen iş verebilirim.

z

Ufff ufff alınganlık, yardımcı olmak isteyenlerin yardımdan öte başka niyeti vs ne ya?

http://www.bilisimterimleri.com/bilgisayar_bilgisi/bilgi/55.html
http://www.tech-worm.com/3251-2/
https://www.amazon.com/Ethernet-Definitive-Guide-Charles-Spurgeon/dp/1565926609

Bana yukarıdaki gibi ıvır zıvır link, bulması getirtmesi okuması zaman alacak kitap ismi vs vermeyin demek istedikten sonra güzel bir doküman linki veren arkadaş, şaka yoldan bana kızacaksın ama bu dokümana bir bak dediğinde ben de mimlenmişim diye şaka yapamazmıyım?

Yapmayın niyet okumayın.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

hgs

Alıntı yapılan: gerbay - 19 Eylül 2016, 13:31:03
bak hocam ekibe;
Dogan Yazar developed an HTTP/CoAP REST layer for Contiki.

https://www.linkedin.com/in/doganyazar

Research Engineer
Swedish Institute of Computer Science (SICS)
Ekim 2008 – Aralık 2010 (2 yıl 3 ay)Stockholm, İsveç

Actively conducted research in Embedded Networked Devices area. Worked on and contributed to Contiki OS and focused on integrating resource-limited embedded devices into the physical worlds towards the vision of Internet of Things. Developed power-efficient network applications with very small code print for tiny devices.


Daha fazla kalabalık yapmayacağım.

z

Gerbay adamlar bir araya gelmiş paralel processing yapıp hep beraber kod yazmışlar.

Ben de tek adam olarak tek process de yazacağım.

Ayrıca 4/4 bir şey yazmayacağım ki? Yarımyamalak araştırma ile zaten ne kadar mükemmel bir şey ortaya koyabilirim?

MCU'un sağdan soldan topladığı bir takım verileri bir internet sayfasında yayınlayabiliyor olması bu aşamada benim için çok yeterli.
Yapabilirsem internet sayfasından bazı verileri de MCU'a alabileyim.

Şimdi ethernet çipi ile mcu'yu gözüm kapalı haberleştiririm. Bu kısmı yazmak dert değilki. El atmışken  bunun bir üst yazılımını da yazar bitiririm. Sonra da bir üst yazılımını.

Githubda Mini Cnc, 3D yazıcı projelerine bir bak. PC yazılımını, çipin firmware yazılımını ekip yazmış. Biri Amerika'da bir Alamanya'da.  Sanki bana uzaya roket yolluyorlar.

Eee ben bunları tek başıma yazdım hata mı ettim? Hem de asm gibi ilkel bir dille.

Ürünleri yarıştırmak isteyen varsa getirsin yarıştıralım.


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