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端对模块发送数据如下如图所示:

 

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值