为什么会有一键配置?
     对于IOT wifi 模块,基于成本和性能考虑,并没有类似手机一样有触摸屏交互接口,用户可以在手机看到ap 列表,点击输入密码,就可以连上网络,那怎么办? 一种办法就是AP配置,即wifi 处于AP 模式, 手机连接wifi 模块,通过TCP/UDP 通信将 将要连接路由器的SSID 和 密码发给wifi 模块,然后wifi 模块切换模式连接该路由器,与AP 模式对应的就是一键配置,一键配置是wifi 模块在混杂模式下(可以抓取空中所有的802.11帧), APP 通过UDP 广播或者组播通过一定的编码规则将SSID 和密码发给wifi模块,模块解析出来,然后连接路由器
首先 wifi 模块处于混杂模式,一种就是在13个信道,等时切换,如200ms 切换一下,轮询13个信道(一种是1,6,11 加大权重,大多数路由器会在1,6,11 不重叠信道,还有一种方式,先扫描所有路由器,看看那些信道有路由器,就在那些信道切换,具体切换信道时间,与wifi模块抓包性能有关),当wifi 在某一信道收到手机发的包(组播或广播),就锁定该信道,在该信道收包,解析出完整的数据
对于手机发出的组播,广播包,由于路由器的加密方式未知,所以对于802.11 数据帧的数据区数据,我们是无法得到具体数据的内容的,所以需要靠其他办法来发送数据,拿不到内容,但是是可以知道数据的长度(UDP 发出后,因加密方式的不同,报文长度就会有对应的偏移)
1) 组播发包:  组播地址范围为224.0.0.0 ~ 239.255.255.255   映射到MAC地址为:01:00:5e:xx:xx:xx (低23bit 直接映射),抓到802.11包后MAC 是可以拿到的,那么IP 也是可以知道的,这样的话,我们可以通过IP 地址将SSID  和 passwd 发送过去,通过解析mac 拿到SSID 和 PASSWD, 由于数据一次只能发送23bit,所以我们需要保证数据有序,23bit 里面需要包含index ,所以可以这样设计:01:00:5e:index(7bit),data[index]:data[index+1]
数组如何设计呢? 如:data[0] 为长度, data[1] 为校验,data[2]-data[n] 为具体数据,  APP 按顺序发包,wifi 可以无序收包解析,拿到SSID 和PASSWD
2)广播或单播发包: 可以利用的数据只有 数据的长度,如何利用长度将SSID 和PASSWD 发送给wifi模块呢?一次只能拿到一个长度(10bit),我们是一个序列,即每一个数据都应该都有一个固定的位置,怎么做呢,10bit, ASCII 7bit ,剩余3bit 并无法表示index,那么将byte 数组 bit 序列化,每次少发几bit的数据,  留足够的bit 为作为index,这样就可以拿到有序的数据了,具体实现就是算法的问题,不再细说
3) 对于以上两种配置方式,主要是用802.11 的数据帧,那么能否使用管理帧呢? 管理帧是不加密的,优势明显,明显是可以的,只是安卓手机限制太多,可以让路由器支持该模式,这里不细说(管理帧,可以好好利用,可以做很多工作)

