--物联网Wi-Fi快速连接技术,SmartConfig iOS实现,TI Smart Config 配置不上路由,iOS更新新版SmargConfig源码!
最近接触了物联网方面的一点东西,有个小练习,要开发一个iOS APP,把一个小设备(LED灯)连接入网络,然后向它发送控制指令,控制它如开灯/关灯/白灯/彩灯等。
设备照片如下:
已知道这设备是带了Wi-Fi模块能连进网络;
但这东西没显示屏没操作按键的,怎么连接wifi呢?连wifi一般都要密码,起码有个地方让我输入wifi密码给它吧!
然后经过了解, 原来这东西使用一个叫 SmartConfig 的技术来配置连网,经过网上搜索了解,这是物联网设备配置上网的一个关键技术!
SmartConfig大概的原理是:设备的网卡开启混杂模式,在手机APP上输入wifi密码,然后APP就把这密码发送udp广播包,设备接收到广播包解析出密码然后连接入网!
相关细节可网上搜索,也可参考这文章:http://blog.csdn.net/sadshen/article/details/47049129 和 https://cjey.me/posts/smartconfig/
了解原理后就看怎么实现了,以我目前水平自己编码不太现实,我觉得这技术基本算是一个标准,肯定有相关开源的类库,于是网上寻找!
网上有关iOS的这方面资料好像不多,可能是我不会搜索。
我先是找到 TI-Texas Instruments德州仪器,http://www.ti.com.cn/tool/cn/smartconfig, 觉得这个比较权威,有源码下载,如图:
使用说明:http://processors.wiki.ti.com/index.php/Smart_Config_Application_development_information_-_IOS
下载编译运行,可能源码太旧了,编译时一大堆错误,花不少精力解决后,在真机上运行,看到IDE调试输出好多信息,感觉正常的样子,实际测试LED灯就是配置不上网,我用Wireshark抓包根本看不到有发送广播包。。。
于是我到网上寻找问题所在,发现有不少人反映ti提供的源码在iOS都配置不上,我从这页面:http://www.deyisupport.com/question_answer/wireless_connectivity/wifi/f/105/t/98400.aspx,截图如下:
接着找到了这个 “iOS实现SmartConfig技术(TI)”:http://www.jianshu.com/p/01cb5c6c4418,文章里面提到一个类 https://github.com/ray-x/Wifi-TI3200,这个类貌似源于ti 的,下载编译运行,