二.SmartConfig
乐鑫官网有下载ESPTouch , SmartConfig具体传递秘钥之类的乱七八糟的原理请自行百度,只交接实现。
使用上,直接按着ESPTouch提供的demo进行修改就行了,此处也不做过多的交接,详情请查看demo,同事,别问我demo在哪,官方自行搜索,谢谢。
SmartConfig和热点直连的两个项目中,我们公司SmartConfig项目使用TCP协议通讯,而热点直连使用的是UDP协议通讯。下面是SmartConfig项目:
1.搜,upd广播搜,看看能不能搜索出已经配网Wi-Fi模块,如果搜不出已配网的Wi-Fi模块则判定为没有已配网模块(总感觉很不严谨,但这个请找产品和设计,欢迎吊打他们);全域udp广播$identify,看看有没有回应的设备,同事,别问我为啥是$identify,我们用的这厂家人家就是要你搜$identify,你不喜欢可以找厂家出来吊打他们;
怎样搜得更合理,更科学更严谨,欢迎指导,我们用最屌丝最土的做法
2.问嵌入式工程师ip地址和port,不给直接吊打,连上socket,开启tcp通讯之旅;
2.数据发送,请记得writeData:withTimeout:tag与readDataWithTimeout:tag都要调取,若不调取readDataWithTimeout:tag,数据发出去,然而接收不到response;
3.数据成功发出后,会触发GCDAsyncSocketDelegate的回调,回调里block返回控制器/数据处理等自行发挥;
至此,基于SmartConfig方案的Wi-Fi完成,后面的都是逻辑处理问题了。
补充:iOS12中,要获取Wi-Fi的SSID,一定要打开access wifi information