物联网wifi模块一键配置相关推荐

  1. wifi协议_物联网网关智能家居工业4G路由器通用的物联网WiFi模块 MQTT/TCP协议 Linux嵌入式...

    物联网网关智能家居/工业4G路由器通用的物联网WiFi模块 MT7688 支持两种运作模式:IoT gateway 模式与 IoT device 模式. 在 IoT gateway 模式中,可透过 P ...

  2. Wifi SmartConfig 一键配置

    转自 Wifi SmartConfig 一键配置 struggle3g 0.712 2018.04.26 14:10:35 字数 6,824 阅读 17,232 引言 概念 SmartConfig又名 ...

  3. STM32--ESP8266物联网WIFI模块(贝壳物联)--温湿度数据上传服务器显示

    本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一.简介 随着移动物联网的发展,各场景下对于物联控制.数据上传.远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜 ...

  4. STM32--ESP8266物联网WIFI模块(贝壳物联)--远程无线控制点灯

    本文适用于STM32F103C8T6等MCU,其他MCU可以移植,完整资源见文末链接 一.简介 随着移动物联网的发展,各场景下对于物联控制.数据上传.远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜 ...

  5. 【Android开发—智能家居系列】(二):用手机对WIFI模块进行配置

    [Android开发-智能家居系列](二):用手机对WIFI模块进行配置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010924834/art ...

  6. 无线模块怎么上传服务器,物联网WiFi模块如何进行数据传输

    物物相连的互联网就是我们常说的物联网了,物联网架构可分为三层:感知层.网络层和应用层,主要涵盖了数据的采集.传输及分析应用.物联网应用都有一个共同点:收集数据并将其发送到服务器或其他系统中,在数据传输 ...

  7. WiFi模块如何配置-web篇(绝对通用好使)

    WiFi模块如何配置-web篇(绝对通用好使) 背景:当拿到一个新厂家的模块,几份说明书写的长篇一堆,对于菜鸟来说,可能不是那么不友好了.如何使用,配置适合自己的参数,详细做了笔记,分享给大家. 声明 ...

  8. Arduino--ESP8266物联网WIFI模块(贝壳物联)--数据上传服务器(单数据接口)

    一.简介 随着移动物联网的发展,各场景下对于物联控制.数据上传.远程控制的诉求也越来越多,基于此乐鑫科技推出了便宜好用性价比极高的wifi物联模块--ESP8266,话不多少我们先来看看这个神奇的模块 ...

  9. 物联网wifi模块几种ota升级方案对比总结

    在物联网开发中,OTA升级(firmware update Over The Air)是模组必备的功能,本文将以RTL8711.乐鑫8266 .庆科3186 wifi模块为例介绍几种的常见的ota方案 ...

最新文章

  1. 沈腾自比元宇宙DogKing,小扎变身「光头强」!Meta推出3D化身
  2. 39 n 39 是不是c语言常量,自考“高级语言程序设计”习题答案详解(39)
  3. html canvas text 居中,HTML5 Canvas Text文本居中实例
  4. python入门指南 许半仙 txt-小九 第7章(1/1)_新笔趣阁
  5. CLOSE_WAIT?项目上线之际遇到这样的烦心事
  6. Thymeleaf contextPath(无废话)
  7. 判断两个list集合里的对象某个属性值是否一样_第七章 集合框架
  8. 清华本硕男,月入5W征婚引群嘲“普通却自信”!本人回应了……
  9. JAVA day10、11、12 飞机大战
  10. Ctrl + R 后,悲剧咯、、、、
  11. Linux Centos 常用命令整理
  12. 惠普136nw打印机清零_HP惠普打印机清零大全
  13. 数据库学生管理系统课程设计
  14. CrossApp V1.0.2 正式推出,优化众多内容/更加稳定
  15. Android 深色模式适配
  16. html代码word,Web前端
  17. 目前最新《Thinkphp 5.0 仿百度糯米开发多商家电商平台》
  18. python显示gif图片报错_4种方法(plglet、tkinter、guizero、pygame)的GUI中显示gif
  19. Vagrant 入门 - 同步目录(synced folders)
  20. 微信小游戏申请注册流程+开发微信小游戏类目需要具备条件

热门文章

  1. 拆解小米4C: 依照小米4i刻出来的安卓小王子---ESM
  2. 宝塔反向代理设置方法-可实现伪免备案
  3. 直销将成为新世纪最大致富手段
  4. 微服务(项目原理和教程)
  5. ubuntu下交叉编译arm内核模块
  6. 燃气管网在线监测系统方案
  7. CommandTimeout
  8. 赵小楼:思考是迈向觉悟的阶梯(《遥远的救世主》)
  9. 双网卡设置-(有线网卡+无线网卡连接内外网)
  10. sql实现四舍五入保留两位小数,小数不足自动补0