STM32实战项目系列之智能家居篇(第五篇章)实战解析

#esp8266

一、WIFI介绍
        首先跟大家介绍一下WIFI技术,WIFI网络是一种无线通信网络,也称为:无线宽带,正常的WIFI工作范围在100m的距离,但是收到发射功率大小的影响以及环境的因素,一般情况下的室内定位范围为10m,室外为30m左右,此外,WIFI传输速率也是非常高的可达600Mb/S;        

        WIFI技术是一种使用电信号在无线电波上进行数据传输的技术,通过建立局域网,让各类设备(手机、电脑、平板等)以无线的方式连接,实现设备之间的无线传输。

        以上介绍这些就是偏学术语的定义,大家了解即可,相信每个人对于WIFI并不陌生,而今天我们要做的其实就是,如何利用WIFI模块进行数据的传输;
本处使用的是esp-01s。

当我们使用下载器(usb-ttl)和esp8266 01s连接时,将3.3v与下载器3.3v电源连接,GND和下载器GND连接,RX与下载器TX连接,TX与下载器RX连接,EN与下载器3.3v连接。此处我未使用下载器与之连接,我使用了学习板上的端口与之相连接。(如果要烧录固件的话将GPIO0接GND,调试的时候断开即可)。

AT指令

在使用USB转TTL模块与电脑连接之后,就可以使用串口调试助手进行WIFI模块的调试了。首先有一点,AT指令不区分大小写,均以回车、换行结尾(发送新行)。下面介绍常用的AT指令:

1、ESP8266的应用模式:ESP266支撑单AP模式、单STA模式和混合模式。简单的来说就是:

  • AP:可以将ESP8266作为热点,可以让其他的设备连接上它;
  • STA:可以连接上当前环境下的WIFI热点。
  • 2、什么是透传模式?

    如果不开启透传模式,我们怎么发送数据呢?在每次发送数据前都必须先发送指令AT+CIPSEND=<param>,例如:

    1. 第一步串口发送AT+CIPSEND=4

    2. 第二部串口接收到OK

    3. 第三步发送想要的数据 >       //在 > 后面输入要上传的数据

    但是一旦开启了透传模式,我们就不需要在每次发送数据前都发送指令AT+CIPSEND=<param>了,只需要发送一次AT+CIPSEND,之后发送的所有内容全部当成是数据了!

    但需要知道的是,一旦进入透传模式将无法对传输进行加密

    一般来说想要ESP8266连接当前环境的热点,与服务器建立TCP连接,传输数据有以下步骤。

    但其实还包含了诸多为了阻止或处理异常状态的代码。

    模块使用分为俩种情况,服务端和客服端,其中客户端最为常用

  • (一)作为服务端时
    1. 设置模式为AP模式:AT+CWMODE=2
    2. 重启模块:AT+RST
    3. AT+CWSAP=“wifi名称”,“wifi密码”,6,4 创建热点(“6”为通道号,“4”为加密等级)
    4. 查看模块的ip地址:命令: AT+CIFSR
    5. AT+CIPMUX=1 设置为多连接模式,启动模块
    6. AT+CIPSERVER=1,8080 服务器的设置端口(8080为默认端口,可根据自己意向设置)时
  • (二)作为客户端时
    1. AT+CWMODE=1:设置工作模式(STA模式)
    2. AT+RST:模块重启(生效工作模式)
    3. AT+CWJAP="111","11111111":连接当前环境的WIFI热点(热点名,密码)
    4. AT+CIPMUX=0:设置单路连接模式
    5. AT+CIPSTART="TCP","xxx.xxx.xxx.xxx",xxxx:建立TCP连接
    6. AT+CIPMODE=1:开启透传模式
    7. AT+CIPSEND:透传模式下,传输数据
    8. +++:退出透传模式

    下列提供本文参考esp8266下载固件的文章: 

     记录:esp8266-01/01s如何下载固件(下载教程)_esp8266固件下载-CSDN博客

    本文使用的模块作为客户端。

    本文选用透传模式(可以连续的发送数据)。特点:1、透传只能在单链模式下开启。2、当模块为服务端时,又因为必须开启多链模式,不符合第一条件,所以只能作为单链模式下的客户端。

    我先用手机的网络调试助手进行了一番操作,操作了几个小时后。。。没有ok,后进行pc端的操作,试了一下就ok了,在pc设置ip地址时候我们不能胡乱设置,根据控制面板中的网络ip号进行设置

    在所有准备完后会返回一个>,如下图所示:

    此时就可以接发数据,如下图所示:

    pc端对模块发送数据如下如图所示:

     

    作者:飞翔的w

    物联沃分享整理
    物联沃-IOTWORD物联网 » STM32实战项目系列之智能家居篇(第五篇章)实战解析

    发表回复