AT Command Mode modul Bluetooth HC-05 dan HC-06

Dikemaskini Julai 18: Anda kini boleh memasukkan mod AT HC-05 menggunakan papan Arduino, (arduino uno yang digunakan dalam tutorial ini)

Dikemaskini july 7: Saya mempunyai peluang untuk menguji modul HC06. Panduan ini kini meliputi modul HC-06 juga. :)

Mempunyai pelbagai modul bluetooth dengan nama yang sama boleh mengelirukan. Kadang-kadang ia mungkin perlu mengubah tetapan lalai seperti kadar baud, atau peranan master / hamba modul. Panduan ini menunjukkan bagaimana untuk memasuki mod arahan AT modul bluetooth HC05 / HC-06 dengan bantuan USB kepada penukar TTL. Sebagai alternatif untuk HC-05, anda boleh menggunakan papan arduino.

Keperluan:

Modul 1.HC-05 / HC-06 Bluetooth dengan papan pelarian.

2.USB untuk penukar TTL: Saya menggunakan PL2303HX usb untuk converter ttl. Mana-mana usb lain untuk ttl converter akan lakukan juga. / Papan Aarduino, arduino uno digunakan dalam tutorial ini, papan lain harus berfungsi.

3. Arduino IDE / Term Tera: Ia boleh dimuat turun dari sini atau jika anda tidak mahu memuat turun arduino kemudian memuat Terma Tera dari sini.

Langkah 1: Mengenal pasti Modul Anda

Perkara pertama yang perlu anda lakukan ialah mengenal pasti modul anda. Ia boleh sama ada HC05 atau HC06. Kedua-dua modul sama dalam fungsi kecuali pinout. Juga HC05 boleh bertindak sebagai tuan dan hamba manakala fungsi HC06 hanya sebagai hamba. Sukar untuk membezakan antara keduanya hanya dengan melihat. Satu cara yang mungkin akan memeriksa bahagian belakang papan pelarian. Jika ia mempunyai "JY-MCU" yang ditulis di belakang, ia mungkin HC06. Mine mempunyai "ZS-040" yang ditulis dan ia adalah HC05. Dan modul HC06 yang saya uji mempunyai tanda bluetooth di belakang dengan tiga jejak kaki pcb (rujuk angka2). Untuk mengesahkan identiti peranti, anda boleh menaikkan modul, mencari peranti baru pada komputer atau mudah alih anda, dan cari HC05 atau HC06 pada senarai peranti yang dijumpai.

Langkah 2: Pinout dan Memasuki Mod AT

PINS: Pin yang terdapat di papan pelupusan adalah,

KEY: PIN ini perlu ditarik tinggi untuk memasuki mod AT.
VCC: Julat yang ditunjuk adalah 3.6 hingga 6 volt. Untuk berada di sisi yang lebih selamat, anda perlu menyambungkannya ke 3.3 Volt.
GND: Ground.
RXD: Pin input serial.
PIN keluaran Serial TXD.
NEGERI: Boleh atau mungkin tidak dihubungkan ke mana-mana pin. Ternyata output status sambungan Bluetooth. PIN ini tidak diperlukan.

Beberapa papan pelarian mempunyai pin EN atau bahkan WAKE UP pin bukan pin UTAMA. Tiada seorangpun daripada mereka seolah-olah dihubungkan dengan mana-mana pin modul. Tetapi itu tidak penting kerana kita tidak memerlukannya lagi.

Sebaik sahaja anda mengenal pasti modul ini, kini sudah tiba masanya untuk memasuki mod AT.
Untuk HC05: Sambungkan pin Rx modul Bluetooth ke pin Tx USB ke penukar TTL, dan PIN Tx Bluetooth ke penukar Rx pin. Juga sambungkan tanah mereka tetapi tidak menyambungkan Vcc lagi. Pertama anda perlu memendek pin utama dengan Vcc. Sambungkan pin utama dan Vcc bersama-sama pada papan roti, atau dengan cara lain. Selepas semua pin lain disambung, sambungkan Vcc modul bt ke USB ke Vcc converter TTL. Sekarang yang diterajui pada modul akan berkelip pada selang waktu 2 saat. Ini bermakna ia telah memasuki mod AT. Sekiranya pimpin berkelip lebih cepat maka mod AT tidak dimasukkan. Putuskan sambungan Vcc, periksa litar anda dan cuba lagi. Sekiranya ia tidak berfungsi maka ada peluang bahawa pin KEY anda modul tidak benar-benar disolder ke KEY cip utama, iaitu pin ke-34. Anda boleh menyemaknya dengan bantuan multimeter.

Jika anda menggunakan uno arduino, silakan sambungkan pin Rx modul Bluetooth ke pin 11 Arduino Uno (kononnya sama untuk arduino mega), dan pin Tx Bluetooth untuk pin 10 Arduino. Juga sambungkan modul pin utama ke pin 9 arduino dan tanah ke tanah, tetapi jangan sambungkan Vcc lagi. Anda perlu terlebih dahulu menaikkan arduino, dan kemudian sambungkan Vcc sama seperti yang anda lakukan dalam kes USB kepada penukar TTL.

