Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Zafer ŞAHİN

Mahna Mahna ...
Katılım
29 Ağu 2013
Mesajlar
1,313
Tepkime puanı
2,193
Yaş
47
Konum
İstanbul
İlgi Alanı
Multikopter
Herkese merhabalar,

Son zamanlarda bir çok kontrol kartı, flaybar ünitesi ve benzeri cihazın, sahada kolay ayarlanabilme adına bluetooth destekli hale geldiğini ve de bluetooth aparatları ile beraber kullanılabildiğini görüyoruz. Ikon/Brain, Tarot, V-Bar gibi flybarless üniteler, ayrıca multiwii, naze32, APM gibi bir çok kontrol kartı bu bluetooth aparatlarını destekliyor durumdalar.

Aslında bu destek, donanımsal olarak çok da abartılacak bir şey değil. Çok uzun zamandır var olan TTL iletişimini(seri iletişim), kendi modüllerine taşımaktan başka bir şey yapmıyorlar. Bluetooth'un yanında TTL destekli herhangi bir aparat kullanarak da ilgili cihazlar ile iletişim kurulabilir. Neyse konumuz o değil :).

Bluetooth modülleri, seri iletişim pinleri (TX ve RX pinleri) üzerinden aldığı bilgiyi, eşleşmiş olduğu cihaza(PC, android tablet, iPhone v.b.), 2.4GHz'lik kablosuz bluetooth veri hattı üzerinden gönderir ve cihazımızdaki uygun yazılım da, Bluetooth'un gönderdiği bilgileri işleyerek bizim kullanabileceğimiz halde gösterir. Ek not olarak belirteyim, Wi-Fi, 2.4GHz RC Kumandaları ve Bluetooth modüllerinin hepsi 2.4Ghz bandında çalışır ve özellikle bluetooth ve Wi-Fi beraber çalışırken birbirlerinin sinyallerinin kesilmesine/engellenmesine neden olurlar.

Her cihazın kendisine özel aparatı varmış gibi gözükse de çok istisnai durumlar haricinde, kullanılan Bluetooth aparartlarının çoğu HC05 ya da HC06'dır. Hatta özellikle HC06'dır. Fiziksel konnektörler arasındaki farkları es geçersek, bir bluetooth modülünün başka başka cihazlarda çalışmaması için iki sebep dışında bir şey bulunmamaktadır.

1- Var olan ilk sebep, TTL(seri iletişim) voltajlarının uyuşmamasıdır. Şu anda en yaygın olarak 3.3V ve 5.0V voltaj seviyeleri kullanılmaktadır. Hem cihazınızın hem de bluetooth modülünüzün aynı voltaj seviyesini desteklemesi gerekmektedir. Piyasadaki bir çok HC06 ve HC05 modülü hem 3.3V hem de 5V TTL voltaj seviyeleri ile çalışabilmektedir. Dolayısı ile voltaj uyuşmazlığı çok da rastlanan bir durum değildir ama aklımızın bir köşesinde bulundurmakta fayda var.

2- Diğer ve en önemli sebep, data iletişim hızının(BAUD RATE) cihazdan cihaza değişebilmesidir. Örneğin naze32'nin varsayılan baud rate'i 115200'dir. Eğer bluetooth adaptörünüz 115200 baud rate'e ayarlanmamışsa, Bluetooth adaptörü üzerinden naze32'ye ulaşamazsınız. Bir ek örnek olarak multiwii'nin varsayılan baud rate'i 57600'dür. Gene aynı şekilde bluetooth adaptörünüzün baud rate'ini 57600'e ayarlamamışsanız, multiwii kartınız ile bluetooth adaptörü üzerinden iletişim kuramazsınız.

HC05 ve HC06 modeli bluetooth modülleri, AT komut setleri vasıtası ile programlanabilirler. Modülü programlayabilmek için bluetooth üzerinden değil, fiziksel TX/RX pinleri üzerinden cihaza erişmek gerekmektedir. Ayrıca modülün de aktif olarak bluetooth üzerinden bağlantısı olmamalıdır.

