下面是我的 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 永远不会被调用。
即使使用 nRF Connect 和 BLE 终端等第三方 BLE 应用程序,它实际上也不会被调用。
所以我怀疑问题出在我的 arduino Sketch 上,与 android 代码无关。
Android 代码在尝试写入时返回 GATT_ERROR 133。
此代码中是否缺少任何内容?奇怪的是,我在网上找不到任何我们只是将数据发送到 Simblee(不使用 SimlbeeMobile)的示例
谢谢,
最佳答案
尝试将您的 onReceive 签名更改为:
void SimbleeBLE_onReceive(char *data, int len)
关于android - 将数据从 Android 发送到 Simblee BLE 不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47472738/