avatar_ete

LORA modülleri

Başlatan ete, 23 Eylül 2024, 14:36:28

Serk@n77

Alıntı yapılan: ete - 27 Eylül 2024, 08:43:17Benim kullandığım modül E220-400T22D ve bu modül E22 serisi ile farklılık gösteriyor. Bu konuda zaten başlangıçta hata yapmışım. Sonradan düzeltttim ama sistemim hala çalışmıyor.
Bu arada PC arayüz programını E220 serisi için indirmiştim önceden program bende mevcut.

Anlatırken E220 serisine göre anlatmak gerekiyor. Hala anlamadığım şeyler var. USB seçilir demişsin ama ekranda COM port seçimi varki buda sanal UART port olmalı dolayısıyla arada bir devre olması gerekir diye düşünüyorum. Her şeyden önce PC USB portundan gelen sinyallerin voltaj olarak UART (RS232) moduna yani TTL seviyesine çevrilmesi gerekir ki bu işi aradaki devre yapıyor olsa gerek.

Benim sorum arada bir devre kullandınmı şeklinde idi ona direk bir cevap vermemişsin.
Ben USB stick'i de alırım ancak arada bir devre kullanacak isem bu bana uymuyor. Çünki devreler hep Arduino üzerine anlatılmış. Mesela ben burada USB==>RS232 çevirici kullansam bana göre olması lazım. Ama oluyormu? Yoksa o USB stick zaten bu amaçlamı yapılmış. Üzerindeki Chip nedir?
Bir sürü soru.
Şöylede sorabiliriz. USB stick bir sanal COM portu oluşturup ekrandan bu portu seçip bilgileri oku dediğimizde LORA'yı okuyup bilgileri ekrana getiriyormu?.

Serkan sen daha önce elinde başka bir ara devre olduğunu söylemiştin. İstersen bu nedir onu bir açıkla sen onu kullanmış olmalısın.

Ete


Hocam alıntı yapmayı unutmuşum. Cevap yukarıda. İnşallah faydalı birşeyler yazabilmişimdir.

Serk@n77

Alıntı yapılan: efsanepoldem - 27 Eylül 2024, 11:09:35ETE hocam ben bununla yapıyorum.


Üzerindeki çip CP2102
Bu modül hem E220 hem de E22 serisini programlayabiliyor. Araya herhangibir devre kurmaya ihtiyaç yok.


Cp2102. Evet bu entegre USB-TTL.

ete

@efsanepoldem,
Her şeyin data sheete uygun olduğu bir ortamda modüllerin çalışmamasını artık iyiden iyiye besleme voltajına bağlamaya başladım. Araya işler girdiği için dene yapmadım henüz ama bunu mutlaka deneyeceğim. Herkesin 3V3 kullanmasınınvardır bir hikmeti diye düşünüyorum. Çinlilerin data sheetlerine hiç güvenmiyorum zaten mutlaka bir şeyleri bilerek yada bilmeyerek yanlış veya eksik yazıyorlar.
Ete

efsanepoldem

ETE hocam ben sürekli bu modülleri kullanıyorum. Hem de 5V ile. Fakat daha önce de belirttiğim gibi rx ve tx uçlarını gerilim bölücü yaparak 3.3 v a düşürüp, modüle giriyorum.

Serk@n77

@ete hocam malzeme siparişi vermek üzereyim. Lora modülü ile bahsettiğim USB verilerine bakacak mıyız?

ete

USB stick aldım. Verilere bakıyorum ve Yazdığım programla bu verileri ayarlayabiliyorum.
Ancak henüz haberleştirme başarısını elde edemedim.
Parametre değişikliği yapabildiğime göre haberleşmede yapabilmem lazım.
Basit bir düzenek kurdum. Bir TX devresi var bunda bir buton var ve basitçe karşıya 1 byte lık bir bilgi yolluyor.
RX tarafında ise AUX pini üzerinden Port değişiklik kesmesi uyguluyorum ve Aux pini LOW a çekilince kesme yaratıp orada gelen bilgileri HSERIN komutu ile almaya çalışıyorum. Bilgi alamayınca bu kısmı iptal edip AUX pinine bakıp LOW olduğunda direk HSERIN ile yine bilgi almaya çalıştım ama hiç bir bilgi gelmediği için alış gerçekleşmiyor.

Ancak Receiver modul veriyi alıyor bunu AUX pinin LOW'a çekilmesi ile SKOP dan görebiliyorum. Ancak İşlemciye herhangi bir veri aktarımı yapılmıyor. Bunuda yine skop ile İŞlemnci RX bacağına bakarak görebiliyorum.
Bunun sebebini araştırıyorum. Her şey doğru zaten olmasa parametre değiştirmem mümkün olmaz idi.
Ancak Lora Modül aldığı bilgiyi işlemciye iletmiyor. Bunun sebebi ne olabilir fikri olan varmıdır acaba?

Mantığımı çalıştırınca ADRES , KANAL ve diğer parametrelerin uyumsuzluğu olduğunda bu gibi durumların ortaya çıkması gerekir diye düşünüyorum ama bütün parametreler uyumlu. TX tarafı Adres=1, ve RX tarafı ADres=2 ve TX 2 nolu adresi olan bir alıcıya bilgiyi yolluyor. Her şey usulüne uygun ancak ne hikmetse çalışmıyor sistem.


