Algoritma Sorusu

Başlatan yldzelektronik, 08 Ağustos 2016, 16:29:09

yldzelektronik

Merhaba,

Bir konuda algoritma çıkarmakta zorlanıyorum. Tecrübeli arkadaşların bu işleri nasıl yaptığını merak ettim ve danışmak istedim.

Önce örnek bir senaryo izah etmeye çalışacağım.

Bir tünel, boyu 5 km.

Bir cihaz var.Cihaz üzerinde her 3 saniyede bir farklı uzunlukta veri üretebilen bir sensör var. Üretilen verinin tünelin dışındaki gözlem odasına aktarılması gerekmekte.

Sub GHZ rf kullanılacak. Veri üretimi ile ilgili bir durum var;

Sensörün ürettiği veri önce cihaz üzerinde bir filtreden geçecek.Bu filtre verinin gözlem odasına gitmeye değip değmeyeceğine karar verecek.Her veri gönderilmeyecek, çünkü boşuna veri trafiği oluşturmak istemiyorum.

O yüzden veri boyutu 0 byte ile, 100 byte olacak. Bu aralık bir cihazın min-max veri boyutu.

Bu veriyi tünel ortamından bahsedildiği için dışarıya taşımak hopping (diğer cihazlardan atlatarak) ile olacak. Yanılıyor muyum?

Göndermek istediğim veri için bir paket formatı oluşturdum.Ama doğru format mı onu tam kestiremiyorum.Daha önce haberleşme alt yapısı tasarlamam gerekmedi.Bir de bu işler profosyonelce nasıl yapılır bilemiyorum. Onu öğrenmek istiyorum

Bahsettiğim sistem aşağıdaki resimdeki gibi.




Ayrıca network seri bağlı ledler gibi olacağından hat üzerinde bir noktada node cevap veremez olursa kendinden sonraki cihazlar erişilemez olacak. Bu durumu da anlık görüntüleyebilmek istiyorum.Bir wifi ağa bağlandığınızda sizin ip adresiniz mac adresiniz vs bağlı olduğunuz makinede görülebiliyor ya.O şekilde her nodu birbiriyle bağlamak istiyorum.Bağlantı koptuğunda da algılayıp uzak istasyona bildirebilsin istiyorum.Belki bağlantı durumunu göndereceğim pakete ekleyebilirim de.

Nasıl bir yol izlemem gerekir?

Örneğin bağlantı durumunu sorgulamak için saniyede 10 kez veya 5 kez haberleşme kontrol verisi gönderip alayım diye düşünüyorum.Böylece bağlantı durumunu kontrol etmiş olurum.

Bu işler normalde nasıl yapılır, nasıl yol izlemek gerekir, bu konu hangi başlık altındadır, haberleşme alt yapıları nasıl ve neye göre tasarlanır?Benim izlemem gereken yol nedir?Okumam gereken kaynaklar nelerdir?

Bir abi TTL (Time To Live) kullan falan demişti. Nasıl kullanabilirim?Ne yapabilirim?

Birçok haberleşme protokolünde mac var.Bunları oluştururken nasıl düşünülüyor?

Ek: Beklentim, hazır kod bloğu vs değil.Yalnızca yol gösterilmesine ihtiyaç var.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

yldzelektronik

Alıntı yapılan: gerbay - 09 Ağustos 2016, 15:27:59
...veri real-time olarak iletilecek sanırım. zaman kısıtları var mı? şu kadar sürede o 100 byte lık verinin diğer tarafa gitmiş olması lazım gibi bir gereksinim var mı?

Real time olması gerekli.Ancak şöyle.Sensör her 4 saniyede bir veri üretebiliyorsa, o verinin izleme merkezine gitmesi 1 saniyeden az sürmeli.


Alıntı yapılan: gerbay - 09 Ağustos 2016, 15:27:59
Siz bence biraz daha detaya girmelisiniz..

Nasıl yani?Biraz detay verebilir misiniz?Detaydan kastınız nedir?

Alıntı yapılan: gerbay - 09 Ağustos 2016, 15:27:59
Ethernet network mü kullanmak istiyorsunuz?

