ESP8266期间在CIPSEND期间选择特定频道

时间:2016-11-10 17:09:24

标签: ip wifi at-command esp8266

我一直在使用Esp8266 Wifi模块进行将数据连续记录到网页上的项目。到目前为止,我一直在使用以下代码来实现我的目标(因为我不想使用任何预先制作的库)。

AT
AT+CWMODE=3
AT+CWJAP="MY_SSID","MY_PASSKEY"
AT+CIPMUX=1
AT+CIPSERVER=1,80
AT+CIFSR
AT+CIPSEND=CHANNEL_NO,NO+OF_CHARACTERS_TO+BE_SENT
AT+CIPSEND=CHANNEL_NO,NO+OF_CHARACTERS_TO+BE_SENT
AT+CIPSEND=CHANNEL_NO,NO+OF_CHARACTERS_TO+BE_SENT
AT+CIPSEND=CHANNEL_NO,NO+OF_CHARACTERS_TO+BE_SENT
AT_CIPCLOSE=0

现在我不断将数据发送到网页上,并使用AT+CIPCLOSE关闭流程。现在,每次我需要输入静态IP以及从AT_CIFSR命令获得的端口号(在我的情况下为80)。执行该命令后,通道信息显示在串行终端上。根据该频道号,我必须更改AT+CIPSEND命令中的频道号参数。所以我的问题是我们可以将ESP配置为特定的频道号一次,然后连续发送数据而不必担心频道号???

2 个答案:

答案 0 :(得分:1)

我认为你指的是ESP的连接号码,而不是wifi频道号码。在gre_gor的评论之后,我不确定我是否完全理解网页的位置。 ESP8266最多可支持4个连接,因此您的服务器必须处理它们。如果您要回复来自远程主机的请求,则需要使用正确的连接号进行响应。 Here is an example python program显示如何从请求中获取连接号并在响应中使用它。

如果您确实要将数据发送到远程服务器上的网页,请尝试使用AT+CIPMUX=0而不是1来告诉它只有一个频道。发出后,您不再需要在AT + CIPSEND中指定频道编号,如AT+CIPSEND=NO+OF_CHARACTERS_TO+BE_SENT

答案 1 :(得分:0)

802.11b / g / n的AP通道用于在同一介质上创建多个通信设备并避免干扰。它不是客户端可配置的。您可以从AP设置更改它。

您只能在AP模式下设置特定频道,ESP8266可以为其他客户提供服务。