2015-11-08 3 views
0

В настоящее время я пытаюсь создать устройство на базе Arduino, использующее bluetooth-связь (HM10). Я подключил HM10 к arduino SoftwareSerial.h, и я подключил Arduino к ПК через USB, я использую последовательный монитор для связи между плате и ПК.Не удается прочитать сообщение от HM10, писать работы. (получение и отправка данных по bluetooth)

Идея проста: Плата должна просто просто прочитать сообщение из последовательного соединения «A» и передать его другим последовательным соединением «B» на HM 10. HM10 затем отправляет сообщение с помощью bluetooth на подключенный устройство. Также он должен получить сообщение по последовательному соединению «B» от HM10 и передать его на компьютер с помощью последовательного соединения «A»

На моем мобильном устройстве я использую приложение MSMBle для подключения по Bluetooth к HM10 и общаюсь с ним Это.

После подключения arduino к компьютеру, открытие последовательного монитора и подключение моего телефона этим приложением к HM10 Я могу отправить ASCII-текст с помощью последовательного монитора с моего компьютера на arduino, и мой телефон действительно его получит, я вижу его на своем мобильном телефоне , Но когда я отправляю сообщение с помощью bloetooth на HM10, arduino его не получает.

HM10 действительно принимает его: если я подключаю HM10 непосредственно к своему компьютеру, я могу получать и отправлять сообщения с помощью своего серийного монитора. Таким образом, HM10 получает сообщение и передает его серийным (TR, TX) в Arduino, но Arduino по какой-то причине его не читает.

Я использую этот учебник: enter link description here

Это код:

#include <SoftwareSerial.h> 

SoftwareSerial mySerial(8, 9); // RX, TX 
// Connect HM10  Arduino Uno 
//  Pin 1/TXD   Pin 7 
//  Pin 2/RXD   Pin 8 

void setup() { 
    Serial.begin(9600); 
    // If the baudrate of the HM-10 module has been updated, 
    // you may need to change 9600 by another value 
    // Once you have found the correct baudrate, 
    // you can update it using AT+BAUDx command 
    // e.g. AT+BAUD0 for 9600 bauds 
    mySerial.begin(9600); 
    mySerial.print("AT+NAMEnazwak2"); 
    Serial.print("serial_ok"); 
} 

void loop() { 
    //Serial.print("test"); 
    char c; 
    if (Serial.available()) { 

    c = Serial.read(); 

    mySerial.print(c); 
    } 
    if (mySerial.available()) { 
    c = mySerial.read(); 
    Serial.print("ok"); 
    Serial.print(c);  
    } 
} 

Пожалуйста, помогите мне, что я делаю неправильно?

ответ

0

Это была просто странная аппаратная проблема. Хорошо работает на других платах