hc-06 bluetooth'da AT komutları nasıl kullanılır.

Başlatan Recep METE, 18 Mayıs 2015, 11:03:41

Recep METE

 RS232 ile bluetooth ile bağlantı kurarak At komutlarını kullanmak istiyorum. Bunu nasıl yapabilirim. HC-06 modülü 16f628a ve android  telefonda bleterm ile haberleştiriyorum. Ancak AT komutları kullanmak istiyorum. Bluetooth olan bir bilgisayar olması gerekli mi?
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

ogy

Önce modüle işlemciyi bağlamadan telefonunuzdaki bluetooth terminal programıyla haberleştirin.(Bluetooth SPP kullanabilirsiniz.)USB-232 çevirici ile modülü pc'ye bağlayın.Modülün key pinini(26)
10k direnç ile pull down yapın.Aynı pinden 3.3V a buton bağlayın.Modüle enerji verdikten sonra butona 1sn basıp AT moduna alın.Telefonunuzdan terminal programı ile cihaza bağlanıp AT komutlarına cevap verip vermediğini test edin.Burada komutları işletebildikten sonra mcu ile çalışmaya başlayın.Bağlantı şeması için;

Edit = AT moduna aldıktan sonra pc tarafında realterm vb bir program ile AT komutlarını işletebilirsiniz.Data göndermeyle karıştırdım.
@Mrdark hocanın dediği gibi bluetooth haberleşme sağlandıktan sonra sadece data gönderilir.AT komutları işletilemez.

http://g01.a.alicdn.com/kf/UT8IqaCXn0bXXagOFbXf/201140489/UT8IqaCXn0bXXagOFbXf.jpg

MrDarK

HC 06'nın hangi AT kodlarını çalıştırmak istiyorsun merak ettim :)

https://www.picproje.org/index.php/topic,59179.msg457534.html#msg457534 buradaki son mesajlarda bahsettiğimiz gibi bluetooth bağlantısı aktif olduktan sonra AT komutu göndermezsiniz.

Yani RX TX pinlerine bluetooth ile bağlanmadan önce hangi baud ile ayarladıysan o baudda AT komutuyla haberleşebilirsin. Bluetooth olan bir bilgisayara ihtiyacın yok AT komutu göndermek için
Picproje Eğitim Gönüllüleri ~ MrDarK

Recep METE

@MrDark,@ogy sizlere çok teşekkür ederim.Bayağı faydalı oldu.Akşam eve gidince hemen deneyeceğim.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

baran123

Bu arada AT komutları için Key pinini HIGH yapmanız gerekiyor hocam.Bendeki modülde bu pine header lehimlenmemiş bir tel ile yapmıştım.Birde TX pinini sürekli pull up olarak kullanıyorum yoksa data almıyor.

Recep METE

Alıntı yapılan: MrDarK - 18 Mayıs 2015, 11:37:36
HC 06'nın hangi AT kodlarını çalıştırmak istiyorsun merak ettim :)


Hocam aşağıdaki komutları göndermek istiorum.Amacım nasıl çalıştığını öğrenmek.
AT+PSWD? komutu bluetoothun eşleşme şifresini öğrenmek için kullanılır.

AT+PSWD=xxxx komutu eşleşme şifresini değiştirmek için kullanılır. (xxxx sisin belirlediğiniz bir şifredir)

AT+NAME? komutu bluetooth'un görünen adınının ne olduğunu öğrenmek için kullanılır.

AT+NAME=xxxx komutu bluetooth'un görünen adını değiştirmek için kullanılır. (xxxx burada sizin belirlediğiniz bir isimdir)



Yaa, kafam çok karıştı.Hiçbir şey anlamadım.Yapamadım. Modülün key pinini bulamadım.Benim modülde (EN,VCC,GND,TX,RX,STATE) bulunmaktadır.  Modülü picten ayırıp çalıştırdım."blueterm",bluetoothSPP" ile bağlanıyorum ama hala AT komutlarını gönderemiyorum.Yardımcı olur musunuz
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

MrDarK

#6
Baran yanlış bilgi veriyorsun ;

Recep METE HC06 kullanıyor. Sende key pini bulunmuyor. Ayrıca AT komut setin ve uygulama şeklin daha farklı onunla ilgili bir AT komut datasheet linkini vereceğim birazdan. AT komutları bildiğin gibi olmayabilir.

Benim bildiğim AT yazdığın an \r\n eklemeden OK cevabını alırsın. Linki birazdan koyucam incelersin Recep.

HC-06 At Komut Listesi ve cevapları
http://www.micro4you.com/files/ElecFreaks/Bluetooth%20HC-06.pdf

Verdiğim dökümanda key pini varmış gibi gözüküyor fakat ben ihtiyaç duymamıştım. Eğer bluetooth ile bağlantı kurmadıysan modüle TX RX üzerinden AT komutlarını çalıştırabilmen gerekiyor.

