Не могу запустить Bluetooth Bee

Vanovich
Offline
Зарегистрирован: 16.05.2012

Уважаемые, прошу помощи.

Не могу запустить Bluetooth Bee в режим ожидания соединения.

Подробнее. Плата Arduino UNO + Wireless shield SD + модуль Bluetooth Ручная настройка модуля проходит успешно: на Arduino залит пустой скетч, Wirelees shield в режиме USB, терминал на 38400 бод. Через терминал Arduino IDE удается включить модуль и настроить его на соединение (с блютусом компьютера, например). Все ответы с модуля выводятся в окно терминала, как положено.

Проблемы начинаются при попытке настроить Bluetooth модуль программно. Официальные скетчи для настройки соединения (приведены по ссылке на спецификацию модуля) не работают. А не работают, потому что модулю попросту не отправляются АТ-команды с помощью библиотеки SoftwareSerial. Стал разбираться с этой библиотекой. Выясняется, что даже examples скетчи для этой библиотеки не работают. Вот поясните, пожалуйста, каков должен быть видимый результат работы стандартного example-скетча:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3);

void setup()
{
  Serial.begin(57600);
  Serial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  mySerial.begin(4800);
  mySerial.println("Hello, world?");
}

void loop() // run over and over
{
  if (mySerial.available())
    Serial.write(mySerial.read());
  if (Serial.available())
    mySerial.write(Serial.read());
}

В моем понимании - чередование Гуднайтов и хеллоувордов...На деле - Гуднайт и молчок.

Ибо в виртуальный порт ничего не отправляется и available для него не наступает. В общем, прошу помочь разобраться с работой этой библиотеки и настройкой модуля, если кто этим уже занимался.

step962
Offline
Зарегистрирован: 23.05.2011

Vanovich пишет:

Вот поясните, пожалуйста, каков должен быть видимый результат работы стандартного example-скетча:

[...]

В моем понимании - чередование Гуднайтов и хеллоувордов...На деле - Гуднайт и молчок.

В моем понимании - отправка одного гуднайта в аппаратный UART и одного хеллоуолд- в программный.

А уж то, выведется или не выведется каждое из этих сообщений, зависит от того, какое устройство слушает каждый из этих портов. Из ваших многих слов как-то неясно, куда отправляются потоки: аппаратный в IDE-терминал, что-ли? А программный - через Bluetooth? Куда по Bluetooth дальше? Там и ищите пропавшую строку...

 

А setup исполняется один раз.

Хотите чередования - переносите отправки в loop.

Ну, или хотя бы попробуйте скорости аппаратного и программного портов согласовать.

Vanovich
Offline
Зарегистрирован: 16.05.2012

Короче, разобрался...Пробема, как обычно была в голове - ну не догонял, как должен быть подключен модуль и Arduino и что означает строка SoftwareSerial mySerial (RX, TX). В-общем, все работает, и для того чтобы запустить Bluetooth Bee модуль, подключенный к шилду Wireless Shield SD, нужно иметь ввиду, что RX и TX пины шилда должны быть ОТКЛЮЧЕНЫ от RX TX Arduino (их можно просто в сторонку отогнуть перед установкой шилда, чтоб не мешались). Дополнительно, необходимо пробросить перемычки от пинов RX TX шилда к пинам, определенным в SoftwareSerial mySerial (RX, TX). 4-й пин использовать нельзя (если SD библиотека еще юзается в прошивке)