蓝牙配网:

顾名思义,通过蓝牙给WIFI配网,过程相对较为简单,首先设备上具有WIFI和蓝牙两种功能。然后通过手机的小程序或者APP连接产品蓝牙,连接之后发送WIFI连接所需要的SSID和PASSID。产品接收到蓝牙信息后,产品WIFI通过SSID和PASSID去进行WIFI的连接。

流程示意图:

WIFI自身配网:

此过程也比较简单,首先设置当前WIFI为AP+STA模式。然后通过手机的小程序或者APP连接上产品在AP模式下的WIFI。连接之后发送产品需要连接的WIFI的SSID和PASSID。产品接收到SSID和PASSID信息后,产品WIFI通过SSID和PASSID去进行WIFI的连接。

流程示意图:

SmartConfig一键配网:

1、手机的APP或者小程序先连接上一个现场的局域网网络也就是一个WIFI。

2、被配网的设备需要开启混杂模式。混杂模式又叫偷听模式,允许节点接收它能侦听到的所有数据包。

3、手机的APP或者小程序通过连接的局域网WIFI,进行UDP数据的广播或者组播进行一个循环发送,数据包里面包含了需要连接WIFI的SSID和PASSID。

4、被配网的设备通过 UDP 包(长度)获取配置信息捕捉到 需要连接WIFI的SSID和PASSID,最后连接路由器。(广播根据 UDP 包长度,组播根据 IP 地址信息)

流程示意图:

知识扩展:

1、TCP和UDP连接过程:

TCP编程的服务器端一般步骤是:
1、创建一个socket,用函数socket(); 
2、设置socket属性,用函数setsockopt(); * 可选 
3、绑定IP地址、端口等信息到socket上,用函数bind(); 
4、开启监听,用函数listen(); 
5、接收客户端上来的连接,用函数accept(); 
6、收发数据,用函数send()和recv(),或者read()和write(); 
7、关闭网络连接; 
8、关闭监听;

TCP编程的客户端一般步骤是: 
1、创建一个socket,用函数socket(); 
2、设置socket属性,用函数setsockopt();* 可选 
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选 
4、设置要连接的对方的IP地址和端口等属性; 
5、连接服务器,用函数connect(); 
6、收发数据,用函数send()和recv(),或者read()和write(); 
7、关闭网络连接;

UDP编程的服务器端一般步骤是: 
1、创建一个socket,用函数socket(); 
2、设置socket属性,用函数setsockopt();* 可选 
3、绑定IP地址、端口等信息到socket上,用函数bind(); 
4、循环接收数据,用函数recvfrom(); 
5、关闭网络连接;

UDP编程的客户端一般步骤是: 
1、创建一个socket,用函数socket(); 
2、设置socket属性,用函数setsockopt();* 可选 
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选 
4、设置对方的IP地址和端口等属性; 
5、发送数据,用函数sendto(); 
6、关闭网络连接;

2、单播、广播、组播

1、单播:单台主机与单台主机之间的通信;

2、广播:单台主机与网络中所有主机的通信;

3、组播(多播):单台主机与选定的一组主机的通信;

多播首先要知道的是只有UDP有多播,没有TCP多播。因为多播的重点是高效的把同一个包尽可能多的发送到不同的,甚至可能是未知的设备。但是TCP连接可能要求丢包重发或者延时或重组顺序,这些操作可能非常消耗资源,不适于许多使用多播的应用场景。(同时多播不知道发出的包是不是已经到达,这个也导致不能使用TCP)。

同样广播也是属于UDP,TCP属于端对端的通信,通信要求比较严格。