Bluetooth modülünün TX/RX pinlerine bağlanmak için elimizde bir adet USB TTL dönüştürücü olmalıdır. FTDI yada CP210x serisi herhangi bir TTL dönüştürücü iş görecektir. Bu yazıda ve modül kullanılacaktır.


Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol



Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


HC06 modülünün besleme gerilimi, CP2102 üzerinden sağlanır. Daha sonra CP2102'in RX konnektörü Bluetooth'un TX konnektörüne, CP2102'in TX konnektörü de Bluetooth'un RX konnektörüne bağlanır. Yanlız bendeki CP2102'deki pinlerin etiketlerinde bir sıkıntı olsa gerek çünkü TX yazan pini TX ile RX yazan pini de RX ile bağladıktan sonra çalıştı.
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


CP210x sürücü dosyalarına erişilebilir.



CP2102 sürücü dosyaları kurulduktan sonra, bilgisayara takıldığında bir COM port'a kendisini atayacaktır. Burada 10. COM port'a atadığı görülmektedir. COM port bağlantısı için herhangi bir terminal emülatörü kullanabilmek mümkündür. Buradaki örnekte kullanılıyor olacaktır.



Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


HC06 veya HC05 sizin elinize ulaştığı zaman hangi baud rate değerine ayarlanmış olduğu bilinmiyorsa sıra ile denemek gerekebilir. İlk denenecek en mantıklı değerler 9600 ve 38400'dür, bunlar olmaz ise sıra ile denemek gerekiyor. Genel standartlar ile belirlenmiş, varsayılan Baud rate(hız) değerleri aşağıdadır.

- 1200
- 2400
- 4800
- 9600
- 19200
- 38400
- 57600
- 115200
- 234000
- 460800
- 921600
- 1382400

Resimde 115200 BAUD ile COM10'a bağlantı gözükmektedir.

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


HC06'ya AT komutları, gönderildiği anda işlenir. Yani ENTER tuşuna basmak gerekmez. Ama normal insanlar da AT konutlarını birkaç on milisaniyelik timeout değeri yüzünden de yeterince hızlı yazamazlar. En mantıklısı kopyalayıp yapıştırmaktır. Kopyaladığnız komutu Putty'de yapıştırmak için "SHIFT+INSERT" kombinasyonunu kullanmak gerekmektedir. Eğer Baud Rate değeriniz bluetooth adaptörü ile uyuşuyorsa "AT" komutundan (büyük - küçük harf duyarlıdır yani "AT" yerine "at" yazılırsa işe yaramaz) hemen sonra "OK cevabını görmek gerekir.

HC06 için AT komutları aşağıdaki gibidir.

AT : Bağlantı kontrolü içindir, komuttan hemen sonra "OK" gözükmesi gerekir.
AT+NAME : Modülün ismini değiştirmek için kullanılır. Komut ve isim arasında boşluk yoktur. Yani Bluetooth modülünün ismini GOBLIN yapmak için, AT+NAMEGOBLIN komutunu kopyalayıp yapıştırmak gerekir.
AT+PIN : Bluetooth modülünün pin numarasını "XXXX" formatında değiştirir. Komut ve isim arasında boşluk yoktur. Yani Bluetooth modülünün pin numarasını 1234 yapmak için AT+PIN1234 komutunu kopyalayıp yapıştırmak gerekir.
AT+VERSION : Bluetooth modülünün versiyon numarasını görüntüler.
AT+BAUDx : Baud rate değiştirme komutudur. x Baud rate kodudur. Komut ve isim arasında boşluk yoktur. Yani Bluetooth modülünün baud rate değerini 115200 yapmak için AT+BAUD8 komutunu kopyalayıp yapıştırmak gerekir. HC06 modülü, komutu işledikten sonra hız değerini ekrana basar. Eğer hız değişmişse modül ile iletişim kaybolur. Yeni hız değeri ile tekrar bağlanmak gerekir.
1 -> 1200bps
2 -> 2400bps
3 -> 4800bps
4 -> 9600bps (Varsayılan)
5 -> 19200bps
6 -> 38400bps
7 -> 57600bps
8 -> 115200bps

