资讯专栏INFORMATION COLUMN

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

Ocean / 2458人阅读

摘要:蓝牙配网顾名思义,通过蓝牙给配网,过程相对较为简单,首先设备上具有和蓝牙两种功能。产品接收到蓝牙信息后,产品通过和去进行的连接。被配网的设备需要开启混杂模式。同样广播也是属于,属于端对端的通信,通信要求比较严格。

蓝牙配网:

顾名思义,通过蓝牙给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属于端对端的通信,通信要求比较严格。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122508.html

相关文章

  • Android:涂鸦tuytaSDK实现逻辑

    摘要:开启扫描时需要设备处于配网状态一分类配网子设备可以通过使用手机蓝牙直接扫描获取设备到设备基础信息,再使用配网接口实现设备的本地配网。   (一)分类   (二)设备配置   (三)设备管理     设备管理,大体分为两类,mesh 和 其他     获取设备列表,给涂鸦sdk发送当前房间id...

    MorePainMoreGain 评论0 收藏0
  • 爆肝一周,用Python在物联网设备上写了个智能语音助手

    摘要:背景介绍智能语音助手作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解放双手,随时提供服务,无须借助任何按键。学完该案例让你对智能语音助手有一个全新的认识。快来打造你的智能语音助手吧 1. 背景介绍 智能语音助手作为物联网领域的一个重要生态成员,是一种全新的交互方式,它能够解...

    I_Am 评论0 收藏0
  • 巴法云 mixly 扩展库

    摘要:或者使选择云端导入,点击巴法云导入即可。二推送消息在软件中找到巴法云微信消息,在需要推送消息时,推送消息即可。 第一,安装扩展库 扩展库下载链接:点击下载 下载完成...

    dkzwm 评论0 收藏0
  • STM32CubeMX学习教程之硬件I2C读取光照度

    摘要:使用库读写环境光照度传感器本文将教大家如何快速使用库读取光照度数据。五实验样机测试展示通过之前配置好的面板,通过涂鸦智能进行配网实时采集光照度传感器的数据。 使用STM32 HAL库读写环境光照度传感器(BH1750) 本文将教大家如何快速使用STM32HAL库读取光照度数据。 实现功能:通...

    tinylcy 评论0 收藏0
  • 启明云端分享:小米智能手环主控的秘密

    摘要:年末,年即将走进尾声,忙碌了一年准备给家里人买一份礼物,这些天看了很多产品,最终选定了小米智能手环。 年末,2021年即将走进尾声,忙碌了一年准备给家里人买一份礼物...

    wpw 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<