Wifi——STA模式简介(透传例程)

举报
i小龙 发表于 2018/12/30 18:20:02 2018/12/30
【摘要】 【摘要】 ESP8266模块STA模式例程解析。

0. 本文参考例程:野火物联

例程和APP 只支持手机跟WIFI 模块通信,是属于局域网的点对点通信,没有实现公网通信功能。

1. Wifi模块ESP8266简介

ESP8266 是串口型WIFI,速度比较低,不能用来传输图像或者视频这些大容量的数据,主要应用于数据量传输比较少的场合,比如温湿度信息,一些传感器的开关量等。

ESP8266与单片机串口连接。一方面单片机可以通过串口发送AT命令给ESP8266,ESP8266会返回给单片机一个返回值;另一方面,当手机与ESP8266连接后,APP通过Wifi发送命令给ESP8266模块,ESP8266接收并通过串口将命令发送至单片机。

2. Wifi的两种模式

AP模式: Access Point,提供无线接入服务,允许其它无线设备接入,提供数据访问,一般的无线路由/网桥工作在该模式下。AP和AP之间允许相互连接。

Sta模式: Station, 类似于无线终端,sta本身并不接受无线的接入,它可以连接到AP,一般无线网卡即工作在该模式。

3. 例程分析

例程中的main()函数首先对各个硬件进行初始化,包括串口,系统时钟,ESP8266连接引脚,以及温度传感器等硬件设备。其中ESP8266模块的初始化函数ESP8266_Init()函数初始化了所有与ESP8266模块相连引脚的初始化,包括:uart_tx,uart_rx,使能引脚CH,复位引脚RST。

然后,进入函数体ESP8266_ApTcpClient_UnvarnishTest()中,并在其中无限循环,大致工作如下:

  • macESP8266_CH_ENABLE();

    使能ESP8266模块。

  • ESP8266_AT_Test ();

    发送AT命令测试ESP8266模块是否正常。

  • ESP8266_Net_Mode_Choose ( STA );

    设置模块为STA模式。

  • ESP8266_JoinAP ( macUser_ESP8266_ApSsid, macUser_ESP8266_ApPwd );

    设置模块连接外部WiFi的名字和密码。

  • ESP8266_Enable_MultipleId ( DISABLE );

    禁能多连接模式。

  • ESP8266_Link_Server ( enumTCP, macUser_ESP8266_TcpServer_IP, macUser_ESP8266_TcpServer_Port, Single_ID_0 );

    建立TCP连接,参数为需要连接设备的IP和端口。

  • ESP8266_UnvarnishSend ();

    设置模块为透传模式。

  • while(1){...};

    上面单片机通过发送AT命令将ESP8266设置完毕后,进入循环的主体,向目标的IP和端口发送温度湿度信息,可在上位机中的网络助手中读取,并在每次循环检测连接状态。代码的具体解释如下:


while(1)
{
    获取温湿度信息;
    发送温湿度信息到网络调试助手;
    if(连接断开)
    {
        退出透传模式;
        重新进行连接;
        if(确认失去连接)
        {
            重新加入;
            重新建立连接;
        }
        进入透传模式;
    }
}



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。