Düzeltme : Key pini bulunuyor fakat ben şimdiye kadar hazır board üzerinde kullanmadığım için ihtiyaç duymamıştım, hazır boardlarda toprağa çekiyor olduğundan key pinini high yapman gerekir AT komutlarına girebilmek için. Hazır board kullanıyorsan baran'ın söylediklerini uyulayabilirsin.  Benim kullandığım bağlantı şeması şu şekilde oluyordu ; http://4.bp.blogspot.com/-8haEbMexcf0/T96aVAj6FSI/AAAAAAAAAIo/JXUKtACHRQk/s1600/HC-06+Pinout.png
Picproje Eğitim Gönüllüleri ~ MrDarK

baran123

#7
State pinide var bende o zaman sendeki EN = KEY :)

Öncelikle tx pull up yap.
Seri çeviricinin tx,rx pinlerini ölç 3.3ü geçmesin.
daha sonra çapraz bağlantılarını pull up vs yapıp
bilgisayardan AT yaz OK cevabı gelirse diğer AT komutlarnı işle
Eğer çevirici elinde bulunmuyor pic le AT komutu gönder.
blueterm ile bağlanırsan buluetooth bağlantısı yapmış olursun haliyle AT komutlarına cevap vermez.

mesaj birleştirme:: 18 Mayıs 2015, 15:48:26

Hocam bendede HC06 var üzerinde KEY pini bulunuyor ama.Hatta o pini HIGH yapmadan AT komutlarına cevap vermiyor.

mesaj birleştirme:: 18 Mayıs 2015, 15:50:08

Bu arada MrDarK hocam şimdi söylede hc05 ve hc06(bazı modeller) aynı pinout kullanıyor.Bu yüzden PCB si aynı olabiliyormuş.Aman dikkat ! :)

Recep METE

@ baran, seri çevirici demişsin rs232 seriçevirici mi olması gerekiyor?
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

baran123

Aynı şey diyebiliriz.Şöyle bir açıklayayım.Şimdi bilgisayarın kasasının arkasında bulunan seri port bildiğimiz RX TX ama volaj seviyesi işlemcilere uymadığından araya MAX232  eklenerek uygun dönüştürme yapılır.Aslında USART,Seri iletişim,UART,RS232 bunlar aynı anlama gelir.Aynı işi yaparlar ama teknik ayrıntıları olabilir orayı tam bilmiyorum Gökhan Ağabey bununla ilgili çok güzel bir yazı yazmıştı.

USB/Seri çevirici ise şunun için var diyelim ki Laptop kullanıyoruz yada bilgisayardaki seri port max232 vs uğraşmak istemiyoruz bunun için amcalar çip yapmışlar USB den gelen veriyi direk RX,TX olarak dönüştürsün diye hem küçük hem rahat.Bilgisayarda ise sanal bir seri port oluşturuyor.Gerisi rahat :)

Kısaca evet diyebilirim :D

Eğer çevirici yok ise başka yöntemlerde var.Ben 18f2550 ile USB HID den gönderip PIC in seri iletişiminden çıkarıp alıyordum. :)

mesaj birleştirme:: 18 Mayıs 2015, 16:13:30

Hatta Gökhan ağabeyin yazısı : http://gokhanbeken.com/seriport-hakkinda-hersey

E3A4

Eğer HC-06 Modül kullanıyor isen hiçbir cihazla eşleşme yapmadığın durumda at modunda olur key pinini kullanmana gerek kalmaz.

Recep METE

Alıntı yapılan: erkanakarcay - 18 Mayıs 2015, 17:02:07
Eğer HC-06 Modül kullanıyor isen hiçbir cihazla eşleşme yapmadığın durumda at modunda olur key pinini kullanmana gerek kalmaz.
Arkadaşım biraz daha açar mısın Nasıl Olacak bu olay.
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

mdargut

Alıntı yapılan: Recep METE - 18 Mayıs 2015, 17:53:06
Arkadaşım biraz daha açar mısın Nasıl Olacak bu olay.

HC-06 modüllerde bluetooth bağlantısı kurulmadığı zaman otomatik olarak AT modda olur. Direkt komutları gönderebilirsin. Ama AT komutları sadece uart üzerinden çalışır. Yani modüle kablo ile bağlanman ve Tx,Rx pinlerinden AT komutlarını göndermen gerek. AT komutlarını bluetooth bağlantısı üzerinden gönderemezsin.

Recep METE

Alıntı yapılan: kim - 19 Mayıs 2015, 21:20:25
HC-06 modüllerde bluetooth bağlantısı kurulmadığı zaman otomatik olarak AT modda olur. Direkt komutları gönderebilirsin. Ama AT komutları sadece uart üzerinden çalışır. Yani modüle kablo ile bağlanman ve Tx,Rx pinlerinden AT komutlarını göndermen gerek. AT komutlarını bluetooth bağlantısı üzerinden gönderemezsin.

Hocam usb den rs232 dönüştürücü aldım. Bağlantıyı yaptiktsn sonra laptop ta hangi programı acmalıyım. Bunu biraz anlatır mısınız
printf(lcd_putc,"\f  Ne kadar okursan oku, bilgine, yakışır şekilde davranmıyorsan cahilsin demektir.  \n   semfero");d

baran123