Anladığım kadarı ile WiFi ya da benzeri bir teknoloji kullanmak istiyorsunuz, tünelde birbirlerinin antenini görecek şekilde kaç tane gerekiyorsa koyacaksınız ve o şekilde istediğiniz yere ulaştıracaksınız? Doğru mu?

Pek ethernet denmez sanırım.Bir tünel içine yerleştirilmiş cihazlar var.Veri aktarımı sub ghz rf modüller üzerinden olacak.Bazı kısıtlardan dolayı her 50 metrede bir cihaz yerleştirilecek ve veri cihazlar üzerinden atlayarak dışarıya taşıyacak. Yani 250 adet cihaz yerleştirilmiş bir tünelin en son noktasında yer alan cihazın ürettiği verilerin izleme istasyonuna gitmesi için 249 adet cihazın üzerinden geçmesi gerekir.

Alıntı yapılan: gerbay - 09 Ağustos 2016, 15:27:59
Toplam kaç cihaz kaç sensör var? senaryonuz tek yönlü gibi, bunlar tek yönlü mü çift yönlü mü çalışacak?

Toplam şuan 255 adet cihaz düşünüyorum.Adres için tek byte ayırmak istediğimden.Ama ileriye yönelik cihaz sayısını arttırabilirim de.Ayrıca mı değerlendirmek gerekir bilemedim.Baştan maksimum cihaz sayısını belirleyip ona göre mi hareket etmeli?

Haberleşme tek yönlü.Ancak izleme istasyonundan sahadaki cihazların yazılım güncellemelerinin de yapılabilmesi gerekli.Bu yüzden komutları falan ona göre oluşturmak gerek diye düşünüyorum.
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

ErsinErce

zigbee altyapısı ile direk istediğiniz yapılıyor hocam.
direk olarak protokol yapısını bilmiyorum detayına pek giremeyeceğim.
ama yol göstermesi açısından yardımcı olabilir.

keyword "zigbee mesh network"

mufitsozen

Alıntı yapılan: ErsinErce - 09 Ağustos 2016, 17:26:49
zigbee altyapısı ile direk istediğiniz yapılıyor hocam.
direk olarak protokol yapısını bilmiyorum detayına pek giremeyeceğim.
ama yol göstermesi açısından yardımcı olabilir.

keyword "zigbee mesh network"

Bu networkde 5km icinde 40 adet node var. Controller'in en ucta olacagi dusunulurse ip gibi arka arkaya dizilmis bu agac yapisi normal konfigurasyon ile mumkun olmaz. Cunku default tree maximum depth 15 diye hatirliyorum. zigbee kullanilacaksa bu konuyu kontrol etmek lazim.

Network topolojisi(max dept, max child vb)  ile ilgili parametereleri degistirmek mumkun diyede hatirliyorum ama max-depth 40 yapilabilirmi yinede speclere bakmak lazim.

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

ErsinErce

http://www.nxp.com/documents/user_manual/JN-UG-3048.pdf
burada baktığım kadarıyla  bir cihaz çevresinde olan max 32 cihazı kayıt edebiliyor. ama node a gelen adres o node da kayıtlı değilse diğer nodelara soruluyor.
tüm cihazları router olarak ayarlayarak (baştaki hariç) 64000 node a kadar çıkmak mümkün gibi

mufitsozen

#5
Alıntı yapılan: ErsinErce - 09 Ağustos 2016, 23:39:40
http://www.nxp.com/documents/user_manual/JN-UG-3048.pdf
burada baktığım kadarıyla  bir cihaz çevresinde olan max 32 cihazı kayıt edebiliyor. ama node a gelen adres o node da kayıtlı değilse diğer nodelara soruluyor.
tüm cihazları router olarak ayarlayarak (baştaki hariç) 64000 node a kadar çıkmak mümkün gibi

Ben buna karsi birsey soylemedim,

Dokumanin 34 sayfasinda baslayan Network topology bahsine bakarsaniz, Controllerin tepede olacagi Tree yapisinin max derinliginden bahsettim.


