esp32 wifi接入blinker的同时用蓝牙ble模拟鼠标移动-Arduino中文社区 - Powered by Discuz! Archiver

rauydong 发表于 2022-1-20 09:49

esp32 wifi接入blinker的同时用蓝牙ble模拟鼠标移动

本帖最后由 rauydong 于 2022-1-20 10:05 编辑

家里小米盒子从红外遥控换到蓝牙遥控后,没法用小爱同学控制开机了,然后发现盒子支持wol,就采用了wifi接入blinker后wol唤醒的方案,结果可能盒子睡眠后会断网还是其它原因wol的方案时行时不行,然后偶然间发现盒子连接鼠标后移动鼠标能唤醒盒子,然后就想到了上面的实现方案,结果测试单独wifi接入blinker没问题(之前wol方案的时候就可以),单独用github上的ble-mouse库模拟连接小米盒子后鼠标移动也没问题,就是两个放在一块不行了,求大神解惑!谢谢。代码贴到下面(wifi相关信息已删除,不是忘填写;考虑到蓝牙ble和wifi同时工作分区表大小也调整了,否则也无法编译通过和上传固件了):#define USE_NIMBLE
#include <BleMouse.h>

#define BLINKER_PRINT Serial
#define BLINKER_WIFI

#include <Blinker.h>

char auth[] = ""; //密钥
char ssid[] = ""; //wifi名
char pswd[] = ""; //wifi密码

// 新建组件对象
BlinkerButton Button1("awaking");
BleMouse bleMouse;

// 按下按键即会执行该函数
void button1_callback(const String & state) {
    BLINKER_LOG("get button state: ", state);
    if(bleMouse.isConnected()) {
      bleMouse.move(0,0,1);
    }
}

void setup() {
    // 初始化串口
    Serial.begin(115200);
   

    BLINKER_DEBUG.stream(BLINKER_PRINT);
    BLINKER_DEBUG.debugAll();
   
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Button1.attach(button1_callback);
   
    Blinker.delay(5000);
    bleMouse.begin();
}

void loop() {
    Blinker.run();
}上面代码报错的串口调试信息如下:08:44:10.399 -> ERROR: Maybe you have put in the wrong AuthKey!
08:44:10.399 -> ERROR: Or maybe your request is too frequently!
08:44:10.399 -> ERROR: Or maybe your network is disconnected!
08:44:10.399 -> GET... failed, error: connection refused

尝试将bleMouse.begin()挪至虚拟button点击回调里面,能正常接入了,但是在blinker app里点击按钮后,板子直接重启,报错信息如下:
08:55:56.335 -> MQTT Connected!
08:55:56.335 -> Freeheap: 137764
08:55:56.664 -> Guru Meditation Error: Core0 panic'ed (StoreProhibited). Exception was unhandled.
08:55:56.711 -> Core 0 register dump:
08:55:56.711 -> PC      : 0x4000c46cPS      : 0x00060130A0      : 0x801582deA1      : 0x3fffb7a0
08:55:56.711 -> A2      : 0x00000000A3      : 0x00000000A4      : 0x00002558A5      : 0x00000000
08:55:56.711 -> A6      : 0x00000000A7      : 0x00000255A8      : 0x80081e88A9      : 0x3fffb740
08:55:56.711 -> A10   : 0x00000000A11   : 0x00001800A12   : 0x00000000A13   : 0x00000003
08:55:56.711 -> A14   : 0x00001800A15   : 0x00000004SAR   : 0x00000000EXCCAUSE: 0x0000001d
08:55:56.711 -> EXCVADDR: 0x00000000LBEG    : 0x4000c46cLEND    : 0x4000c477LCOUNT: 0x00000254
08:55:56.754 ->
08:55:56.754 -> ELF file SHA256: 0000000000000000
08:55:56.754 ->
08:55:56.754 -> Backtrace: 0x4000c46c:0x3fffb7a0 0x401582db:0x3fffb7b0 0x4014daba:0x3fffb7d0 0x4014d757:0x3fffb7f0 0x4014d797:0x3fffb810 0x400908f2:0x3fffb840
08:55:56.754 ->
08:55:56.754 -> Rebooting...求大神解惑啊。或者能给我个更好的解决这个需求的方案,万分感谢!
页: [1]
查看完整版本: esp32 wifi接入blinker的同时用蓝牙ble模拟鼠标移动