Aşağıda Sıra ile "AT", "AT+VERSION" ve "AT+BAUD8" komutlarının gönderilmiş olduğunu görebilirsiniz. Bu şekilde buluetooth modülü 115200 Baud rate değerine ayarlanmış olacaktır.

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol


HC05 modülünü AT moduna sokmak için güç vermeden önce "KEY" pinine 3.3V vermek gerekmektedir.

HC05 için faydalı AT komutları aşağıdaki gibidir. HC05 için komutlardan sonra ENTER'a basmak gerekir.

AT : Bağlantı kontrolü içindir
AT+NAME? : Tanımlı ismi gösterir
AT+NAME= : İsim tanımlar. Yani Bluetooth modülünün ismini GOBLIN yapmak için, AT+NAME=GOBLIN komutunu yazıp ENTER'a basmak gerekir.
AT+ADDR? : Varsayılan Bluetooth adresini gösterir.
AT+VERSION? : Bluetooth versiyonunu gösterir.
AT+ROLE? : Bluetooth modülünün master ya da slave olup olmadığını gösterir.(1=master/0=slave)
AT+ROLE= : Bluetooth modülünü master ya da slave olarak ayarlar.(1=master/0=slave) Yani Bluetooth modülünü slave olarak ayarlamak için AT+ROLE=0 yazıp ENTER'a basmak gerekir. Dipnot olarak Master ayarlamanın, bu yazının amacı açısından hiç bir faydası yoktur. HC06 zaten slave olarak çalışır, değiştirilemez.
AT+RESET : Resetlemek ve de AT modundan çıkmak için.
AT+ORGL : Fabrika çıkış varsayaılanlarını geri yüklemek için.
AT+PSWD? : Cihazda tanımlı parolayı görmek için.
AT+PSWD= : Cihaza parola tanımlama için. Yani Bluetooth modülünün parolasını 1234 yapmak için, AT+PSWD=1234 komutunu yazıp ENTER'a basmak gerekir.
AT+UART= : Baud rate değerini ayarlar. Tam yazım formatı AT+UART=<baud>,<stop>,<parity> şeklindedir. "Stop bits" ve "parity bits" değeri bu yazının konusu olmadığından sadece "Stop bits" = 1 ve Parity Bits" = 0 yapmanız gerektiğini söylemekle yetineceğim. Yani Bluetooth modülünün baud rate değerini 115200 yapmak için AT+UART=115200,1,0 komutunu yazıp ENTER'a basmak gerekir. Ayarlanabilecek hız değerleri aşağıdadır.
4800
9600 (varsayılan)
19200
38400
57600
115200
234000
460800
921600
1382400

"EGBT-045MS-046S Bluetooth Module Manual" dökümanını google üzerinde aratırsanız HC05 ve HC06 ile ilgili daha ayrıntılı bilgilere ulaşabilirsiniz. Buraya ekleyecektim ama boyut yüzünden ekleyemedim. Doğrudan link olarak erişebilirsiniz.


Bu şekilde, Bluetooth modülünün hızı gerektiği gibi ayarlandıktan sonra, istenilen herhangi bir flaybarless ünite ya da kontrol kartı ile rahatlıkla kullanılabilir. Aslında naze32 kartının bluetooth üzerinden nasıl kontrol edilebileceği üzerine bir yazı yazmayı düşünüyordum fakat bluetooth modüllerinin nasıl bağlanacağını veya ayarlanacağını açıklamadan eksik kalacağını farkettim. Bluetooth konusu ise tamamen ayrı ve farklı bir konu olduğu için de ayrı bir başlık/ön hazırlık olarak açtım.

Sürç-ü lisan ettiysek affola...
 
Bluetooth modüllerinin(HC-05 ve HC-06) bağlantı için ayarlanması.

