乐鑫技术交流
直播中

李颜

7年用户 1385经验值
私信 关注
[问答]

使用手机APP通过smart config来配置RTOS版本的ESP8266,双方握手不能成功,为什么?

使用手机APP通过smart config来配置RTOS版本的ESP8266,发现双方握手不能成功,

手机是iphone6 ios8.3。ESP touch v0.3.3。用xCode7做设备调试的时候,可以输出“send gc code”,前端日志如下:

2015-11-20 11:08:35.071 EspTouchDemo[5787:2927996] ESPTouchTask __listenAsyn() expectOneByte: 34

2015-11-20 11:08:41.094 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:08:47.108 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:08:53.139 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:08:59.157 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:09:05.158 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:09:11.174 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:09:17.204 EspTouchDemo[5787:2929212] ESPTouchTask __execute() send gc code

2015-11-20 11:09:23.104 EspTouchDemo[5787:2929212] ESPTouchTask __sleep() start

server: receiveOneByte fail

: Resource temporarily unavailable

2015-11-20 11:09:33.071 EspTouchDemo[5787:2927996] ESPTouchTask __listenAsyn() receive rubbish message, just ignore

2015-11-20 11:09:33.110 EspTouchDemo[5787:2929212] ESPTouchTask __sleep() end, receive signal is NO

2015-11-20 11:09:33.110 EspTouchDemo[5787:2929212] ###################server close() fd=10

server: receiveOneByte fail

: Bad file descriptor

2015-11-20 11:09:33.111 EspTouchDemo[5787:2927996] ESPTouchTask __listenAsyn() receive rubbish message, just ignore

2015-11-20 11:09:33.111 EspTouchDemo[5787:2929212] ESPTouchTask __notify()

2015-11-20 11:09:33.111 EspTouchDemo[5787:2927996] ESPTouchTask __notify()

2015-11-20 11:09:33.112 EspTouchDemo[5787:2927996] ESPTouchTask __listenAsyn() finish

2015-11-20 11:09:33.112 EspTouchDemo[5787:2929212] ESPViewController executeForResult() result is: (

    "[isSuc: NO,isCancelled: NO,bssid: (null),inetAddress: 0.0.0.0]"

)



串口调试输出的后端日志如下:

ets Jan  8 2013,rst cause:1, boot mode:(3,2)

load 0x40100000, len 1396, room 16
tail 4
chksum 0x89
load 0x3ffe8000, len 776, room 4
tail 4
chksum 0xe8
load 0x3ffe8308, len 540, room 4
tail 8
chksum 0xc0
csum 0xc0

2nd boot version : 1.4(b1)
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

pp_task_hdl : 3fff2750, prio:13, stack:512
pm_task_hdl : 3fff3030, prio:1, stack:176
ApiMsgMutex created
tcpip_task_hdl : 3fff3448, prio:10,stack:512
wdt_task : 3fff3d08, prio:14, stack:176
idle_task_hdl : 3fff4878
tim_task_hdl : 3fff4c70
xPortStartScheduler
frc2_timer_task_hdl:3fff5580, prio:12, stack:512

OS SDK ver: 1.2.0(b900bd2) compiled @ Aug 28 2015 17:18:41
phy ver: 356, pp ver: 9.0

SDK version:1.2.0(b900bd2)
mode : sta(18:fe:34:a4:8c:34) + softAP(1a:fe:34:a4:8c:34)
add if0
dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
add if1
bcn 100
IOT VERSION:v1.0.5t23701(a)
user_plug_init start!
wifi_station_get_ap num 0
apnetif->dhcps_PCB = 1073706632
bcn 0
del if1
mode : sta(18:fe:34:a4:8c:34)
configing...
C > multi_conn_init ok!
smartconfig_task start
SC version: V2.4.7configing...
scandone
configing...
scandone
SC_STATUS_FIND_CHANNEL
configing...
configing...
configing...
configing...
configing...
可见,后端的平台任务线程一直等待configing完成,而smart config 任务线程不能接收到手机APP发出的SSID和PASSWD指令,无法进入到SC_STATUS_GETTING_SSID_PSWD状态
同时,开发板上的smart config LED蓝色灯一会慢闪一阵,一会快闪一阵子,不断这样变化,请问问题在什么地方?
                     

回帖(1)

张秀兰

2024-7-15 17:04:18
在使用手机APP通过Smart Config配置RTOS版本的ESP8266时,如果双方握手不能成功,可能有以下几个原因:

1. 信号干扰:确保ESP8266和手机之间的信号传输没有受到其他设备的干扰。尝试将ESP8266和手机放在一个相对封闭的空间,远离其他无线设备。

2. 固件版本不兼容:检查ESP8266的固件版本是否与手机APP(ESP Touch)的版本兼容。如果版本不兼容,尝试更新ESP8266的固件或手机APP。

3. 路由器设置问题:确保路由器的AP模式设置正确,允许ESP8266连接。此外,检查路由器的频段设置,确保ESP8266和手机都支持相同的频段。

4. 手机设置问题:检查手机的Wi-Fi设置,确保已连接到正确的网络。此外,尝试重启手机,以排除手机系统问题。

5. ESP8266设置问题:检查ESP8266的配置代码,确保Smart Config功能已正确启用。同时,检查ESP8266的GPIO配置,确保与手机APP的设置一致。

6. 软件调试问题:从您提供的日志来看,ESP8266已经发送了GC码,但可能存在一些问题。尝试使用其他设备(如Android手机)进行配置,以排除iOS系统问题。

7. 硬件问题:如果以上方法都无法解决问题,可能是ESP8266硬件存在问题。尝试更换一个新的ESP8266模块,看是否能解决问题。

综上所述,要解决握手失败的问题,需要从信号干扰、固件版本、路由器设置、手机设置、ESP8266设置、软件调试和硬件问题等方面进行排查。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分