分类: 嵌入式
2015-08-24 22:32:35
CC3200 smart config 协议
所谓的smart config就是手机APP端发送包含WIFI 用户名 WIFI密码的 UDP 广播包或者组播包,CC3200可以接收到该UDP包,只要知道UDP的组织形式,就可以通过接收到的UDP包解密 出WIFI 用户名 密码,然后CC3200配置收到的WIFI 用户名、密码,连接到指定的WIFI AP 上。
一、下面谈谈发送的UDP数据包的组织形式:
1、我们把SSID和密码转换成一系列的分隔符、SSID tag、字符串长度、high nibble、low nibble等值,然后作为数据包的长度发送出去。
2、以ssid:MyPlace 密码:LetMeIn 为例
下面展示如何将SSID:”MyPlace”分割成high位和low位。
3、然后通过high位和low位生成两个带有序列号的值2i和2i+1。生成规则如下:
4、通过这种规则, 7个字符的SSID:”MyPlace”将得到14个值,如下:
5、密码按照同样的规则进行编码。
6、将编码后的数据按照如下格式作为udp数据包的长度循环发送出去。
ssid:MyPlace 密码:LetMeIn发送数据包长度如下:
3 1099 3 35 3 597 3 686 3 840 3 666 3 806 3 593
3 695 3 621 3 663 3 834 3 775 3 804 3 839 3 774
3 1199 3 35 3 597 3 685 3 823 3 678 3 616 3 629
3 629 3 654 3 679 3 838 3 837 3 842 3 679 3 783
23 1099 23 35 23 597 23 686 23 840 23 666 23 806 23 593
23 695 23 621 23 663 23 834 23 775 23 804 23 839 23 774
23 1199 23 35 23 597 23 685 23 823 23 678 23 616 23 629
23 629 23 654 23 679 23 838 23 837 23 842 23 679 23 783
3 --------------->>分隔符
1099 --------------->>SSID tag
3 --------------->>分隔符
35 --------------->>SSID length +28
3 --------------->>分隔符
597 --------------->>‘M‘high-nibble
3 --------------->>分隔符
686 --------------->> ‘M‘low-nibble
3 --------------->>分隔符
840 --------------->>‘y‘high-nibble
3 --------------->>分隔符
666 --------------->>‘y‘low-nibble
3 --------------->>分隔符
806 --------------->>‘P‘high-nibble
3 --------------->>分隔符
593 --------------->>‘P‘low-nibble
3 695 3 621 3 663 3 834 3 775 3 804 3 839 3 774
3 --------------->>分隔符
1199 --------------->>密码tag
3 --------------->>分隔符
35 --------------->>密码length+28
3 --------------->>分隔符
597 --------------->>‘L‘high-nibble
3 --------------->>分隔符
685 --------------->>‘L‘low-nibble
3 --------------->>分隔符
823 3 678 3 616 3 629
3 629 3 654 3 679 3 838 3 837 3 842 3 679 3 783
把分隔符换成23,重复一遍
……..
……..
----------------------------------------------------------------------------------------------------------------------------
点击(此处)折叠或打开