Как я могу подключить два модуля BLE друг к другу? - PullRequest
1 голос
/ 24 октября 2019

Привет, я хотел бы соединить два Arduino с модулем BLE, но я не знаю, какой модуль я могу использовать и как его использовать. Я знаю, что соединение Bluetooth основано на отношении «ведущий-ведомый», но когда один из них является главным, как я могу найти другой модуль BLE для подключения и затем как я могу соединить два модуля?

1 Ответ

0 голосов
/ 25 октября 2019

Я работал с Bluetooth для подключения к Android, но не BLE или между двумя Arduinos. Тем не менее, я нашел некоторые статьи, которые должны дать некоторые рекомендации, которые имеют смысл для меня.

Ваши модули BLE должны подключаться так же, как модули BT2. Я подозреваю, что BLE скоро станет нормой.

Коды AT одинаковы как для HC-05, так и для HM-10, и последний должен быть заменой для первого. В свете этого, статья Филиппа Кантина о подключении Arduino <> ARduino должна применяться с BLE.

Вам нужны модули, которые находятся в режиме master. Пока ведущие модули находятся в режиме ведомого по умолчанию, все они могут быть настроены как ведущие. Я не знаю ни одного модуля 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

В Соединении 2 Arduinos по Bluetooth с использованием HC-05 и HC-06: сообщение Pair, Bind и Link я объяснил, как подключить HC-05к HC-06, чтобы при включении они автоматически устанавливали соединение. Здесь мы рассмотрим использование этого соединения, чтобы Ардуинос говорил по Bluetooth.

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 имеют контакты TX и RX 3,3 В. 5 В Arduinos будет считывать 3,3 В как ВЫСОКИЙ, чтобы вывод TX модулей BT можно было подключить непосредственно к выводу Arduino RX. Однако вывод Arduino TX необходимо преобразовать в 3,3 В перед подключением к выводу RX модулей BT. Простой способ сделать это - использовать делитель напряжения из двух резисторов;Я обычно использую 1 x 1K и 1 x 2K.
Arduino RX (контакт 8) к выводу TX модуля BT
Arduino TX (контакт 9) к контакту RX модуля BT через делитель напряжения
Оба Arduinos имеюттакие же подключения к модулям 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/

...