物联网loT从业者物联网相关技术研究物联网IOT创意开发

微信wifi airkiss一键配网 Demo和关键点【iOS】

2019-05-18  本文已影响1人  片片碎

一.airKiss配网iOS Demo

二.实现图

3181558177193_.pic_hd.jpg
备注
* 图中的流程是根据我的项目画的整个交互,airKiss配网在第七步移动端接收到报文就结束了
* airkiss也只是设备端和手机端的交互,没有云端

三.重点知识

3.1.关于设备端--轮询信道的机制

3191558177256_.pic_hd.jpg
备注

3.2.关于手机端发送协议包--关于前导域

协议包前面有个前导域,设备端根据这个来锁定信道,判断这个信道正在进行airkiss配网
所以这个前导域的数量确定需要根据设备端的信道轮询间隔和手机端发送数据包的间隔来确定,
信道一共有1-14个,但是常用的一般就那么几个,网络环境也一般很少集齐14个信道,所以一般考虑8个信道足以,考虑到手机端和设备端不同步问题,所以考虑数量考虑多一些;
假设设备端的信道轮询间隔为50ms,手机端发送数据包的间隔为5ms(也就是发送完一个前导域至少需要20ms),那么发送50个前导域,需要1s,足够设备端轮询20个信道

3.3.关于手机端发送协议包次数或说超时

按照airKiss协议的纠错分析,最坏的情况下,最多需要5次就可以完成信息的发送,发送五次后纠错成功率99.999%,发送五次后再发送意义不大。
5次的时间 = 5(协议包间隔+数据量数据包间隔)
假设,协议包间隔:100ms,数据包间隔:5ms,数据量:835 (假设50个前导域,ssid:helloword pwd:csy10841054)
5次的时间 = 5(100+8355) = 21.375s
这样看超时时间30s足够,但是还要以下因素

综合这些考虑30s是不够的,所以建议可以设置60s。

3.4.关于airKiss协议

    * demo中有详细的注释

3.5.关于丢包和收不到包

关于丢包和收不到包,除了上面说的时间错开了,没有碰撞以及超时问题。还有一个重要的问题信道堵塞,造成数据包丢包不完整,解析不出来,所以这些间隔,需要错开,频率最好不要太高。

手机端参数如下:

超时时间 协议包间隔 数据包间隔
60000ms 100ms 5ms

设备端参数如下:

扫描信道间隔 回发数据给手机端间隔 回发数据给手机端次数
100ms 80ms 60
上一篇下一篇

猜你喜欢

热点阅读