Ete

Serk@n77

#36
Hocam ilk aklıma gelen basitten zora gitmek...
Veri gönderme bu şekilde:
- TX adres high byte
-TX adres low byte
- TX kanal byte
- Veri byte

Yani TX adres verisinin başına 256'dan küçükse 0x00 verisi eklemek. Sorun en başta bu olabilir.

Serk@n77

Hocam yine basit ama bazen dalgınlıkla yapılabilecek bir hata. Konfigürasyonda iki loranın alıcı-verici adresleri ters olacak malumunuz.

ete

Evet bu yüzden TX tarafına 1, RX tarafına 2 veriyorum.

Ete

Serk@n77

Alıntı yapılan: ete - 08 Ekim 2024, 15:13:19Evet bu yüzden TX tarafına 1, RX tarafına 2 veriyorum.

Ete

Hocam şu mesajı da gördünüz mü?

Alıntı yapılan: Serk@n77 - 08 Ekim 2024, 12:14:36Hocam ilk aklıma gelen basitten zora gitmek...
Veri gönderme bu şekilde:
- TX adres high byte
-TX adres low byte
- TX kanal byte
- Veri byte

Yani TX adres verisinin başına 256'dan küçükse 0x00 verisi eklemek. Sorun en başta bu olabilir.

ete

#40
Gönderme komutuma bakacak olursak;
HSEROUT [$00,$02,$17,$11]
şeklinde ve burada $00,$02 adresi temsil ediyor. $17 Kanal numarasını ve $11 de Veri oluyor.
Ancak sen yazarken sanırım yanlışlıkla ;
- TX adres high byte
-TX adres low byte
- TX kanal byte
- Veri byte
yazdın. Tx adres high byte yerine Rx Adres High Byte olmalı orası. Aynı şekilde de TX ADres Low byte yerine RX Adres Low byte olmalı. Çünki kime veri yolluyor isen onun adresini yazman gerekiyor diye biliyorum.

Her şey usulüne uygun maalesef.

Alıcı tarafında ise ;
HSERIN [GELEN] şeklinde tek bir byte almaya çalışıyorum. Burada emin olamadığım şey ise bu alma komtundan herhangi bir adres ve kanal numarası olmalı mıdır?. Data sheete bakılırsa olmaması gerekiyor bende öyle yapıyorum.

Ete

Serk@n77

#41
Hocam TX (gönderme adresi) gibi bir mantıkla yazmıştım. Ama sizin tanım daha mantıklı. Yanlış anlamaya mahal vermiyor.

Hocam alıcıdan sadece veriler alınıyor. "Hangi verici bu veriyi gönderdi?" diye yazılımda bir ihtiyaç duyarsanız bunu gönderdiğiniz veri dizisinde bir yada iki byte'lık bir bölüme ekleyebilirsiniz.

Diğer gözden kaçabilecek bir husus... Bazı Lora modülleri şifreli. Sizin kullandığınız modelde şifre varsa konfigürasyon ayarlarının en altındaki bu ayarın da her iki modülde aynı olması gerekiyor. Ama anlamsız da olsa bir veri almanız gerekli.

Hocam şunu da deneyebilirsiniz: "fixed mode" özelliğini disable yapıp veri gönderirseniz o kanaldaki tüm abonelere veri gider. Bu şekilde adreste bir hata olup-olmadığı konusunda fikir sahibi olabilirsiniz.

ete

Şifre dediğin şey KEY olsa gerek ki he riki modülde de sıfır olarak ayarlı.
Anlamadığım bir şey var. Data Sheet fixed Transmission diye bir şey açıklamış. Bu Fixed Mod olsa gerek. Birde Broadcasting Trtansmission diye bir şey açıklamış. Bu senin açıkladığın şekle kaşılık geliyor. Ancak PC_Arayüz de Fixed_Mod veya Normal_Mod şeklinde iki seçenek var. Normal dediği Broadcasting Transmission modu olsa gerek. Bunlar doğru dürüst açıklanmamış hep mantığınla bulacaksın bu tür şeyleri. Çin data sheetlerin ortak derdi bu işte.
Her neyse bu Normal modda Alıcı adresi FF FF olarak veriliyor. Böylece kanal numarası tutan bütün alıcılar bu bilgiyi almak zorunda kalıyor sanırım. Bunu denemedim henüz deneyeceğim.

Ete

ete

#43
Modülleri çalıştırdım. Bütün sorun benden kaynaklanıyormuş.
RX pini giriş pini olması gerekirken çıkış ayarlamışım.
Bir çok kez baktım o ayarlara ama her nedense görememimiş.
Bunda birde işlemcinin 16F1827 olmasıda. Malum bazı bacakları hem TX hem RX olabiliyor ve bu gibi durumlarda karışıklık yaratıyor.
Her neyse sorun çözüldü. İlgilenenlere teşekkür ederim.
Bilgi olarak buraya ekleyeyim.
İşlemci ve modülleri 3,3V le çalıştırdım.
Fixed modda Aynı kanal numarasına sahip ancak adresleri farklı modülleri haberleştirmiş oldum.
Program koymuyorum buraya. İsteyene akıl verebilirim.

Ete

Powered by EzPortal