顾名思义,蓝牙分发网络比较简单。第一,设备有两个功能:蓝牙和蓝牙。产品收到蓝牙信息后,会通过和连接到。待分配的设备需要开启混杂模式。同样,广播也属于端到端的通信,通信要求相对严格。
蓝牙网络分发:顾名思义,通过蓝牙分发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包(length)获取配置信息,捕获需要连接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、发送数据,使用函数send to();6.关闭网络连接;
2.单播、广播和多播1。单播:单个主机和单个主机之间的通信;
2.广播:网络中单个主机与所有主机之间的通信;
3.多播:单个主机和一组选定主机之间的通信;
关于组播首先要知道的是只有UDP有组播,没有TCP组播。因为组播的重点是尽可能高效地将同一个包发送给不同的甚至未知的设备。然而,TCP连接可能需要丢包重传、延迟或重新排序,这可能非常消耗资源,并且不适合许多使用多播的应用场景。同时组播并不知道发送的包是否已经到达,这也使得TCP无法使用。
同样,广播属于UDP,TCP属于端到端通信,通信要求比较严格。
评论前必须登录!
注册