espressif / ESP8266_RTOS_SDK

Latest ESP8266 SDK based on FreeRTOS, esp-idf style.
http://bbs.espressif.com
Apache License 2.0
3.34k stars 1.57k forks source link

Please tell me how i can get the smartConfigType from the callBack funtion ? (GIT8266O-103) #555

Closed xuhongv closed 5 years ago

xuhongv commented 5 years ago
 case SC_STATUS_LINK_OVER:
        ESP_LOGI(TAG, "SC_STATUS_LINK_OVER");
        // rtos 2.0 sdk 
        if (pdata != NULL) {
            uint8_t phone_ip[4] = {0};
            memcpy(phone_ip, (uint8_t *)pdata, 4);
            ESP_LOGI(TAG, "lcoal phone ip : %d.%d.%d.%d ", phone_ip[0], phone_ip[1], phone_ip[2], phone_ip[3]);
        }  else  {
            ESP_LOGI(TAG, "airkiss start");
        }
        xEventGroupSetBits(wifi_event_group, ESPTOUCH_DONE_BIT);
        break;
xuhongv commented 5 years ago

image

ustccw commented 5 years ago

by esp_smartconfig_set_type() API to set type

xuhongv commented 5 years ago
xuhongv commented 5 years ago
ustccw commented 5 years ago

既然你都设置了 airkiss, 那 callback 里就是 airkiss 的. 这两个是一致的.

xuhongv commented 5 years ago
ustccw commented 5 years ago

当前 SDK 回调函数里, 是没法知道哪种配网方式的.

xuhongv commented 5 years ago

嗯嗯。我希望贵方可以把这个完善下。 因为 rtos2.0或者nonos2.0都是支持的!而且我上方的截图都是显示 airkiss类型,说明你们在处理这个spinff嗅探时候,已经是有判断出类型了,只是回调给我们这层的逻辑没做好!希望完善下就可以了!

ustccw commented 5 years ago

截图显示 airkiss 不是通过识别 sniffer 包的, 而是通过 esp_smartconfig_set_type 读取后, 决定采用哪种配网方式.

ustccw commented 5 years ago

默认的是 airkiss

xuhongv commented 5 years ago
ustccw commented 5 years ago

没明白你详细的需求. 程序支持 airkiss 和 esptouch, 当前同一时间, 只能有一种配网方式.

xuhongv commented 5 years ago
xuhongv commented 5 years ago

image

xuhongv commented 5 years ago
ustccw commented 5 years ago

如果第一次用的是 airkiss, 下一次用 esptouch, 那程序中会调用 esp_smartconfig_set_type 来切换配网方式的. 否则都是默认的 airkiss.

xuhongv commented 5 years ago
ustccw commented 5 years ago
  1. 是的, 默认就是 airkiss.
  2. 当前配网回调函数中, 是无法知道当前的配网方式. 以前通过 pdata 来判断也是比较业余的做法.
xuhongv commented 5 years ago
FireWinter commented 5 years ago
  • 那么我配网前设置 esp_smartconfig_set_type(SC_TYPE_ESPTOUCH_AIRKISS); ,底层数据打印中可以准确看到当前是 esptouch 还是 airkiss 方式!为什么不把这个方式也回调给我们应用层呢?

后续版本会将配网方式传到应用层,请关注版本更新~

FayeY commented 5 years ago

544