Serial Bluetooth

UART WiFi là module hỗ trợ kết nối Wifi thông qua giao tiếp Serial UART sử dụng chip ESP8266. Dựa trên tập lệnh AT, vi điều khiển có thể kết nối Wifi dễ dàng chỉ bằng vài dòng code. Module hỗ trợ các giao thức WEP, WPA/WPA2, TKIP, AES, có thể hoạt động như một access point với DHCP hoặc kết nối với mạng Wifi có sẵn.

Thông số kỹ thuật

  • Hỗ trợ cả 3.3V và 5V
  • Sử dụng giao thức Serial UART 4 chân: GND, VCC, RX, TX
  • Baud Rate: 9600
  • Dùng chip HC-06
  • Data Rate 2Mbps
  • RF Transmit Power (Max) +4dBm
  • Sensitivity -80dBm
  • Tương thích với chuẩn cắm plug& play 4 pin Blocky Piece

Tìm hiểu thêm thông tin về chuẩn cắm và hệ sinh thái module Blocky Piece ở đây.

Hướng Dẫn Sử Dụng Với Arduino

Phần cứng

  • Bước 1. Chuẩn bị các phần cứng sau:
    • Blocky UNO hoặc Base shield cho UNO
    • Module Serial Bluetooth
  • Bước 2. Dùng dây nối module UART Wifi vào cổng cắm D6 của Blocky Uno.
  • Bước 3. Nối Blocky UNO với máy tính thông qua cáp USB.
dav
Trên điện thoại bạn cài đặt 1 phần mềm giúp truyền nhận dữ liệu thông qua Bluetooth, ví dụ như phần mềm Blueterm trên Android:
Mở phần mềm và dò tìm thiết bị Bluetooth để kết nối, bạn sẽ thấy 1 thiết bị có tên là HC-06 (đây chính là module Bluetooth nối với Uno) và kết nối vào.

Code mẫu

Trên Arduino, làm việc với module Bluetooth đơn giản cũng giống như khi bạn xuất hoặc đọc dữ liệu từ Serial. Trong đoạn code sau ta sẽ đọc Serial của module Bluetooth, nếu nhận được kí tự 1 thì sẽ bật led và tắt led onboard (nối với pin 13) khi nhận được kí tự 0.

#include <SoftwareSerial.h>   //Software Serial Port

#define RxD         6
#define TxD         7

#define PINLED      13

#define LEDON()     digitalWrite(PINLED, HIGH)
#define LEDOFF()    digitalWrite(PINLED, LOW)

#define DEBUG_ENABLED  1

SoftwareSerial blueToothSerial(RxD,TxD);

void setup()
{
    Serial.begin(9600);
    pinMode(RxD, INPUT);
    pinMode(TxD, OUTPUT);
    pinMode(PINLED, OUTPUT);
    LEDOFF();
    
    setupBlueToothConnection();
}

void loop()
{
    char recvChar;
    
    while(1)
    {
        if(blueToothSerial.available())
        {//check if there's any data sent from the remote bluetooth shield
            recvChar = blueToothSerial.read();
            Serial.print(recvChar);
            
            if(recvChar == '1')
            {
                LEDON();
            }
            else if(recvChar == '0')
            {
                LEDOFF();
            }
        }
    }
}




/***************************************************************************
 * Function Name: setupBlueToothConnection
 * Description:  initilizing bluetooth connction
 * Parameters: 
 * Return: 
***************************************************************************/
void setupBlueToothConnection()
{		
  blueToothSerial.begin(9600);  
  
  blueToothSerial.print("AT");
  delay(400); 

  blueToothSerial.print("AT+DEFAULT");             // Restore all setup value to factory setup
  delay(2000); 
  
  blueToothSerial.print("AT+NAMESeeedBTSlave");    // set the bluetooth name as "SeeedBTSlave" ,the length of bluetooth name must less than 12 characters.
  delay(400);
  
  blueToothSerial.print("AT+PIN0000");             // set the pair code to connect 
  delay(400);
  
  blueToothSerial.print("AT+AUTH1");             //
  delay(400);    

  blueToothSerial.flush();
}

 

Bạn nhớ thay đổi pin cho đúng với cổng cắm D6 và thông tin về Wifi cần kết nối ở những dòng này:

#include <SoftwareSerial.h>   //Software Serial Port

#define RxD         6
#define TxD         7

 

Sau khi upload code, bạn mở ứng dụng Blueterm và nhập vào kí tự 0 hoặc 1 và enter để gửi qua cho Uno. Khi đó đèn led onboard sẽ được bật tắt tương ứng.

 

Các Lệnh Tham Khảo Cấu Hình Module Bluetooth

1. Set working MODE

Command Description
AT+ROLES Set device working mode as client (slave).
AT+ROLEM Set device working mode as server (master).

2.Set BAUDRATE

Command Description
AT+BAUD4 Set baudrate 9600. Save and Reset.
AT+BAUD5 Set baudrate 19200. Save and Reset.
AT+BAUD6 Set baudrate 38400. Save and Reset.
AT+BAUD7 Set baudrate 57600. Save and Reset.
AT+BAUD8 Set baudrate 115200. Save and Reset.
AT+BAUD9 Set baudrate 230400. Save and Reset.
AT+BAUDA Set baudrate 460800. Save and Reset.

3. Set Device NAME

Command Description
AT+NMAEabcdefg Set device name as “abcdefg”.Max length is 12.

4. Set PINCODE

Command Description
AT+PIN2222 Set pincode “2222”,Max length is 12.

5.Restore all setup value to factory setup

Command Description
AT+DEFAULT Restore all setup value to factory setup

6. Query module address

Command Description
AT+ADDR Query module address

7. Query Last Connected Device Address

Command Description
AT+RADD Query module address