ESP8266学习笔记4:ESP8266的SmartConfig

时间:2024-03-18 11:23:34

From:http://blog.csdn.net/sadshen/article/details/46883245
今天花了将近一天的时间来研究ESP8266SmartConfig功能,这个应该算是wifi云产品的标配。这篇文章先把SmartConfig操作一遍,我还写了另一篇文章梳理了物理层的具体协议,点击这里可以看到

转载请注明:http://blog.csdn.net/sadshen/

 

一、准备


ESP8266学习笔记4:ESP8266的SmartConfig

ESP8266目前的SDK_v1.2.0支持SmartConfig。将esp_iot_sdk_v1.2.0\examples\smart_config

\目录的例程源码拷贝至app目录即可。


ESP-TouchAPP在乐鑫官网有下载。


微信官方对AirKiss有初步介绍(http://iot.weixin.qq.com/document-7_1.html),这个介绍中提到的库文件误导了我。事实上ESPSDK_v1.2.0已经支持了AirKiss,我们只需要调用SmartConfig接口就可以了。

一个比较大的限制是,微信只将AirKiss的功能权限开放给企业服务号,而个人申请的订阅号则不能申请这个权限。不过微信还是给了DEMO(http://iot.weixin.qq.com/download.html)方便开发者的调试。

 

二、ESP-TOUCH


ESP8266学习笔记4:ESP8266的SmartConfig

如下是ESP8266ESP-TOUCH时的打印信息:

[plain] view plain copy
  1. <Time:2015-07-14 19:01:13:078 Len:0099>:?  
  2. SDK ver: 1.2.0 compiled @ Jul  3 2015 19:36:17  
  3. phy ver: 356, pp ver: 8.7  
  4.    
  5. SDK version:1.2.0  
  6.    
  7. <Time:2015-07-14 19:01:13:218 Len:0045>:mode : sta(18:fe:34:f8:8f:cf)  
  8. add if0  
  9. f 0,   
  10. <Time:2015-07-14 19:01:15:296 Len:0015>:scandone  
  11. f 0,   
  12. <Time:2015-07-14 19:01:17:484 Len:0034>:scandone  
  13. SC_STATUS_FIND_CHANNEL  
  14.    
  15. <Time:2015-07-14 19:02:07:484 Len:0136>:  
  16. TYPE: ESPTOUCH V2.4  
  17. T|PHONE MAC: b4 b 44 1 6 5  
  18. T|AP MAC   : 0 c4 38 12 0 5e  
  19. SC_STATUS_GETTING_SSID_PSWD  
  20. SC_TYPE:SC_TYPE_ESPTOUCH  
  21.    
  22. <Time:2015-07-14 19:02:08:531 Len:0030>:T|SCAN SSID: 杩瀢ifi_2.4g鍚?  
  23.    
  24. <Time:2015-07-14 19:02:09:593 Len:0088>:T|pswd: 12345678  
  25. T|ssid: 杩瀢ifi_2.4g鍚?  
  26. T|bssid: 00 c4 38 12 00 5e   
  27. SC_STATUS_LINK  
  28.    
  29. <Time:2015-07-14 19:02:09:671 Len:0008>:f -240,   
  30. <Time:2015-07-14 19:02:11:906 Len:0072>:scandone  
  31. no 杩瀢ifi_2.4g鍚?found, reconnect after 1s  
  32. reconnect  
  33. f 0,   
  34. <Time:2015-07-14 19:02:14:093 Len:0123>:scandone  
  35. add 0  
  36. aid 2  
  37. pm open phy_2,type:2 0 0  
  38.    
  39. connected with 杩瀢ifi_2.4g鍚? channel 3  
  40. dhcp client start...  
  41. cnt   
  42.    
  43. <Time:2015-07-1419:02:17:109 Len:0052>:ip:192.168.4.232,mask:255.255.255.0,gw:192.168.4.1  
  44.    
  45. <Time:2015-07-14 19:02:19:937 Len:0046>:SC_STATUS_LINK_OVER  
  46. Phone ip: 192.168.4.199  

 

三、AirKiss


ESP8266学习笔记4:ESP8266的SmartConfig

如下是ESP8266AirKiss时的打印信息:

[plain] view plain copy
  1. <Time:2015-07-14 19:20:00:968 Len:0159>:?  
  2. SDK ver: 1.2.0 compiled @ Jul  3 2015 19:36:17  
  3. phy ver: 356, pp ver: 8.7  
  4.    
  5. SDK version:1.2.0  
  6. mode : sta(18:fe:34:f8:8f:cf)  
  7. add if0  
  8. f 0, scandone  
  9. f 0,   
  10. <Time:2015-07-14 19:20:03:046 Len:0015>:scandone  
  11. f 0,   
  12. <Time:2015-07-14 19:20:05:234 Len:0034>:scandone  
  13. SC_STATUS_FIND_CHANNEL  
  14.    
  15. <Time:2015-07-14 19:20:16:421 Len:0185>:  
  16. TYPE: AIRKISS V2.4  
  17. T|sniffer on ch:3  
  18. T|PHONE MAC: b4 b 44 1 6 5  
  19. T|AP MAC   : 0 c4 38 12 0 5e  
  20. T|Head Len : 66  
  21.    
  22. SC_STATUS_GETTING_SSID_PSWD  
  23. SC_TYPE:SC_TYPE_AIRKISS  
  24. T|sync:wait  
  25.    
  26. <Time:2015-07-14 19:20:16:812 Len:0052>:T|retain data: 0  
  27. T|all data: 24  
  28.    
  29. T|sync:mgc end  
  30.    
  31. <Time:2015-07-14 19:20:17:406 Len:0250>:T|ssid len15  
  32. T|SSID: 杩瀢ifi_2.4g鍚?  
  33. T|SCAN CRC SSID: 1  
  34. T|index:2, remain:1  
  35. T|password len: 8  
  36. T|sync:pfx end  
  37. T|seq:0  
  38. T|seq:1  
  39. T|seq:2  
  40. T|I get it!  
  41. T|pswd : 12345678  
  42. T|ssid : 杩瀢ifi_2.4g鍚?  
  43. T|bssid: 00 c4 38 12 00 5e   
  44. SC_STATUS_LINK  
  45. f 0,   
  46. <Time:2015-07-14 19:20:19:562 Len:0123>:scandone  
  47. add 0  
  48. aid 2  
  49. pm open phy_2,type:2 0 0  
  50.    
  51. connected with 杩瀢ifi_2.4g鍚? channel 3  
  52. dhcp client start...  
  53. cnt   
  54.    
  55. <Time:2015-07-14 19:20:20:343 Len:0052>:ip:192.168.4.232,mask:255.255.255.0,gw:192.168.4.1  
  56.    
  57. <Time:2015-07-14 19:20:24:171 Len:0021>:SC_STATUS_LINK_OVER  

四、总结

ESP8266V1.2.0版本已经兼容ESP-TOUCH和微信AirKiss,经测试,效果良好。