ESP-NOW

ESP Now küçük veri paketlerinin gönderilmesi için tasarlanmış bir protokol. Maksimum 250 byte civarında paketlere izin veriyor. Sensör verisi, komut vb iletişim için çok kullanışlı ancak sizin senrayoda doğru seçim mi siz karar verin.

Paket büyüklüğü 250 bayt dedik. Dolayısıyla sizin veriyi bölüp diğer tarafta birleştirecek bir katman yazmanıza ihtiyaç olacaktır. Arada paket kaybı olursa dosya kullanılmaz hale gelir. Bu sebeple bir de acknowledgement (onaylama) mekanizması lazım. Alıcı her başarılı paketten sonra göndericiye mesaj göndermeli. Bu yapılabilir tabi, ancak C bilmediğinize göre geliştirmek biraz zahmetli olabilir.

Bir tarafta Access Point açsanız, diğeri ona bağlansa, bir Async Web Server çalıştırıp, HTTP protokolü ile dosyayı upload ya da download yapsanız çok daha kolay olur.
http veya ftp kullanmayı pek istememem mesafe yüzündendi. Wifi iletişim kesintisi ve mesafe nedeniyle(500-600 metre arası iletim olsun istiyorum) güven vermiyor nedense bu nedenle de esp-now düşünmüştüm.
Konu başında belirtmiştim, ilk başta aklımda http veya ftp ile transfer etmek vardı fakat esp-now ile denemek istedim ama sanırım başarılı olamayacağım.
En iyisi söylediğiniz üzere ben http veya ftp ye geri döneyim. İki günüm bunları araştırmakla geçti pek motivasyonum kalmadı gibi
 
Merhabalar,
Yeni konu açmadan buradan sormak istiyorum.
Bir adet master ve 50 adet node olacak şekilde ESP32 ile yapılacak bir yapımız var. Esp-now protokolu ile unicast yapısında haberleştirmek istiyorum. Veri trafik yapısı ise her node ta bulunan butona basılınca bulunduğu konum bilgisini master cihaza gönderecek. Bu uygulamayı başladığımda ne tur sorunlar la karşılaşabilirim. Veya başka çözüm yollarına mı odaklanmam gerekir. Öneri ve tecrübelerinizden yararlanmak isterim.

Teşekkürler.

Not:
Cihazların bulunduğu yerlerde Acces Point wi-fi sinyalleri yoğundur.
Cihazlar acık alanda ve 700m mesafeye sahip.
 
espnow master en fazla 20 adet node hafızasında tutabilir. bu yüzden 50 cihaz olacaksa birden fazla mastera bölmek gerekir.
sistemde master-salve eşleşmesi manuel yapılmayacaksa başlangıçta broadcast üzerinden eşleşme sağlayan bir yapı kurulmalı.
wi-fi sinyal yoğunluğu çok fark etmez çünkü espnow aslında wi-fi modemlerin beacon protokolu olan 1mbitlik Direct-Sequence Spread Spectrum (DSSS) kullanır. sistem unşcast çalışacağı için paketlerin ulaşıp ulaşmadığınu bileceksiniz. ulaşmadığı durumda retransmit yapılır.

700 metre mesafe için çalışılacak kanal ve alıcı verici antenlerin iyi seçilmesi, doğru anten lokasyonu ve empedans uyumlama gerekir.
 
espnow master en fazla 20 adet node hafızasında tutabilir.
Hocam bu kısmı anlayamadım.

Yapımı şu şekilde anlatmaya çalışayım.
Her node (1-50 arası ) Master cihaza Masterin mac'ine 2-3 byte veri gönderecek

Master -> Receiver konumda
Node -> Transmit konumda olacak.

Receiver konumundaki cihaza node mac lerini tanımlamak gerekiyor mu ki ?
(Örneklerde ve 3 cihaz testimde tanımlama yapmadım )


Teşekkürler.
 
@czorgormez Hocam sizin mesajdan sonra aşağıdaki bilgiye ulaştım ama ne demek istediğini anlayamadım.

ESP-NOW allows pairing with a maximum of 20 devices. Is there a way to control more devices?

You can use broadcast packets and provide the destination addresses in the payload. The number of addresses would then not be affected by the limited number. You only need to configure the correct broadcast address.

Kaynak: https://docs.espressif.com/projects...evices-is-there-a-way-to-control-more-devices
 
@czorgormez Hocam sizin mesajdan sonra aşağıdaki bilgiye ulaştım ama ne demek istediğini anlayamadım.

ESP-NOW allows pairing with a maximum of 20 devices. Is there a way to control more devices?

You can use broadcast packets and provide the destination addresses in the payload. The number of addresses would then not be affected by the limited number. You only need to configure the correct broadcast address.

Kaynak: https://docs.espressif.com/projects...evices-is-there-a-way-to-control-more-devices
unicast haberleşmek için masterda slavelerin mac adresleri, slavelerde ise masterin mac adresi register edilmiş olmalı.
aksi halde register edilmemiş bir mac adresinden gelen paketleri duyamazlar.
 
unicast haberleşmek için masterda slavelerin mac adresleri, slavelerde ise masterin mac adresi register edilmiş olmalı.
aksi halde register edilmemiş bir mac adresinden gelen paketleri duyamazlar.
Hocam şimdi olayı anladım. İlk başta unicast tanımı yanlış anlamışım. Node lar sadece gönderecek Masterdan node lara geri bildirim olmayacak. Ben ise unicast tek yonlu anladığım için kafam karişti.

Benim yapım resimdeki gibi olacak ve slave geri bildirim yapmayacak. Bu şekilde olmasında bir sorun var mı ve uygun mudur.
One-slave Multiple Masters.png


Teşekkürler.
 
düzgün çalışacak bir sistemde broadcast yapıyı tavsiye etmem çok fazla paket kaybı oluyor ve ACK gelmediği için de paket ulaştı mı ulaşmadı mı asla bilemiyorsun. ama broadcast yapı üzerine paket iletim kontrolu ve bazı doğrulamalar eklenirse iş görebilir.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
7,115
Mesajlar
121,152
Üyeler
2,883
Son üye
alemrans

Son kaynaklar

Son profil mesajları

az bilgili çok meraklı
Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Back
Top