esp-aliyun
esp-aliyun copied to clipboard
天猫精灵 零配不成功
1. 开发环境
- 模组或开发板:
- esp-aliyun 版本():
- ESP8266_RTOS_SDK 版本( crosstool-ng-1.22.0-100-ge567ec7b):
- ESP-IDF 版本(v3.2):
2. 问题描述
使用公版APP 一键配网可以成功, 但是使用天猫精灵零配不成功,侦测不到天猫精灵的配网信号,一直在扫AP,切换channel
2.1 复现步骤
- ...
- ...
2.2 复现问题的代码
3. 调试 Logs
I (43) boot: ESP-IDF v3.2-dirty 2nd stage bootloader I (43) boot: compile time 17:00:06 I (43) qio_mode: Enabling default flash chip QIO I (50) boot: SPI Speed : 40MHz I (56) boot: SPI Mode : QIO I (63) boot: SPI Flash Size : 4MB I (69) boot: Partition Table: I (74) boot: ## Label Usage Type ST Offset Length I (86) boot: 0 nvs WiFi data 01 02 00009000 00004000 I (97) boot: 1 otadata OTA data 01 00 0000d000 00002000 I (109) boot: 2 phy_init RF data 01 01 0000f000 00001000 I (120) boot: 3 ota_0 OTA app 00 10 00010000 000f0000 I (132) boot: 4 fctry WiFi data 01 02 00100000 00004000 I (143) boot: 5 ota_1 OTA app 00 11 00110000 000f0000 I (155) boot: End of partition table I (161) boot: No factory image, trying OTA 0 I (169) esp_image: segment 0: paddr=0x00010010 vaddr=0x40210010 size=0xac2b8 (705208) map I (420) esp_image: segment 1: paddr=0x000bc2d0 vaddr=0x3ffe8000 size=0x00830 ( 2096) load I (421) esp_image: segment 2: paddr=0x000bcb08 vaddr=0x3ffe8830 size=0x0019c ( 412) load I (431) esp_image: segment 3: paddr=0x000bccac vaddr=0x40100000 size=0x06794 ( 26516) load 0x40100000: _stext at ??:?
I (453) boot: Loaded app from partition at offset 0x10000 I (514) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE I (514) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE I (704) phy_init: phy ver: 1055_12 I (704) reset_reason: RTC reset 2 wakeup 0 store 0, reason is 2 W (704) wrapper_kv: nvs get blob q_rt failed with 1102 I (714) factory_rst: quick reboot times 1, don't need to restore I (724) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 I (734) gpio: GPIO[15]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 I (754) pwm: --- PWM v3.2
[prt] log level set as: [ 4 ] W (804) wrapper_kv: nvs get blob stassid failed with 1102 W (804) wrapper_kv: nvs get blob scmode failed with 1102 I (814) conn_mgr: my print test configure 31 [crt] awss_config_press(180): enable awss I (824) app main: IOTX_AWSS_ENABLE I (824) conn_mgr: my print test awss_start 31 I (834) app main: IOTX_AWSS_START [inf] zconfig_init(260): zconfig_init I (854) awss: Open monitor mode [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 6 [crt] aws_switch_channel(166): chan 11 ..................................... [crt] aws_switch_channel(166): chan 9 [crt] aws_switch_channel(166): chan 10 [crt] aws_switch_channel(166): chan 11 [crt] aws_switch_channel(166): chan 12 [crt] aws_switch_channel(166): chan 13 [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 3 [crt] aws_switch_channel(166): chan 5 [crt] aws_switch_channel(166): chan 6 [crt] aws_switch_channel(166): chan 9 [crt] aws_switch_channel(166): chan 11 [crt] aws_switch_channel(166): chan 12 [crt] aws_switch_channel(166): chan 13 [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 6 [crt] aws_switch_channel(166): chan 11 [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 2 [crt] aws_switch_channel(166): chan 3 [crt] aws_switch_channel(166): chan 4 [crt] aws_switch_channel(166): chan 5 [crt] aws_switch_channel(166): chan 6 [crt] aws_switch_channel(166): chan 7 [crt] aws_switch_channel(166): chan 8 [crt] awss_save_apinfo(271): [32] ssid:CMCCxxxxxxxxxxxxxx [crt] aws_switch_channel(166): chan 9 [crt] aws_switch_channel(166): chan 10 [crt] aws_switch_channel(166): chan 11 [crt] aws_switch_channel(166): chan 12 [crt] aws_switch_channel(166): chan 13 [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 3 [crt] aws_switch_channel(166): chan 5 [crt] aws_switch_channel(166): chan 6 [crt] aws_switch_channel(166): chan 8 [crt] aws_switch_channel(166): chan 9 [crt] aws_switch_channel(166): chan 11 [crt] aws_switch_channel(166): chan 12 [crt] aws_switch_channel(166): chan 13 [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 6 [crt] aws_switch_channel(166): chan 11 [crt] aws_switch_channel(166): chan 1 [crt] aws_switch_channel(166): chan 2 [crt] aws_switch_channel(166): chan 3
4. 其他项
// 如果涉及到配网或其他兼容性问题,请提供具体手机型号、路由型号或其他信息。
可以试一下这个工程:https://github.com/espressif/esp-ali-smartliving
@yl673091830 请说明一下使用的 esp-aliyun 版本和 ESP8266_RTOS_SDK 版本? 使用命令: git describe --always --tags --dirty
另外对天猫精灵说 “发现设备” 之后, 天猫精灵是否回复了“未发现设备”?
1、是这个版本信息吗 v3.2-dirty
git describe --always --tags --dirty
v3.2-dirty
2、天猫精灵搜索一会说“搜了一分钟都没找到智能设备,是否产品没有进入配网状态”,但是从调试log上看 ESP8266是在配网状态的
你给的是 ESP8266_RTOS_SDK 版本, esp-aliyun 版本呢? 是用的 master 最新的吗?
esp-aliyun 是最新版本的
设备有没有烧录三元组呢? 或者 make erase_flash 之后没有重新烧写?
重新烧录了三元组。反复试了多次都不行,天猫精灵配网不成功,然后用手机一键配网就可以,应该不是三元组的问题
用一键配网时,需要用手机扫描二维码才能配网成功,天猫精灵零配时没有这一步,是不是设备虽然在配网模式,但是没有发送三元组信息或者发送的信息有问题,导致天猫精灵找不到找不到设备
我们内部先确认一下给您答复。
需要看下设备是否已发出零配请求帧, 即 vender specific OUI 是 "D8-96-E0" 的 probe request. 如果发出了,为什么天猫精灵没有收到。
好的,谢谢,等您答复~
另外,1、一键配网时需要扫描二维码才能配网成功,是不是这个版本不支持标准配网?2、后续会推出支持标准配网的版本吗?
不好意思,您说的标准配网是哪种? 我们有支持一键配网,天猫精灵配网,设备热点配网
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、
图 2
@Eavo 你提供的工程连接,按照步骤操作,提示如下错误,请问该如何解决?
下面是调试log: Administrator@Q8VVDYMB1BQOX2A MINGW32 /home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c
make reconfig
SELECT A CONFIGURATION:
1. config.esp32.aos 4) config.mk3060.aos 7) config.ubuntu.x86 2. config.esp8266.aos 5) config.mk3080.aos 8) config.win7.mingw32 3. config.macos.x86 6) config.rhino.make 9) config.xboard.make #? 2
SELECTED CONFIGURATION:
VENDOR : esp8266 MODEL : aos
CONFIGURE .............................. [examples] CONFIGURE .............................. [src/infra/log] CONFIGURE .............................. [src/infra/system] CONFIGURE .............................. [src/infra/utils] CONFIGURE .............................. [src/protocol/alcs] CONFIGURE .............................. [src/protocol/coap/cloud] CONFIGURE .............................. [src/protocol/coap/local] CONFIGURE .............................. [src/protocol/http] CONFIGURE .............................. [src/protocol/http2] CONFIGURE .............................. [src/protocol/mqtt] CONFIGURE .............................. [src/ref-impl/hal] CONFIGURE .............................. [src/ref-impl/tls] CONFIGURE .............................. [src/sdk-impl] CONFIGURE .............................. [src/services/awss] CONFIGURE .............................. [src/services/dev_bind] CONFIGURE .............................. [src/services/dev_diagnosis] CONFIGURE .............................. [src/services/http2_stream] CONFIGURE .............................. [src/services/linkkit/cm] CONFIGURE .............................. [src/services/linkkit/dev_reset] CONFIGURE .............................. [src/services/linkkit/dm] CONFIGURE .............................. [src/services/mdal/mal] CONFIGURE .............................. [src/services/mdal/sal] CONFIGURE .............................. [src/services/ota] CONFIGURE .............................. [src/services/shadow] CONFIGURE .............................. [src/services/subdev] CONFIGURE .............................. [src/tools/linkkit_tsl_convert]
BUILDING WITH EXISTING CONFIGURATION:
VENDOR : esp8266 MODEL : aos
this one Components:
. examples . src/infra/log . src/infra/system . src/infra/utils . src/protocol/alcs . src/protocol/coap/cloud . src/protocol/coap/local . src/protocol/http . src/protocol/http2 . src/protocol/mqtt . src/ref-impl/hal . src/ref-impl/tls . src/sdk-impl . src/services/awss . src/services/dev_bind . src/services/dev_diagnosis . src/services/http2_stream . src/services/linkkit/cm . src/services/linkkit/dev_reset . src/services/linkkit/dm . src/services/mdal/mal . src/services/mdal/sal . src/services/ota . src/services/shadow . src/services/subdev . src/tools/linkkit_tsl_convert
this one
Administrator@Q8VVDYMB1BQOX2A MINGW32 /home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c
make menuconfig
make: *** [/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/build-rules/_rules-top.mk:202:menuconfig] 错误 126
Administrator@Q8VVDYMB1BQOX2A MINGW32 /home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c
make
BUILDING WITH EXISTING CONFIGURATION:
VENDOR : esp8266 MODEL : aos
echo this one this one make[1]: *** 没有规则可制作目标“E:/▒▒·▒▒▒▒/WiFi▒▒▒▒/▒▒▒▒▒▒▒/msys32/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/src/infra/utils/digest/utils_sha1.c”,由“/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/.O/src/infra/utils/digest/utils_sha1.o” 需求。 停止。 make: *** [/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/build-rules/_rules-submods.mk:5:sub-mods] 错误 2
Administrator@Q8VVDYMB1BQOX2A MINGW32 /home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c
make clean
Administrator@Q8VVDYMB1BQOX2A MINGW32 /home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c
make
BUILDING WITH EXISTING CONFIGURATION:
VENDOR : esp8266 MODEL : aos
echo this one this one make[1]: *** 没有规则可制作目标“E:/▒▒·▒▒▒▒/WiFi▒▒▒▒/▒▒▒▒▒▒▒/msys32/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/src/infra/utils/digest/utils_sha1.c”,由“/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/.O/src/infra/utils/digest/utils_sha1.o” 需求。 停止。 make: *** [/home/ESP8266_RTOS_SDK/esp-ali-smartliving/ali-smartliving-device-sdk-c/build-rules/_rules-submods.mk:5:sub-mods] 错误 2
看起来是你用的msys32 shell不支持当前项目编译,该项目还是要使用Ubuntu系统编译。
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、 图 2
看不到图片,我在 ”人机交互“->”配网引导“ 页面没有看到官方标准配网,只有 默认配网方式:备选配网方式:零配方式(需设备支持)
好的,谢谢,等您答复~ 另外,1、一键配网时需要扫描二维码才能配网成功,是不是这个版本不支持标准配网?2、后续会推出支持标准配网的版本吗?
您有多的 8266 开板板吗? 建议试试其他的板子能否成功? 是不是使用的 ESP-WROOM-02D?
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、 图 2
看不到图片,我在 ”人机交互“->”配网引导“ 页面没有看到官方标准配网,只有 默认配网方式:备选配网方式:零配方式(需设备支持)
在“https://living.aliyun.com/” 新建产品之后,第一次进入“人机交互”->”配网引导“ 页面,是默认的“ 标准配网”,这个页面看不到 “默认配网方式:备选配网方式:零配方式(需设备支持)” 的选项,在右上角点击自定义配网才能看到选项。设定之后再次进入”配网引导”页面 还是上次设定的自定义配网方式,点击右上角的提示:”自定义配网体验不好?使用品类标准配网“,可以切回 “品类标准配网”,这里的“标准配网”用一键配网也不成功~
好的,谢谢,等您答复~ 另外,1、一键配网时需要扫描二维码才能配网成功,是不是这个版本不支持标准配网?2、后续会推出支持标准配网的版本吗?
您有多的 8266 开板板吗? 建议试试其他的板子能否成功? 是不是使用的 ESP-WROOM-02D?
现在手上只有NodeMCU,用的是 ESP-12S 模块
请读取一下板子的 mac 地址? 在 esp_wifi_start 之后调用 esp_wifi_get_mac(WIFI_IF_STA, mac[6]); 或者查找 download 时候会打印 MAC 信息:
Flashing binaries to serial port /dev/ttyUSB1 (app at offset 0x10000 )...
esptool.py v2.4.0
Connecting....
Chip is ESP8266EX
Features: WiFi
MAC: 80:7d:3a:5e:d7:xx
请读取一下板子的 mac 地址? 在 esp_wifi_start 之后调用 esp_wifi_get_mac(WIFI_IF_STA, mac[6]); 或者查找 download 时候会打印 MAC 信息:
Flashing binaries to serial port /dev/ttyUSB1 (app at offset 0x10000 )... esptool.py v2.4.0 Connecting.... Chip is ESP8266EX Features: WiFi MAC: 80:7d:3a:5e:d7:xx
Chip is ESP8266EX Features: WiFi MAC: 48:3f:da:65:ee:05
请重启天猫精灵,重试下能否发现。 我们在调试中也发现偶尔有这个问题,一直不能发现某个 mac 地址的设备,改成其他mac 地址就可以。或者重启天猫精灵后可以发现了。您看下是否也是这样的情况。
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、 图 2
看不到图片,我在 ”人机交互“->”配网引导“ 页面没有看到官方标准配网,只有 默认配网方式:备选配网方式:零配方式(需设备支持)
在“https://living.aliyun.com/” 新建产品之后,第一次进入“人机交互”->”配网引导“ 页面,是默认的“ 标准配网”,这个页面看不到 “默认配网方式:备选配网方式:零配方式(需设备支持)” 的选项,在右上角点击自定义配网才能看到选项。设定之后再次进入”配网引导”页面 还是上次设定的自定义配网方式,点击右上角的提示:”自定义配网体验不好?使用品类标准配网“,可以切回 “品类标准配网”,这里的“标准配网”用一键配网也不成功~
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、 图 2
看不到图片,我在 ”人机交互“->”配网引导“ 页面没有看到官方标准配网,只有 默认配网方式:备选配网方式:零配方式(需设备支持)
在“https://living.aliyun.com/” 新建产品之后,第一次进入“人机交互”->”配网引导“ 页面,是默认的“ 标准配网”,这个页面看不到 “默认配网方式:备选配网方式:零配方式(需设备支持)” 的选项,在右上角点击自定义配网才能看到选项。设定之后再次进入”配网引导”页面 还是上次设定的自定义配网方式,点击右上角的提示:”自定义配网体验不好?使用品类标准配网“,可以切回 “品类标准配网”,这里的“标准配网”用一键配网也不成功~
新建了一个 “空调” 产品, 还是没有看到“标准配网”, 或者你选择的产品是什么?才会出现这个配置
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、 图 2
看不到图片,我在 ”人机交互“->”配网引导“ 页面没有看到官方标准配网,只有 默认配网方式:备选配网方式:零配方式(需设备支持)
在“https://living.aliyun.com/” 新建产品之后,第一次进入“人机交互”->”配网引导“ 页面,是默认的“ 标准配网”,这个页面看不到 “默认配网方式:备选配网方式:零配方式(需设备支持)” 的选项,在右上角点击自定义配网才能看到选项。设定之后再次进入”配网引导”页面 还是上次设定的自定义配网方式,点击右上角的提示:”自定义配网体验不好?使用品类标准配网“,可以切回 “品类标准配网”,这里的“标准配网”用一键配网也不成功~
这是生活物联网平台的截图,必须选自定义配网,一键配网才能成功,默认的选官方标准配网,设备一直在切换信道,获取不到配网信息:图 1、 图 2
看不到图片,我在 ”人机交互“->”配网引导“ 页面没有看到官方标准配网,只有 默认配网方式:备选配网方式:零配方式(需设备支持)
在“https://living.aliyun.com/” 新建产品之后,第一次进入“人机交互”->”配网引导“ 页面,是默认的“ 标准配网”,这个页面看不到 “默认配网方式:备选配网方式:零配方式(需设备支持)” 的选项,在右上角点击自定义配网才能看到选项。设定之后再次进入”配网引导”页面 还是上次设定的自定义配网方式,点击右上角的提示:”自定义配网体验不好?使用品类标准配网“,可以切回 “品类标准配网”,这里的“标准配网”用一键配网也不成功~
新建了一个 “空调” 产品, 还是没有看到“标准配网”, 或者你选择的产品是什么?才会出现这个配置
我试着新建了“空调”产品,和你的描述一致。新建“电工照明”->"灯",配网引导设置界面会有不同的选项
看到了,显示的标准配网方案:设备热点配网
热点配网这样配置, 在 conn_mgr task 之前添加:
conn_mgr_set_sc_mode(CONN_SOFTAP_MODE);
xTaskCreate((void (*)(void *))start_conn_mgr, "conn_mgr", 3072, NULL, 5, NULL);
但是这个新的标准配网方案,设备端可以拿到 ssid,但是流程上还有点问题,不能完全支持
看到了,显示的标准配网方案:设备热点配网
热点配网这样配置, 在 conn_mgr task 之前添加:
conn_mgr_set_sc_mode(CONN_SOFTAP_MODE); xTaskCreate((void (*)(void *))start_conn_mgr, "conn_mgr", 3072, NULL, 5, NULL);
但是这个新的标准配网方案,设备端可以拿到 ssid,但是流程上还有点问题,不能完全支持
好的,谢谢
请重启天猫精灵,重试下能否发现。 我们在调试中也发现偶尔有这个问题,一直不能发现某个 mac 地址的设备,改成其他mac 地址就可以。或者重启天猫精灵后可以发现了。您看下是否也是这样的情况。
是这个问题,谢谢