свежие вопросы от чайника: подключение Bluetooth

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем Joshua, 11 окт 2016.

  1. Joshua

    Joshua Нерд

    Доброго времени суток.
    пробую подключить к искре модули HC-05 (не тройка) и HC-06

    делаю как рассказано в видео уроке
    подключаю на serial3. контакты P0 и P1

    Код (Javascript):
    Serial3.setup(9600);

    var buffer = '';

    Serial3.on('data', function(data) {
      buffer += data;
      var lines = buffer.split('\r\n');
      buffer = lines[lines.length - 1];
      if (lines.length > 1) {
        for(l = 0; l < lines.length - 1; l++) {
        print(lones[l]);
        }  
      }
      });
    P3.write(1);
    но в консоли ничего нет. если принудительно ввести: console.log(buffer); после ввода

    Serial3.println('AT+NAME?');

    ответом получаю:
    Код (Javascript):
    >console.log(buffer);
    OKsetname
    =undefined
    но только с модулем HC-06. HC-05 вообще никакого ответа не дает

    Пробовал подключать оба устройства через PL2303 к терминалу.
    На 'AT+NAME? результат такой же: OKsetname у HC-06. HC-05 молчит.
    на другие АТ команды ответа нет.
    Сами приблуды как BLUETOOTH устройства видятся. Телефон к ним без проблем подключается.
    При подаче питания на обоих одновременно моргают две лампы: желтая и синяя.

    прошу подсказки - как победить
     
  2. rkit

    rkit Гуру

    Опечатка.
    В целом не понятно, что код должен делать. Выглядит нелогично

    HC-05 надо переводить в режим AT-команд. Перед включением питания подать высокий уровень на пин key, пока светодиоды не замигают с интервалом в 2 секунды.
     
    acos и Joshua нравится это.
  3. Joshua

    Joshua Нерд

    опечатку исправил, правда на работоспособности это не очень отразилось.
    попробовал команду с изменением имени устройства - проходит. имя меняется. но ответа в порт модуль не посылает.

    по описанию в видео - данный код должен создавать буфер выводящий сгруппировано ответ по событию игнорируя перенос строки. с чем, в принципе, он и отчасти справляется, выводит, но не в консоль, а в переменную.
    вопрос в том - почему модуль не дает ответ на АТ
    второй вопрос. на моем модуле hc-05 нет пина К. есть "EN" и "STATE"
    напротив контакта "EN" есть кнопка. если ее зажать и подать на модуль питание - то диоды начинают моргать с периодичностью 2с. но на АТ команды ответа все равно нет.
     
  4. rkit

    rkit Гуру

    Неправильно подключен, либо ошибка в коде. Код для печати без переносов должен выглядеть как-то так, но я не программировал эти контроллеры.
    Код (Javascript):
    Serial3.on('data', function(data) {
      print(data.replace(/\r\n/, ""));
    });

    Ну этот вывод сделали кнопкой, значит.