Zafer SAHIN' Alıntı:
Bluetooth modülleri, seri iletişim pinleri (TX ve RX pinleri) üzerinden aldığı bilgiyi, eşleşmiş olduğu cihaza(PC, android tablet, iPhone v.b.), 2.4GHz'lik kablosuz bluetooth veri hattı üzerinden gönderir ve cihazımızdaki uygun yazılım da, Bluetooth'un gönderdiği bilgileri işleyerek bizim kullanabileceğimiz halde gösterir. Ek not olarak belirteyim, Wi-Fi, 2.4GHz RC Kumandaları ve Bluetooth modüllerinin hepsi 2.4Ghz bandında çalışır ve özellikle bluetooth ve Wi-Fi beraber çalışırken birbirlerinin sinyallerinin kesilmesine/engellenmesine neden olurlar.

İşte benim için en önemli paragraf. Daha önce mini quadımın iki seferde de saçmaladığı uçuşlarda bluetooth modül aktifti. Yakın mesafede belki kumanda sinyalini bastıramıyor ama uzaklaşınca ve de quad tepeme gelipte sinyal zayıflayınca kumanda sinyalini bastırmış olabilir. Neyse ki şu anki halinde bu modülü kullanmıyorum.

Zafer Bey elinize klavyenize sağlık. Yine çok güzel bir konu olmuş. Şahsen ihtimal vermediğim bir hataya ışık tutuldu sayenizde. En azından etkenlerden biri olabilir.
 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Zafer Bey mesleğiniz ne tam olarak bilmiyorum ama elektronik konusunda gerçekten çok iyisiniz. Daha da önemlisi bilginiz bilgileri çok düzgün ve güzel bir şekilde özetleyebiliyorsunuz :thumbup:

Paylaştığınız her konuyu zevkle baştan sona okuyup, yeni şeyler öğreniyorum :bravo: Gerçekten bu yazıda da çok değerli bilgiler paylaşmışsınız, ellerinize sağlık.

Nesimi Bey'in vurguladığı yer haricinde benim için de şu kısım oldukça önemliydi :)

Zafer SAHIN' Alıntı:
Her cihazın kendisine özel aparatı varmış gibi gözükse de çok istisnai durumlar haricinde, kullanılan Bluetooth aparartlarının çoğu HC05 ya da HC06'dır. Hatta özellikle HC06'dır. Fiziksel konnektörler arasındaki farkları es geçersek, bir bluetooth modülünün başka başka cihazlarda çalışmaması için iki sebep dışında bir şey bulunmamaktadır.

Bu kaynak konuyu da hemen INDEKS sayfamıza ilave edelim ve konuyu SABITLEYELIM :RCKolik:
 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Teşekkürler Zafer Bey, açıkçası her cihazın kendine özgü bluetooth cihazı olması gerektiğini düşünürdüm hep. :eek:

Kaleminize sağlık. :RCKolik:
 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Abi süpersin yine. Ben ikonun bt modülünü her zaman helinin üstünde, üniteye bağlı bırakıyordum.. :eek:

Peki şöyle bi soru, normalde bt modülü olmayan, usb üzerinden bilgisayara bağlanan bir üniteyi, diyelim SK720, bt ile bir şekilde bilgisayara bağlamak mümkün müdür? Mümkün olsa bile, pratikte kullanışlı olur mu?
 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Emre Kaman' Alıntı:
Abi süpersin yine. Ben ikonun bt modülünü her zaman helinin üstünde, üniteye bağlı bırakıyordum.. :eek:

... diyelim SK720,....

Ben bluetooth modülü kullanacağım zaman takıyordum, normalde helinin üzerinde olmazdı. Ama bu frekans olaylarını bildiğimden değil :laugh: Kalabalık etmesin diye sadece.

sk720 yi niye dedin ki abi durduk yerde :rolleyes: sadece soruyu örneklemek için mi ;D

Diğer mesajlar taşınmıştır.

 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Emre Kaman' Alıntı:
Abi süpersin yine. Ben ikonun bt modülünü her zaman helinin üstünde, üniteye bağlı bırakıyordum.. :eek:

