ESP8266 SDK 1.5.2 Smart Config 2.5.3与ESP-Touch Android应用程序

时间:2016-02-19 11:58:54

标签: android esp8266

我正在使用ESP8266 SDK 1.5.2并试图让智能配置与Android应用程序一起使用。使用智能配置,我可以传输ESP8266应连接的接入点的SSID和密码。

我正在使用SDK 1.5.2 documentation page 108/109中的示例代码。

void ICACHE_FLASH_ATTR smartconfig_done(sc_status status, void *pdata)
{
    switch (status) {
    case SC_STATUS_WAIT:
        os_printf("SC_STATUS_WAIT\n");
        break;
    case SC_STATUS_FIND_CHANNEL:
        os_printf("SC_STATUS_FIND_CHANNEL\n");
        break;
    case SC_STATUS_GETTING_SSID_PSWD:
        os_printf("SC_STATUS_GETTING_SSID_PSWD\n");
        sc_type *type = pdata;
        if (*type == SC_TYPE_ESPTOUCH) {
            os_printf("SC_TYPE:SC_TYPE_ESPTOUCH\n");
        }
        else {
            os_printf("SC_TYPE:SC_TYPE_AIRKISS\n");
        }
        break;
    case SC_STATUS_LINK:
        os_printf("SC_STATUS_LINK\n");
        struct station_config *sta_conf = pdata;
        wifi_station_set_config(sta_conf);
        wifi_station_disconnect();
        wifi_station_connect();
        break;
    case SC_STATUS_LINK_OVER:
        os_printf("SC_STATUS_LINK_OVER\n");
        if (pdata != NULL) {
            uint8 phone_ip[4] = { 0 };
            memcpy(phone_ip, (uint8*)pdata, 4);
            os_printf("Phone ip: %d.%d.%d.%d\n",phone_ip[0],phone_ip[1],phone_ip[2],phone_ip[3]);
        }
        smartconfig_stop();
        break;
    }
}

在我打电话之前

smartconfig_start(smartconfig_done);

我从电台断开连接并将ESP8266设置为电台模式:

wifi_station_disconnect();
wifi_set_opmode_current(STATION_MODE);

启动智能配置后,将调用状态为SC_STATUS_FIND_CHANNEL的回调。然后我尝试通过以下androig应用程序进行连接:

ESP Smart Config

ESP8266 SmartConfig

IOT_Espressif

使用ESP Smart Config和ESP8266 SmartConfig不会发生任何事情。我的smartconfig_done回调永远不会再次调用。

使用IOT_Espressif我会调用状态SC_STATUS_GETTING_SSID_PSWD并且日志告诉我使用了ESP-Touch协议以及将使用哪个电话MAC和哪个接入点MAC。但是我不会通过状态SC_STATUS_LINK和SC_STATUS_LINK_OVER来调用。

anyboby有没有SmartConfig 2.5.3在SDK 1.5.2中使用Android应用程序?

或者ESP-Touch协议应该用于SmartConfig 2.5.3所描述的地方吗?

可以找到IOT_Espressif的源代码here。并且找到了演示ESP-Touch android应用程序的源代码here。在演示应用程序中,它写道它只适用于SmartConfig 2.4。

SmartConfig 2.4和2.5.3之间可能发生了一些变化。但是改变了什么?

0 个答案:

没有答案