下面是我的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连接和BLE终端),也不会调用它。
因此,我怀疑问题在于我的arduino Sketch,而与android代码无关。
安卓代码在试图编写时返回GATT_ERROR 133。
这段代码有遗漏什么吗?奇怪的是,我在网上找不到任何简单地向Simblee发送数据的例子(不使用SimlbeeMobile)。
谢谢,
发布于 2017-11-29 08:29:27
尝试将onReceive签名更改为:
void SimbleeBLE_onReceive(char *data, int len)https://stackoverflow.com/questions/47472738
复制相似问题