我使用airkiss的记录

使用airkiss参考芒果的教程http://wiki.widora.io/doku.php?id=zh:airkiss,该教程中有安卓端的测试软件。固件上更新到0.1.4同时确认在menuconfig中的Ralink SDK Mango–> <*>airkiss已经选择。
0_1481877273173_airkiss.c
上面这个附件是我对固件中,/package/airkiss/src/airkiss.c的修改。我修改的部分语句后面都增加了注释。主要修改的功能是
1.在获取到ssid和key之后调用connect2ap连接网络。
2.执行airkiss之后会一直尝试直到有命令停止或者获取都ssid,程序中每100ms切换一个通道,因而我增加了count用于计数,执行airkiss的时间约等于count/10。
手机上测试还可以通过微信公众号的形式,比如我找到一个“科龙空调智能空调”的公众号,进入工具-配置WIFI-开始配置WIFI,然后进入一个界面填写路由器的密码,点击连接,然后开发板上输入命令airkiss,则很快就会看到打印出来的信息里面显示了收到的帐号和密码,同时开始连接网络。
以上是我个人的一些使用过程记录,有问题欢迎指出。
目前发现固件里面的airkiss里面缺少通过udp广播返回数据给手机,所以手机不知道 widora已经接收到信息。这部分如果已经有人能改好代码的欢迎分享。
0_1481878057385_upload-d578b843-8993-4dcc-a5cf-b2def58969c0
link text
这个连接是airkiss原理介绍。

@吴题 我用了帖子里面的科龙的公众号测试的,我自己没有做微信端功能,所以微信端的功能我不清楚。科龙那个公众号如果超过时间没配对的话时候有提醒的。

我用了你那个改好的airkiss,你有没有碰到那个微信反馈有问题?
wx.checkJsApi({
jsApiList: [‘configWXDeviceWiFi’],
success: function(res) {
WeixinJSBridge.invoke(‘configWXDeviceWiFi’, {}, function(res){
weui.alert(res);
var err_msg = res.err_msg;
if(err_msg == ‘configWXDeviceWiFi:ok’) {
console.log(‘配置 WIFI成功’);
weui.alert(‘配置 WIFI成功’);
} else {
console.log(‘配置 WIFI失败’);
weui.alert(‘配置 WIFI失败’);
}
console.log(‘configWXDeviceWiFi’, res);
});
}
});
@Cola 都没弹出框来,用了你那个以后,就是没有出现那个自带的超时的弹框,自己的没有出现。你有没有碰到这种情况

airkiss.c这个文件我把里面调用我自己的脚本的语句给注释掉了,现在只要将这个文件和UDP_send这两个按照上面说明放到指定位置,然后固件里面选择一下编译就可以了。
0_1482367365689_airkiss.c

目前通过增加一个UDP_send的程序包,解决了收到SSID和KEY之后将random的值通过UDP广播包发送出去。将UDP_send.rar解压放到openwrt_widora/package目录下,在menuconfig中找到Extra packages下将该包编译到固件中。改程序是从网上下载的一段程序修改的,地址为link text
对于/package/airkiss/src/airkiss.c文件也需要作出修改,该文件中我做出的修改现在用/My program/和/end/标识出来。具体看下代码,如果测试发现问题并解决的,欢迎分享。谢谢。
0_1482312459890_UDP_send.rar

0_1482312480698_airkiss.c

学习了. 非常感谢!