Untuk HC06: Sambungkan modul Rx kepada Tx penukar usb-ttl dan modul Tx. Sambungkan tanah dan Vcc. Modul ini dalam mod AT. Tidak nampak yang datang, kan? : P Menghidupkan modul HC06 secara tetap dikonfigurasikan untuk menjadi hamba dan ia sentiasa dalam mod AT apabila tidak dipasangkan ke mana-mana peranti lain. Oleh itu, tidak ada pengesahan yang berkedip bahawa ia berada dalam mod AT seperti HC05. Cukup kuasa modul dan lulus arahan AT untuk mengubah suai tetapan lalai.

Gambaran Sambungan:

HC05 USB ke TTL Arduino
Vcc Vcc Vcc
Rx Tx pin 11
Tx Rx pin 10
Gnd Gnd Gnd
pin Vcc utama 9

HC06 USB ke TTL

Vcc Vcc
Rx Tx
Tx Rx
Gnd Gnd

Langkah 3: Jika Pin Kunci Tidak Hadir atau Tidak Disambungkan

Hanya untuk HC05 : Sebagaimana dinyatakan sebelum ini, beberapa model papan pelupusan tidak mempunyai pin utama, sebaliknya mereka mempunyai pin EN (membolehkan) pin atau WAKE UP yang mungkin atau tidak mungkin disambungkan kepada mana-mana pin sama seperti pin STATE. Dalam hal ini, anda perlu menyambungkan dawai ke pin ke-34 dari modul bt. Saya menyolder kepala lelaki untuk lombong tetapi jika anda tidak boleh pateri atau tidak mahu, maka anda hanya boleh memegang wayar (akhir rintangan lelaki untuk wayar jumper lelaki akan mudah) manakala menghubungkan Vcc ke 5volt. Setelah modul bt berada dalam mod AT, anda boleh melepaskan wayar.

HC06 tidak memerlukan pin utama.

Langkah 4: Menetapkan Sambungan

Untuk HC05:

Setelah modul dalam mod AT, buka arduino. Pergi ke alat> port siri> pilih pelabuhan com USB anda untuk penukar TTL disambungkan ke (untuk mengetahui, pergi ke pengurus peranti komputer anda> port (COM & LPT)). Sekarang buka monitor bersiri. Modul bt kini berkomunikasi pada kadar baud 38400. Oleh itu, tukar kadar baud kepada 38400 di sudut kanan bawah monitor bersiri. Juga tukar "tiada garisan menamatkan" ke "kedua NL & CR" yang terdapat hanya di sebelah kadar baud.

Sekiranya anda tidak mempunyai Arduino IDE, kemudian muat turun istilah Tera (yang merupakan emaluat terminal terminal yang sangat baik). Buka istilah Tera. Tetingkap pop timbul akan dibuka, Pilih Serial dan pilih port com usb ke converter ttl disambungkan ke. Tekan ok dan sambungan akan ditubuhkan. Sekarang pergi ke persediaan> port bersiri> tetapkan kadar baud kepada 38400. Selepas menetapkan kadar baud pergi ke persediaan> terminal> ubah newline ke CR + LF dari menu drop down. Juga periksa kotak echo tempatan di bawah garis baru. Sekarang penyiapan selesai.

Sekiranya anda menggunakan papan arduino (UNO / MEGA), kemudian salin paste kod berikut, yang merupakan pengubahsuaian contoh Perisian Serial yang termasuk dalam contoh arduino.

////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////

#include

SoftwareSerial mySerial (10, 11); // RX, TX

void setup () {

Serial.begin (9600);

pinMode (9, OUTPUT); digitalWrite (9, TINGGI);

Serial.println ("Masukkan AT perintah:");

mySerial.begin (38400);

}

kekosongan gelung ()

{

jika (mySerial.available ())

Serial.write (mySerial.read ());

jika (Serial.available ())

mySerial.write (Serial.read ());

}

////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////

Muat naik kod ke papan arduino, sekali kod tersebut dimuat naik, buka monitor Serial, tukar "tiada garis akhir" ke "kedua NL & CR" di bahagian bawah, tutup dan cabut papan arduino dari usb. Kini sekali lagi menyambung semula arduino ke usb, sambungkan vcc modul bluetooth ke arvino 5volt, dan monitor bersiri terbuka. Yang diterajui pada modul harus berkelip pada selang waktu 2 saat. Ini bermakna ia telah memasuki mod AT. Kini anda sudah bersedia untuk memasukkan arahan AT.

Untuk HC06:

