从Android发送数据到Simblee BLE没有返回任何内容

时间:2017-11-24 11:51:35

标签: android arduino bluetooth-lowenergy simblee

以下是我的Simblee草图:

#include <SimbleeBLE.h>

void setup() {
  Serial.begin(9600);
  Serial.println("Waiting for connection...");
  SimbleeBLE.deviceName = "Simblee";
  SimbleeBLE.advertisementData = "data";
//  SimbleeBLE.customUUID = "2220";
  SimbleeBLE.advertisementInterval = MILLISECONDS(300);
  SimbleeBLE.txPowerLevel = -20;  // (-20dbM to +4 dBm)
  SimbleeBLE.begin();
}

void loop() {

}

void SimbleeBLE_onConnect()
{
  Serial.println("Simblee Connected");
}

void SimbleeBLE_onDisconnect()
{
  Serial.println("Simblee Disconnected");
}

void SimbleeBLE_onReceive(byte *data, int len)
{
  Serial.println("Data received");
  SimbleeBLE.send(1);
  printf("%s\n", data);
}

void serialEvent() 
{
   Serial.println("Serial event");
}

我可以轻松地连接和读取数据,写入它的位不适用于我的应用程序。永远不会调用SimbleeBLE_onReceive。

即使使用第三方BLE应用程序(如nRF Connect和BLE终端),它实际上也从未被调用过。

所以我怀疑问题出在我的arduino Sketch上,与android代码无关。

尝试编写时,android代码返回GATT_ERROR 133.

此代码中是否缺少任何内容?奇怪的是,我无法在网上找到任何我们只是向Simblee发送数据的例子(不使用SimlbeeMobile)

谢谢,

1 个答案:

答案 0 :(得分:3)

尝试将onReceive签名更改为:

void SimbleeBLE_onReceive(char *data, int len)