ZBLOG

C:\Users\DELL\AppData\Local\Temp\.arduinoIDE-unsaved2025316-5240-qbfo7e.8h63\sketch_apr16a\sketch_apr16a.ino: In function 'void setup()': C:\Users\DELL\AppData\Local\Temp\.arduinoIDE-unsaved2025316-5240-qbfo7e.8h63\sketch_apr16a\sketch_apr16a.ino:...

根据您提供的错误信息,BlinkerESP32BLE 类似乎没有 attachOnConnected 方法。这可能是因为所使用的 Blinker 库版本不支持该方法。我们可以采取其他方法来检测连接状态。

以下是一个修改后的示例,不依赖于 attachOnConnected 方法,而是在 loop() 函数中检查设备是否连接:

  1. #define BLINKER_PRINT Serial
  2. #define BLINKER_BLE
  3. #include <Blinker.h>
  4. #define LED_BUILTIN 3
  5. BlinkerButton Button1("btn-abc");
  6. BlinkerNumber Number1("num-abc");
  7. int counter = 0;
  8. void button1_callback(const String & state) {
  9. BLINKER_LOG("get button state: ", state);
  10. digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
  11. }
  12. void dataRead(const String & data) {
  13. BLINKER_LOG("Blinker readString: ", data);
  14. counter++;
  15. Number1.print(counter);
  16. }
  17. void setup() {
  18. Serial.begin(115200);
  19. #if defined(BLINKER_PRINT)
  20. BLINKER_DEBUG.stream(BLINKER_PRINT);
  21. #endif
  22. pinMode(LED_BUILTIN, OUTPUT);
  23. // 初始化输出引脚为低电平
  24. digitalWrite(LED_BUILTIN, LOW);
  25. // 初始化 Blinker
  26. Blinker.begin();
  27. // 设置数据回调函数
  28. Blinker.attachData(dataRead);
  29. // 设置按钮回调函数
  30. Button1.attach(button1_callback);
  31. }
  32. void loop() {
  33. Blinker.run();
  34. // 检查连接状态,如果已连接则将 LED 引脚设置为高电平
  35. if (Blinker.connected()) {
  36. digitalWrite(LED_BUILTIN, HIGH); // 连接成功时将引脚设为高电平
  37. } else {
  38. digitalWrite(LED_BUILTIN, LOW); // 未连接时保持引脚为低电平
  39. }
  40. }

修改说明:

  1. loop() 中检查连接状态:使用 Blinker.connected() 来判断设备是否与服务器建立了连接。如果已连接,将 LED 引脚设置为高电平;否则,保持低电平。

这种方式可以确保你可以根据当前的连接状态来控制输出,而无需依赖未实现的方法。请确保你的库是最新版本,并查看文档以获取更多可用功能的信息。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=22888

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?