Kini terdapat kelemahan kecil untuk HC06, ia tidak menunggu sebarang watak penamatan untuk setiap entri perintah AT. Sebaliknya, ia bertindak kepada apa sahaja watak yang anda masukkan selepas satu saat. Oleh itu, jika anda tidak dapat menyelesaikan entri arahan dalam masa yang kedua, ia akan diabaikan. Kerana tingkah laku ini, mungkin sangat sukar untuk melakukan persetujuan kemasukan manual menggunakan perisian Windows-Hyper terminal. Perisian terminal yang membolehkan penghantaran batch pelbagai aksara mesti digunakan. Saya mendapati bahawa arduino berfungsi dengan baik. Sebaliknya, jika anda menggunakan istilah Tera, anda perlu menulis arahan AT dalam notepad, daripada copy-paste ke terma Tera. Klik kanan pada konsol terma Terus secara automatik akan menyisipkan baris yang disalin dan laksanakan dengan segera.

Jadi sebaik sahaja modul disambungkan kepada penukar usb-ttl dan dikuasakan, buka arduino, pilih pelabuhan usb-ttl com, tetapkan kadar baud kepada 38400. Tiada tetapan lain yang perlu digunakan tidak seperti HC05. Dan untuk Tera term, pilih port com yang sesuai, pergi ke persediaan> port bersiri> tetapkan kadar baud ke 38400, pergi ke persediaan> terminal> periksa kotak echo setempat dan semuanya ditetapkan.

Langkah 5: AT Commands

Untuk HC05: Taip "AT" (tanpa petikan) pada monitor siri dan tekan enter. jika "OK" muncul maka semuanya adalah baik dan modul bersedia untuk mengambil arahan. Sekarang anda boleh menukar nama modul, dapatkan semula alamat atau versi atau set semula ke tetapan kilang. Untuk melihat nama lalai, taip AT + NAME. Nama akan diminta, secara lalai adalah HC-05 atau JY_MCU atau sesuatu seperti itu. Untuk menukar nama hanya taipkan AT + NAME = nama yang anda inginkan.

Berikut adalah nota penting, jika pin utama tidak tinggi, iaitu tidak disambungkan kepada Vcc semasa menerima arahan AT (jika anda tidak menyolder wayar dan mengeluarkannya selepas modul memasuki mod AT), ia tidak akan menunjukkan nama lalai walaupun selepas memberikan arahan yang betul. Tetapi anda masih boleh menukar nama dengan arahan yang disebutkan di atas. Untuk mengesahkan sama ada nama telah benar-benar berubah, cari peranti dari komputer / mudah alih anda. Nama berubah akan muncul. Untuk menukar kadar baud, ketik AT + UART = kadar baud yang dikehendaki. Keluar dengan menghantar arahan AT + RESET.

Perintah AT paling berguna adalah

AT: Cek sambungannya.
AT + NAMA: Lihat nama lalai
AT + ADDR: lihat alamat lalai
AT + VERSION: Lihat versi
AT + UART: Lihat baudrate
AT + ROLE: Lihat peranan modul bt (1 = master / 0 = hamba)
AT + RESET: Tetapkan semula dan keluar dari mod AT
AT + ORGL: Simpan semula tetapan kilang
AT + PSWD: lihat kata laluan lalai

Perintah AT lebih terperinci diberikan dalam pdf 1.

Untuk HC06: Pada jenis monitor bersiri arduino "AT" (tanpa petikan) dan tekan enter, "OK" akan mengesahkan mod AT. Tidak seperti HC05, anda tidak dapat melihat nama lalai atau kadar baud. Anda hanya boleh menukarnya. Untuk menukar jenis nama AT + NAMEDESIRED NAME, perhatikan bahawa tidak ada ruang antara perintah dan nama. Modul ini akan menjawab nama set OKyour. Sebagai contoh, AT + NAMEPROTOTYPE akan menetapkan nama itu kepada PROTOTYPE. Untuk menukar kadar baud, ketik AT + BAUDX, di mana X = 1 hingga 9.

1 set ke 1200bps
2 set kepada 2400bps
3 set ke 4800bps
4 ditetapkan kepada 9600bps (Lalai)
5 set kepada 19200bps
6 set kepada 38400bps
7 set kepada 57600 bps
8 set kepada 115200bps
jadi menghantar AT + BAUD4 akan menetapkan kadar baud kepada 9600.

Untuk Tera Term, tuliskan arahan di tempat lain dan tampalkannya pada konsol dengan mengklik kanan. Tidak perlu menekan masuk. Perintah itu akan segera dilaksanakan dan disahkan.

HC 06 AT perintah terhad, semua yang saya dapati diberikan di sini.

AT: periksa sambungan
AT + NAMA: Tukar nama. Tiada ruang antara nama dan arahan.
AT + BAUD: menukar kadar baud, x adalah kod kadar baud, tidak ada ruang antara perintah dan kod.
AT + PIN: pin ganti, xxxx adalah pin, sekali lagi, tiada ruang.
AT + VERSION

Maklumat lanjut dalam pdf 2.

Lampiran

  • HC-0305 serail modul AT commamd set 201104 revised_2.pdf Muat turun
  • EGBT-045MS-046S Manual Modul Bluetooth rev 1r0.pdf Muat turun

Artikel Berkaitan