tabiiki 15 derinliginde bir agac yapisinda her dugumde belli bir sayida 'child' ile mesh networkde 64000 uc olabilir AMA burada her node bir otekine baglaniyor yani MAX depth 15 olunca 15 node'dan fazlasi kullanilamaz (ipe dizer gibi arka arkaya koyarsaniz.)

Yinede bunlar network parametrelerini degistirmek mumkundu diye hatirliyorum (network olusturulurken, galiba controller'da) ama bunu teyid etmek lazim.

yada bir kac tane network yapip bazi 'controller' nodelarda kendimiz bir 'router/gateway' uygulamsi yapmamiz lazim (bir networkden oburune paketleri forward ederek)

YANI default bir zigbee network boyle bir uygulamada (40 node arka arkaya baglayarak) yapilamaz,

mesaj birleştirme:: 10 Ağustos 2016, 00:01:46

ref verdiginiz dokumaninda 99. sayfasinda 'The maximum depth (number of levels below the Co-ordinator) of the network is 15.' diye acikca yaziyor
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

yamak

Hocam Radiocrafts ya da z-wave i de araştırabilirsiniz.

ErsinErce

sorun yok @mufitsozen hocam, ters cevap verdim gibi düşündüyseniz, düşünmeyin. emin olmak için sorgulama amaçlı yazmıştım.
stack ile oynamak gerekiyor anlaşılan bu konfigürasyonu sağlamak için.
bir alternatif olarak kenara yazılabilir.

mufitsozen

Alıntı yapılan: ErsinErce - 10 Ağustos 2016, 09:02:36
sorun yok @mufitsozen hocam, ters cevap verdim gibi düşündüyseniz, düşünmeyin. emin olmak için sorgulama amaçlı yazmıştım.
stack ile oynamak gerekiyor anlaşılan bu konfigürasyonu sağlamak için.
bir alternatif olarak kenara yazılabilir.

Benim picproje'de yazilanlar ile ilgili tek bir endisem var, eksik yada yanlis bir bilgi ile okuyanlarin kafasinda dogru olmayan bir algi yaratmak. Bazen forumda bariz olarak teknik yanlisliklar iceren paylasimlar yapiliyor, bilhassa tecrubesiz uyeler tarafindan. Bunu okuyanlardada yanlis bir intiba uyaniyor, buda bilgi kirliligi yaratiyor. O yuzden forumda yazili bir cevapta hep titiz ve dikkatli olmak gerekir diye dusunuyorum.

Ben sadece yazdiklariniza ek bir teknik bir detay oldugunu belirtmeye calistim, yoksa sizin yazdiklarinizin yanlisligini gostereyim diye dusunmedim.


No prb @ErsinErce :), sizin daha onceden beri forumdaki katkilarinizdan oturu deneyimli ve bilgili bir uye oldugunuzu dusunuyorum, bu baslik altinda yazdiklarinizda bunun dogrulugunu teyid ediyor.

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

yldzelektronik

Alıntı yapılan: gerbay - 09 Ağustos 2016, 17:19:07
hocam bahsettiğiniz rf modüllere bakmak lazım, onların özelliklerine, destekledikleri protokol ve yöntemlere bakmak lazım. tüm bilgileri toplayıp analiz edip, hesap kitap yapıp ona göre karar vermek lazım.

node lar birbirine nasıl bağlanıyor (ben resmi göremiyorum iş yerinden) vs. hepsini analiz etmek düşünmek lazım.

Abi kullandığım modül SI4432.Bildiğim kadarıyla desteklediği özel bir protokol yok.Yapılacak hesap kitap nedir?

Bu durumda neleri ne şekil göz önünde bulundurmak, nasıl düşünmek gerek?Bunu izah edebilir misiniz?

Alıntı yapılan: ErsinErce - 09 Ağustos 2016, 17:26:49
zigbee altyapısı ile direk istediğiniz yapılıyor hocam.
direk olarak protokol yapısını bilmiyorum detayına pek giremeyeceğim.
ama yol göstermesi açısından yardımcı olabilir.

keyword "zigbee mesh network"