Peki şöyle bi soru, normalde bt modülü olmayan, usb üzerinden bilgisayara bağlanan bir üniteyi, diyelim SK720, bt ile bir şekilde bilgisayara bağlamak mümkün müdür? Mümkün olsa bile, pratikte kullanışlı olur mu?

Multiwii, APM gibi ünitelerde USB desteğini eklemek için yapılan işlem şu şekilde:

- Bu kartların üzerinde zaten TTL çıkış pinleri(TX/RX) bulunuyor.
- CP210x ya da FTDI gibi ucuz TTL <-> USB çipler kullanılark bu TTL <-> USB dönüşümü 1 - 2 dolar maliyete halledilmiş oluyor.

SK720'de de bu şekilde olsa bile, genede cihazın PCB'sine müdahale etmek gerekecek, bu müdahale de standart bir kullanıcı için pek de kolay olmayacaktır. Doğrudan USB çıkışını seriye dönüştürmek durumunda da, SK720'nin yazılımının seri porttan haberleşmesini sağlayacak şekilde yazılıma müdahale etmek gerekecektir.

Kısacası, bu işlem mümkün olsa bile hiç de kolay ve işe yarar olmayacaktır.

Emre, bu arada SK720 hayırlı olsun :).
 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Zafer SAHIN' Alıntı:
Multiwii, APM gibi ünitelerde USB desteğini eklemek için yapılan işlem şu şekilde:

- Bu kartların üzerinde zaten TTL çıkış pinleri(TX/RX) bulunuyor.
- CP210x ya da FTDI gibi ucuz TTL <-> USB çipler kullanılark bu TTL <-> USB dönüşümü 1 - 2 dolar maliyete halledilmiş oluyor.

SK720'de de bu şekilde olsa bile, genede cihazın PCB'sine müdahale etmek gerekecek, bu müdahale de standart bir kullanıcı için pek de kolay olmayacaktır. Doğrudan USB çıkışını seriye dönüştürmek durumunda da, SK720'nin yazılımının seri porttan haberleşmesini sağlayacak şekilde yazılıma müdahale etmek gerekecektir.

Kısacası, bu işlem mümkün olsa bile hiç de kolay ve işe yarar olmayacaktır.

Emre, bu arada SK720 hayırlı olsun :).

Teşekkür ederim :) Demon da hayırlı olsun.
Ikonda fena alıştım bt kolaylığına. Sahayı geçtim, evde bilgisayar ile ayar yapsam dahi bt üzerinden yapıyorum, kablo ile uğraşmıyorum. Skookum da bir şekilde bu işi çözer diye umuyorum artık. Demon'ında yok değil mi bt bağlanabilirliği?
 
Emre Kaman' Alıntı:
Demon'ında yok değil mi bt bağlanabilirliği?

Mevcut versiyonda yok, fiyatta indirime gidildi, 400 dolara çekildi... Önümüzdeki yaz gibi yeni versiyon duyumu var, onda kesin olacağını yetkili bir arkadaş paylaşmış HF de...

Ben çok gerek duymuyorum açıkçası, ikon olsun kbar olsun sadece evde ayarladım, alanda bluetootha nedense ihtiyaç duymadım. Sadece tarot zyx te BT kullanıyorum, onda da win8 desteği olmadığı için.
 
Bluetooth modüllerinin (HC-05 ve HC-06) bağlantı için ayarlanması.

Rasim Öztürk' Alıntı:
... Sadece tarot zyx te BT kullanıyorum, onda da win8 desteği olmadığı için.

Bi de beni düşün, hiçbirinin mac os desteği yok :mad:

Bu konuda özellikle elektronik üreten, teknoloji üreten firmaların daha duyarlı olmasını beklerim şahsen, ama hiç umursamıyorlar. Arayüzleri falan gayet basit olan bu programların win versiyonlarını geliştirirken, aynı işi mac os da yapacak bir program yazmak ne kadar zor olabilir ki? kkflash tool, arduino ide vs gayet güzel yapmışlar bu işi. Profilic olsun, ftdi olsun, silabs olsun hepsinin mac driverları cartları curtları da var... Neyse, dağıtmayalım konuyu :D