如何使 BLE 服务器仅在状态更改时通知.
How to make BLE Server Notify only when status has changed?
我正在使用Arduino IDE在我的esp32上使用ble,并试图使它当有人打开LED时,esp32会通知客户端"ON"或"OFF"。目前使用我的代码,每次循环时都会发送更新,但我只想在引脚 15 的值发生变化时通知。
我想我需要探索一个相同的概念,即每当有事情发生变化时,他们都会想要发送 serial.print。
这是我的相关代码。
if (deviceConnected) {
if(digitalRead(15)==LOW){
pCharacteristic->setValue("ON");
}
else{
pCharacteristic->setValue("OFF");
}
pCharacteristic->notify();
我找到了这个示例代码,但不确定它是否有帮助或如何将其组合到我的代码中
int old_something;
void loop ()
{
int something = get_my_data ();
if (something != old_something)
Serial.print (something); // display if it changed
old_something = something;
}
想
通了。现在在这里工作
//Way at the Top
boolean oldState = LOW;
//Down in Loop
boolean newState = digitalRead(15);
if (deviceConnected) {
if (newState != oldState) {
if (newState == LOW) {
pCharacteristic->setValue("ON");
}
else {
pCharacteristic->setValue("OFF");
}
pCharacteristic->notify();
};
oldState = newState;
相关文章:
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 我不断收到 [错误] ID 返回 1 退出状态错误,但看不到问题所在
- OSX MetalKit CVMetalTextureCacheCreateTextureFromImage失败,状态:
- std::future_error:无关联状态
- 函数如何通知用户它基于函数原型抛出异常?
- 如何避免LED在循环状态变化中闪烁?
- 如何在ECS框架中更新组件数据和通知系统
- 当 I2C 值在C++中发生变化时收到通知
- boost 是否有按特殊类型值编码状态"compact optional"?
- 如何设计具有不同类型的通知和观察器的观察者模式?
- 为什么系统函数总是在C++中返回已转移的退出状态?
- C++ 中的编译错误:未定义对"主"的引用 collect2:错误:ld 返回 1 个退出状态
- 当可输入框在窗口中处于活动状态时获得通知的任何方法
- 如何使 BLE 服务器仅在状态更改时通知.
- 当应用程序变为活动/非活动状态时获取通知
- 无法获取状态JOB_STATUS_DELETED的打印作业通知
- 当Qt窗口的可见性状态发生更改时通知它
- 仅显示消息窗口中的电源状态更改通知
- 如何在不使用全局变量的情况下通知外部线程主线程状态
- 当窗口设置为活动状态时获取通知