Abi ortam aslında çok mesh'e ihtiyaç duymuyor sanki.Yanılıyor muyum?Çünkü yapı düz bir tünel şeklinde, düz bir sıra halinde dizilmiş cihazlar.Ve her cihazın adresi belli.Ve hatta adreslerin sıralı gittiğini düşünün.Mesh sanki daha açık alan protokolü gibi geliyor bana.Yanılıyor muyum?Detaylı bilgiye haiz ben de değilim. @mufitsozen abi bizi bilgilendirebilir mi?

Alıntı yapılan: mufitsozen - 09 Ağustos 2016, 23:17:14
Bu networkde 5km icinde 40 adet node var. Controller'in en ucta olacagi dusunulurse ip gibi arka arkaya dizilmis bu agac yapisi normal konfigurasyon ile mumkun olmaz. Cunku default tree maximum depth 15 diye hatirliyorum. zigbee kullanilacaksa bu konuyu kontrol etmek lazim.

Network topolojisi(max dept, max child vb)  ile ilgili parametereleri degistirmek mumkun diyede hatirliyorum ama max-depth 40 yapilabilirmi yinede speclere bakmak lazim.

Abi 40 node demişsiniz 5 km için.Her 50 metrede bir cihaz olacak.Bu da 100 cihaz yapıyor.Yanılıyor muyum?

Bir de network şemasına bakarsak, yalnızca veriyi üreten cihazlar var.Bu cihazlar veriyi kendileri gönderiyor.Ancak yine farklı adresteki aynı cihaza.Yani cihazlar birbirinin aynı (fonksiyonel vs olarak). Demeye çalıştığım, bunlar tünel içinde bir gateway vs gibi birşeye veri taşımayacak.Veri hep aynı karakteristikteki cihazlar üzerinden atlayarak dışarıya gidecek.Mesh pek ihtiyacımız olan birşey değil sanki.Yanılıyor muyum?

Alıntı yapılan: yamak - 10 Ağustos 2016, 00:10:22
Hocam Radiocrafts ya da z-wave i de araştırabilirsiniz.

Hocam bunları daha önce de görmüştüm.Ancak tam olarak çözemedim.Bu modülleri al kullan mı diyorsunuz, yoksa libleri var al kullan mı?Çok bakma imkanım olmadı, ama çok network ile ilgili bilgiye erişemedim henüz.Olaylarını henüz anlamadım.İnceleyeceğim.Fakat bunlarda önerdiğiniz nedir?Ürün olarak al kullan şeklinde mi, yapıyı taklit edebilirsin şeklinde mi?

Cevaplar için teşekkürler.

Bir de genel olarak phy tarafından bağımsız düşünürsek nasıl bir yapı çıkar ortaya?Benim aklıma gelenler aşağıdaki gibi;

struct NetworkPacket_t{
	uint8_t sourceAddr;		//Veriyi gönderen cihaz
	uint8_t destAddr;		//Verinin gönderileceği cihaz
	uint8_t next_hop;		//Veri atlayarak gideceği için sıradaki cihaz adresini bu değişken tutacak.
	/*Rf modül bufferları 64 byte veya 32 byte oluyor.
	 * 255 byte vs veri göndermek gerektiğinde paketin
	 * hangi parçası olduğunu tanımlamak için.
	 */
	uint8_t packetCounter;	
	/* Network içinde o esnada birden fazla paket dolaşıyor olabilir.
	 * Aynı paketi boş yere sürekli göndermemek için her pakete
	 * bir tanımlayıcı vermek gerekir gibi geldi.
	 */
	uint8_t packetID;
	uint8_t data[MAXDATASIZE];
}


/* Diyorum ki, acaba gönderilecek verinin boyutunu da göndersek nasıl olur?
* Ayrıca gönderilecekk veriye bir üst limit eklesek?
* Mesela bir değişkenin ilk 4 bitini gönderilecek verinin boyutu, son 4 bitini paket sayacı
* olarak kullansak?Veya tam tersi.
* Sonuçta veri haberleşmesi tek yönlü.İçeriden dışarıya (tünelden izleme istasyonuna)
* Nihayette verinin gidebileceği tek bir adres var.
* Bir de bazen izleme istasyonundan networkteki belirli bir cihaza veya broadcast olarak
* göndermek isteyebileceği mesajlar olacaktır.Bunlar için de bir komut kümesi olsa?
* Örneğin, bootloader güncellemesi, yazılım güncellemesi gibi işler yaptırılmak istenebilir.
* Ben bunun için bir flash (external,spi) koymayı düşünüyorum.Server yazılım versiyonlarını da
* sorgulayabilmeli gibi geliyor sanki (tüneldeki cihazlardan) ?
*/

