如何将两个BLE模块彼此连接?

时间:2019-10-24 20:46:48

标签: arduino bluetooth bluetooth-lowenergy

嗨,我想用BLE模块连接两个Arduino,但我不知道我可以使用哪个模块以及如何使用它。我知道蓝牙连接基于主从关系,但是当一个是主从关系时,如何搜索另一个BLE模块进行连接,然后如何连接这两个模块?

1 个答案:

答案 0 :(得分:0)

我已经使用蓝牙进行了一些连接,以连接到Android,但没有连接BLE或连接2个Arduino。但是,我确实找到了一些文章,应该提供一些对我有意义的指导。

  

您的BLE模块的连接方式应与BT2模块相同。我怀疑BLE不久就会成为常态。

     

HC-05和HM-10的AT代码相同,后者应该是前者的直接替代品。鉴于此,Philipe Cantin在Arduino <> ARduino连接上的文章应适用于BLE。

     

您需要处于主模式的模块。当主模块默认处于从属模式时,它们都可以设置为主模块。我不知道任何仅从属的BLE模块。

     

http://phillipecantin.blogspot.com.au/2014/08/hc-05-bluetooth-link-with-zero-code.html

     

请注意,如果需要考虑功耗,则两个模块都必须为BLE。

https://forum.arduino.cc/index.php?topic=358570.0

  

在使用HC-05和HC-06通过蓝牙连接2个Arduino的“配对,绑定和链接”一文中,我解释了如何将HC-05连接到HC-06,以便在通电时自动将HC-05连接到HC-06。连接。在这里,我们着眼于使用该连接来使Arduino通过蓝牙进行通话。

     

http://www.martyncurrey.com/connecting-2-arduinos-by-bluetooth-using-a-hc-05-and-a-hc-06-pair-bind-and-link/

Wiring diagram

  

大多数HC-05和HC-06具有3.3v TX和RX引脚。 5V Arduino将读取3.3v为HIGH,因此BT模块TX引脚可以直接连接到Arduino RX引脚。但是,在连接到BT模块的RX引脚之前,需要将Arduino TX引脚转换为3.3v。一种简单的方法是使用由2个电阻组成的分压器。我通常使用1 x 1K和1 x 2K。
  Arduino RX(引脚8)至BT模块TX引脚
  通过分压器将Arduino TX(引脚9)连接到BT模块RX引脚
  两个Arduino与BT模块具有相同的连接。

* Sketch: Arduino2Arduino_MASTER_01
* By Martyn Currey
* 08.04.2016
* Written in Arduino IDE 1.6.3
*
* Send commands through a serial connection to turn a LED on and OFF on a remote Arduino
* There is no error checking and this sketch sends only
* Commands should be contained within the start and end markers < and >
*
* D8 - AltSoftSerial RX
* D9 - AltSoftSerial TX
*
*/

// AltSoftSerial uses D9 for TX and D8 for RX. While using AltSoftSerial D10 cannot be used for PWM.
// Remember to use a voltage divider on the Arduino TX pin / Bluetooth RX pin
// Download AltSoftSerial from https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html

#include <AltSoftSerial.h>
AltSoftSerial BTserial; 

// Change DEBUG to true to output debug information to the serial monitor
boolean DEBUG = true;

void setup()  
{
    if (DEBUG)
    {
        // open serial communication for debugging and show 
        // the sketch filename and the date compiled
        Serial.begin(9600);
        Serial.println(__FILE__);
        Serial.println(__DATE__);
        Serial.println(" ");
    }

    //  open software serial connection to the Bluetooth module.
    BTserial.begin(9600); 
    if (DEBUG)  {   Serial.println("BTserial started at 9600");     }

} // void setup()


void loop()  
{
    BTserial.println("<LEDON>");
    if (DEBUG) {Serial.println("LEDON command sent");}    
    delay (1000);

    BTserial.println("<LEDOFF>");
    if (DEBUG) {Serial.println("LEDOFF command sent");}      
    delay (1000);    
}

http://www.martyncurrey.com/arduino-to-arduino-by-bluetooth/