WIFI配网方案:1、蓝牙配网 2、WIFI自身配网 3、SmartConfig一键配网相关推荐

  1. 启明云端分享|ESP32-S3 Smartconfig一键配网

    物联网时代技术开始规模化服务于民众,方便快捷显得尤为重要,smartconfig一键配网便是一个典型案例. 智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wifi与路由器 ...

  2. ESP8266 SmartConfig一键配网

    ESP8266 SmartConfig一键配网   Wi-Fi 配网,指由外部向 Wi-Fi 设备提供 SSID 和密码(PSW),让 Wi-Fi 设备可以连接指定的热点或路由器,并加入后者所建立的 ...

  3. ESP8266开发之旅 网络篇⑧ SmartConfig——一键配网

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 共同学习成长QQ群 622368884,不喜勿 ...

  4. 智能硬件蓝牙配网方案概要

    智能硬件开发系列 Google Protobuf 实践使用开发 智能硬件蓝牙配网方案概要 JNI开发必学C++基础 JNI开发必学C++使用实践 Android Studio 4.0.+NDK项目开发 ...

  5. wifi一键配网smartconfig原理及应用

    版权声明:本文为博主原创文章,未经博主允许不得转载. http://blog.csdn.net/flyingcys/article/details/49283273 智能家居/家电现阶段还处于普及阶段 ...

  6. 物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介

    物联网的通信技术以及Wi-Fi.一键配网技术.BLE.GPRS(2G).LTE-Cat1 .NB-IoT简介 物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根 ...

  7. WIFI快连(一键配网)原理分析及优化建议

    一键配网说明 文章目录 一键配网说明 一键配网基本流程 说明 配网流程 EZ配网原理 组播 广播 EZ配网优缺点及优化建议 优点 缺点 优化建议 一键配网基本流程 说明 wifi快连也叫一键配网,也叫 ...

  8. 物联网ESP8266 WIFI SoftAP模式一键配网,开源源码,测试OK可以直接使用

    1.创作起因:网上找了很久,都没有关于ESP8266   WIFI通过softap方式配网开源例程,基本都是smartconfig  airkiss方式一键配网,这种方式受手机.路由器等兼容性影响,配 ...

  9. esp8266 wifi模组手机一键配网,配置一次,下次重启设备后不需再进行配网

    编写时间:2018年9月2日 #define  ATCMDLEN   20 extern uint8_t usart3RecvEndFlag; extern UART_HandleTypeDef hu ...

最新文章

  1. 学习 spring-boot (一)
  2. python 温度 符号_【火马】Python学习小记01
  3. Yii的 Yii::$app-end()
  4. 【拔刀吧少年】之循环三兄弟for while until
  5. 【完美解决】Could not process result for mapping: ResultMapping{property=‘null‘, column=‘xxx‘, javaType=
  6. qml与HTML数据交互,GitHub - toby20130333/QtQuickHtmlBridge: 基于QtQuick的C++,qml,Html三者的Bridge交互...
  7. WinCE下的GPIO中断的处理
  8. AD+DNS安装步骤详解
  9. 万字长文 | 淘宝 10年架构演进
  10. 23_触发器_库存与订单实战
  11. java分形树_java画分形树实例
  12. Canon EOS Utility安装和使用说明
  13. Echarts 模拟飞机飞行动态图
  14. 2021年全球及中国AMOLED行业发展现状、竞争格局及未来发展趋势分析,柔性AMOLED面板将占领市场「图」
  15. C语言编程题:平方数
  16. 如何一键下载或保存微博里面的短视频?
  17. canvas中手动绘制椭圆的方法
  18. Riverbed发布业界最全面的数字体验管理解决方案
  19. fx3u4ad一adp说明书_三菱FX3U-4AD-ADP用户手册FX3U-4AD-ADP模拟控制版本手册 - 广州凌控...
  20. 最好用的jpg转pdf软件

热门文章

  1. 生命是罐头,胆量是开罐器
  2. 数据结构之顺序表的删除、查找、遍历
  3. 向量空间模型原理(VSM)
  4. avr单片机流水灯程序c语言,AVR单片机学习C语言的流水灯验证
  5. LoopyCuts编译运行方法
  6. illustrator插件-拼版功能开发-一键拼版-js脚本开发-ai插件
  7. 【共阳极高辉度无频闪调光IC方案FP7125】耐压100V10A LED降压恒流PWM调光芯片 汽车大灯车灯照明/调光电源应用
  8. 10 计算并联电阻的阻值
  9. JavaWeb图书商城 网上书城
  10. 数理统计方差齐性检验Python实现