Sizin önerileriniz neler olur?Ne düşünürsünüz?Ben bunları düşünürken, rf ic den bağımsız olarak düşündüm.Ayrıca data rate vs de önemsemedim.Bir de benim şuan yaptığım tasarımda (donanım), bir cihaz üzerinde iki adet rf ic var. Aslında her ikisi de tranciver. Ama rf iclerden birini veri göndermek üzere, diğerini veri almak üzere düşündüm.Aslında biri networkün sağıyla diğeri soluyla ilgilensin diye düşündüm.

Biliyorum inanılmaz amatör ve kötü bir çözüm, tercih.Bu iş için CSMA/CD gibi şeyler var.Ancak daha hızlı ilerleyebilmek için bunu yaptım.Ve biraz daha öğrenmeye başladığımda düzelteceğim.Sırf yazılım işçiliği daha olsun diye tercih etmem söylendi.

Sonuç olarak yapıyı nasıl şekillendirelim?
Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

mufitsozen

Alıntı yapılan: yldzelektronik - 10 Ağustos 2016, 11:25:10

Abi ortam aslında çok mesh'e ihtiyaç duymuyor sanki.Yanılıyor muyum?Çünkü yapı düz bir tünel şeklinde, düz bir sıra halinde dizilmiş cihazlar.Ve her cihazın adresi belli.Ve hatta adreslerin sıralı gittiğini düşünün.Mesh sanki daha açık alan protokolü gibi geliyor bana.Yanılıyor muyum?Detaylı bilgiye haiz ben de değilim. @mufitsozen abi bizi bilgilendirebilir mi?

Abi 40 node demişsiniz 5 km için.Her 50 metrede bir cihaz olacak.Bu da 100 cihaz yapıyor.Yanılıyor muyum?

Bir de network şemasına bakarsak, yalnızca veriyi üreten cihazlar var.Bu cihazlar veriyi kendileri gönderiyor.Ancak yine farklı adresteki aynı cihaza.Yani cihazlar birbirinin aynı (fonksiyonel vs olarak). Demeye çalıştığım, bunlar tünel içinde bir gateway vs gibi birşeye veri taşımayacak.Veri hep aynı karakteristikteki cihazlar üzerinden atlayarak dışarıya gidecek.Mesh pek ihtiyacımız olan birşey değil sanki.Yanılıyor muyum?
Evet yaniliyorsunuz.

1- 40 node dedim cunku yazi ile 50ser metre aralikli deyip sekildeki gibi diye asagidaki sekli vermissiniz, burada 500 metrede bir DORT node var, buda 5kmde 40 node yapar. RESIMLERI OZENLE CIZINIZ. cızımle yazim ayni degil, (en azindan bende) kafa karisikligi yapar.



2- her node HEM veri uretiyor HEMDE obur node'dan gelen bilgiyi(cift yonlu) yolluyor. Buda ROUTER FONKSIYONU, dolayisi ile zigbee orneginde networkunuzde hem CONTROLLER hemde ROUTER fonksiyonu var.

Bundan fazlasi icin soru cevap ile ve celiskili/eksik isterlerle birsey yapmak mumkun degil. Sistem tasarim nasil yapilir oradan baslamak lazim oda bu forumda olmaz.

Alıntı yapılan: yldzelektronik - 10 Ağustos 2016, 11:25:10
Bir de genel olarak phy tarafından bağımsız düşünürsek nasıl bir yapı çıkar ortaya?Benim aklıma gelenler aşağıdaki gibi;
...........
Biliyorum inanılmaz amatör ve kötü bir çözüm, tercih.Bu iş için CSMA/CD gibi şeyler var.Ancak daha hızlı ilerleyebilmek için bunu yaptım.Ve biraz daha öğrenmeye başladığımda düzelteceğim.Sırf yazılım işçiliği daha olsun diye tercih etmem söylendi.

Sonuç olarak yapıyı nasıl şekillendirelim?

Bu yazilanlardan kavramlari cok da bilerek yazmadiginizi anliyorum. OSI modelini ve buradaki katmanlarin tam olarak islevlerini ogrenip anladiktan sonra biraz aciklama yapabiliriz.

yazilim ve donanim uzerine yazdiklariniz aslinda iki ayri safhada yapilmasi gereken isleri tarif ediyor. Maalsesf genel bir kural olarak sistem analiz ve tasarimi yapilirken bu sekilde bir ileri bir geri gitmek yanlisliklar yaratir. COK KABACA yazilim muhendisligindeki modellerden biri ile ornek vermek gerekirse:
1- Once Sistem isterleri belirlenir ve detaylanir. (hem verilen/istenen kriterlerle hemde acikca olmadan ima edilen/beklenilen given/implied)
2- Sonra detayli bir sistem analiz safhasi olur.
3- Daha sonra High/Top-level Design (ust duzey tasarim, sistem bolumleme(partition)
4- Daha sonra ise  Low/detailed Design (alt seviye/ayrintili tasarim)
5- sonra Development/Implementation (gelistirme, uygulama) - ve unit tests
6- Integration - butunlestirme/birlestirme
6- field test - Alan testleri
7- Production ve Operation (uretim ve isletme

Eger projede tek basiniza calisyorsaniz bu safhalarin hepsini siz tek basiniza yapar ve bilginin cogunu aklinizda tuttugunuzdan ve hemen degistirebildiginizden daha hizli ve verimli calisabilirsiniz. Ama aklinizdakileri yaziya/modele dokmeden baskalari ile calismaniz maalesef mumkun olmaz.

simdi siz 1. basamaktaki bilgilerin hepsini vermiyor yada eksik/yanlis veriyor ve sordugunuz sorularla 2,3,4,5. basamaklar ile ilgili nasil yapayim diye soruyorsunuz. Bu arada fiziksel seviye yazilim seviyesi diyerek katmanli bir uygulama modeli bahsediyorsunuz ama temel OSI seviyelerinde boyle bir ayrim yok, bundanda sizin bu modeli tam anlayamadiginizi (yada cok basitlestirip/eksik anladiginizi) dusunuyorum.

Kusura bakmayin bir suru elestri gibi oldu ama, hep yazdigim gibi boyle acik bir forumda yapilandirmadan/sistematik bir sekilde bir hazirlik yapmadan daha acik cevap yazmak mumkun degil. Isterleri hazirlanmis bir sistem hakkinda ayni mekanda bir kac kere yuzyuze bu safhalari gecmeden size hep eksik hatta yanlis bilgilendirme yapmis oluruz.

Bu calismalari daha once yapmis ve ticari olarak urun ortaya cikartmis olan arkadaslarda anlayisla karsilarsinizki sordugunuz detayda sorulara cevap yazmazlar, geriye Prof. Zihni Sinir cozumler kaliyorki :) onlarda size sadece vakit kaybettirir.
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

ErsinErce

@mufitsozen Yanlışım varsa doğrusunu öğrenmek isterim hocam,
Haklısınız ilk başlarda bazı konularda biraz teknik sahibi olunca her yaptığımızı o kalıba oturtarak cevap verme işine yapmaya başlıyoruz ki bende yapmışımdır.
Artık daha dikkatli gidiyorum bu konuda. Bu karakter de malesef tecrübe ile gelişiyor.

@yldzelektronik
mesh network ihtiyacınız olmazsa olmaz bana göre,
neden derseniz cihazınız hem router hem end point olarak işlev görecek.
router akış yönü belirleyemezseniz ve gelen bilgiyi benim değil benden sonrakine gidecek galiba diyerek tekrar yayınlarsanız, sizden önceki cihazda almış olacak.
tabi o cihaz yine onda kayılı olmadığından tekrar yayın yapıp bir önceki ve sonraki istasyonlarda sonsuz döngü oluşacak.
diğer istasyonlara ulaştıkça onlarda bu döngüye girecek.

Routing table mutlaka oluşturmanız gerekiyor.

Veri gidiş yönüne göre önceki istasyonun tekrar yayın yapmasını engellemeniz lazım.

sonrasında komut kümesi ve veri paketleri tasarlamak size kalmış.

RF de cihazın sağı solu yok malesef, 2 transceiver birbirine yayın yapmaya başlar, farklı frekans bandları kullanacağım derseniz iş daha da karmaşıklaşır.

minimum 3 layer oluşturmak lazım
ilk layer donanımla ilgilenecek verileri donanıma aktaracak (ayrıca zamanlama vs ile ilgilenecek)
ikinci layer IP/ID ve ROUTING ile ilgilenecek (adres kendinde ise 3. layera aktar, değilse akış yönüne göre sonraki veya önceki node a aktar)
üçüncü layer ise sizin verilerinizle ilgilenecek(komutlar- sensör verileri vb)

Edit:bunları yazarken mufitsozen hocam da yazmış, temel mantık örneği oluşturması açısından destekleyici olur umarım

yamak

Alıntı yapılan: yldzelektronik - 10 Ağustos 2016, 11:25:10
Hocam bunları daha önce de görmüştüm.Ancak tam olarak çözemedim.Bu modülleri al kullan mı diyorsunuz, yoksa libleri var al kullan mı?Çok bakma imkanım olmadı, ama çok network ile ilgili bilgiye erişemedim henüz.Olaylarını henüz anlamadım.İnceleyeceğim.Fakat bunlarda önerdiğiniz nedir?Ürün olarak al kullan şeklinde mi, yapıyı taklit edebilirsin şeklinde mi?
Evet hocam direkt alıp kullanabilirsin.Radiocrafts'ı kullandığım için ondan örnek vereyim:
Radiocrafts ın kendine özgü Tinymesh diye mesh bir protokolü var.Ayrıca configurasyon tool'ları var onlarla her bir modülü konfigüre edip hangi ağda olacağını,baud rate'ni unique Id'sin vs ... konfigüre edebiliyorsun.Bunları yaptıktan sonra da uart arayüzden modülle konuşuyosun.Kullanımı rahattır radiocrafts'ın.Ayrıca spectrum analyzer gibi güzel toolları var.

kantirici

Her node un bir ID si olacak ve bunlar da önceden bilinecek. Ayrıca bir arıza v.b durumda yeni node un ID si değişmeyecekse mesh e ve zigbee ye gerek yok diye düşünüyorum.

İlk verici ilk atlama yapılacak node un ID si ile yayın yapar. Node lar kendi ID si ile uyuşmayan mesajı dikkate almazlar. İlk node mesajı alır ve ID'yi ikinci node un ID is ile değiştirir ve gönderir. Böylelikle sıralı bir şekilde veri transfer edilir ve aynı verinin başka node'lar tarafından tekrar yayınlanması engellenir. Bu işlem hat boyunca devam eder ve veri bir uçtan diğer uca taşınır.

yldzelektronik

Alıntı yapılan: mufitsozen - 10 Ağustos 2016, 12:38:20
Evet yaniliyorsunuz.

1- 40 node dedim cunku yazi ile 50ser metre aralikli deyip sekildeki gibi diye asagidaki sekli vermissiniz, burada 500 metrede bir DORT node var, buda 5kmde 40 node yapar. RESIMLERI OZENLE CIZINIZ. cızımle yazim ayni değil, (en azindan bende) kafa karisikligi yapar.

(Resim gizlendi görmek için tıklayın.)


Haklısın abi.Aslında o resim farklı bir halde idi.Düzelteyim dedim ama o kısmı kaldırmamışım.Benim hatam. Geçerli olan 50 metrede bir cihaz yerleştirilmesi.

Alıntı yapılan: mufitsozen - 10 Ağustos 2016, 12:38:20
2- her node HEM veri uretiyor HEMDE obur node'dan gelen bilgiyi(cift yonlu) yolluyor. Buda ROUTER FONKSIYONU, dolayisi ile zigbee orneginde networkunuzde hem CONTROLLER hemde ROUTER fonksiyonu var.

Anladım.

Alıntı yapılan: mufitsozen - 10 Ağustos 2016, 12:38:20
Bundan fazlasi icin soru cevap ile ve celiskili/eksik isterlerle birsey yapmak mumkun değil. Sistem tasarim nasil yapilir oradan baslamak lazim oda bu forumda olmaz.

Abi bu kadar kızmasan iyiydi ama.. Var ki hatamız söylemişsin.Bu konuyu nerede hangi forumda konuşabiliriz?Söyleyebilir misiniz?Bir de çelişkiliden kastınız resimdeki durum ise onu açıkladım.Çelişkiyi kaldırdığımı düşünüyorum.Başka çelişkili bir durum var mıdır?

Alıntı yapılan: mufitsozen - 10 Ağustos 2016, 12:38:20
Bu yazilanlardan kavramlari cok da bilerek yazmadiginizi anliyorum. OSI modelini ve buradaki katmanlarin tam olarak islevlerini ogrenip anladiktan sonra biraz aciklama yapabiliriz.

Abi zaten başta belirttiğimi sanıyorum.Bu konulara vakıf değilim. OSI modelini inceledim.Dediğiniz gibi tam olarak anlamadım fakat eğer oradan başlamak gerek derseniz onu da inceleyebilirim.

Alıntı yapılan: mufitsozen - 10 Ağustos 2016, 12:38:20
yazilim ve donanim uzerine yazdiklariniz aslinda iki ayri safhada yapilmasi gereken isleri tarif ediyor. Maalsesf genel bir kural olarak sistem analiz ve tasarimi yapilirken bu sekilde bir ileri bir geri gitmek yanlisliklar yaratir. COK KABACA yazilim muhendisligindeki modellerden biri ile ornek vermek gerekirse:
1- Once Sistem isterleri belirlenir ve detaylanir. (hem verilen/istenen kriterlerle hemde acikca olmadan ima edilen/beklenilen given/implied)
2- Sonra detayli bir sistem analiz safhasi olur.
3- Daha sonra High/Top-level Design (ust duzey tasarim, sistem bolumleme(partition)
4- Daha sonra ise  Low/detailed Design (alt seviye/ayrintili tasarim)
5- sonra Development/Implementation (gelistirme, uygulama) - ve unit tests
6- Integration - butunlestirme/birlestirme
6- field test - Alan testleri
7- Production ve Operation (uretim ve isletme

Eger projede tek basiniza calisyorsaniz bu safhalarin hepsini siz tek basiniza yapar ve bilginin cogunu aklinizda tuttugunuzdan ve hemen degistirebildiginizden daha hizli ve verimli calisabilirsiniz. Ama aklinizdakileri yaziya/modele dokmeden baskalari ile calismaniz maalesef mumkun olmaz.

simdi siz 1. basamaktaki bilgilerin hepsini vermiyor yada eksik/yanlis veriyor ve sordugunuz sorularla 2,3,4,5. basamaklar ile ilgili nasil yapayim diye soruyorsunuz. Bu arada fiziksel seviye yazilim seviyesi diyerek katmanli bir uygulama modeli bahsediyorsunuz ama temel OSI seviyelerinde boyle bir ayrim yok, bundanda sizin bu modeli tam anlayamadiginizi (yada cok basitlestirip/eksik anladiginizi) dusunuyorum.

Aslında benim en baştan itibaren bahsetmeyişimin sebeblerinden biri he şeyi yazmışsın bari yap, sana biz mi yapalım türünde tepki almak istemediğimden, diğer bir sebeb sonuçta ticari bir iş ile ilgili ve proje şahsımın değil.Verdiğim gereklilik dışında bir bilgiye ihtiyaç var mı bilemiyorum.Ancak sorulduğunda sakıncası yoksa cevaplarım.

Bir sürü eleştiri gibi oldu evet.Ama çok ehemmiyeti yok.Yani olayı kişiselleştirmekten yana değilim.Yol gösterin dedim, cevap verdiniz.

Şimdi, konuya detaylıca vakıf değilm.Amacım öğrenmek.Bu yüzden bu başlıktayım.Hatalı olduğum öğrenem gereken kısımları söylerseniz daha hızlı ilerlerim.Talebim bu.

Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.