MSP430F149与ESP8266串口通信(上)

一、前言

       针对网上90%的例程都是针对51单片机(或者STM32)和ESP8266模块进行串口通信,故开此帖记录MSP430与ESP8266对接的过程,希望大家不要走弯路,及时实现自己所需要的功能。本帖分为MSP430F149与ESP8266串口通信(上)MSP430F149与ESP8266串口通信(中) MSP430F149与ESP8266串口通信(下)三部分,其中,在(上)部分主要介绍ESP8266的基本使用及利用"USB转串口工具"对ESP8266进行AT指令的操作;(中)部分主要介绍,MSP430F149与ESP8266进行对接的注意事项,主要讲解MSP430下发数据给ESP8266,并给出相应的电路原理图和代码,(下)部分作为补充的内容,主要讲解ESP8266通过手机网络助手发送数据给MSP430,并进行相应操作。

二、资源

       因为该部分仅仅告诉新手在拿到ESP8266之后,应该怎么先去玩转ESP8266,所以需要的硬件资源也就是下面几种。如果开发者对ESP8266操作指令比较熟悉,可以跳过该部分直接去阅读下一部分。

 1.WiFi模块:ESP8266-01(图1,图2);

 2.USB转串口工具(图3);

 3.PC端串口调试工具和手机端网络调试助手各一个(软件部分);

 4.杜邦线5条

MSP430F149与ESP8266串口通信(上)_第1张图片

MSP430F149与ESP8266串口通信(上)_第2张图片

 

MSP430F149与ESP8266串口通信(上)_第3张图片

三、ESP8266简单介绍

        ESP8266 系列模组是安信可(Ai-thinker)公司采用乐鑫ESP8266开发的一系列WiFi 模组模块。ESP8266系列的WiFi模块大致分为两种,一种是片上SOC,另一种就是普通的WiFi通信模块。这两种模块的性能和价格各有优劣。

        简单来说,集成了片上SOC的模块,能刷入Node-Mcu固件,也就是说,可以让ESP8266像Arduino一样操作硬件IO,而且让你能完全使用API接口进行开发,更要命的是,固件里边可操作的模块还很多,像GPIO操作、ADC操作、json处理、file文件创建管理、网络连接等等,当然价格也较普通模块贵。这里不涉及片上SOC系统的使用和讲解

        另一种则是普通的ESP8266,也就是咱们今天要介绍的“主角”。该类型模块出厂时会刷入AT固件,开发者需要通过串口使用AT指令跟ESP8266交互来控制8266。所以使用这种固件的时候还需要一个单片机通过串口跟8ESP266连接,这种使用方法,就单纯将ESP8266当做一个网络传输芯片,类似于GPRS模块、NB-IoT模块。

ESP8266的三种工作方式

  • AP模式(热点模式)
  • STA模式(基站模式)
  • AP和STA共存模式

       那么这几种模式是什么意思呢?其实就是,如果将ESP8266模块设置成AP模式之后,此时,ESP8266就可以当做一个热点(类似于咱们手机或者电脑开的热点一样,包括名字和密码,别人可以根据名称和密码加入进来),能搜索到该热点的手机和电脑也都可以加入,与ESP8266进行通信。

      STA模式又是什么?设置成STA模式(基站模式)的ESP8266模块可以搜索附近的热点,请求加入。假设现在你的手机开了名字叫做"MX5"密码是“123456789”的热点,在你设置ESP8266成STA模式后,并告诉ESP8266你开的热点名称和密码后,ESP8266就可以加入进来,与你的手机进行通信。

      说了这么半天,那么问题来了,如何对ESP8266进行模式设置,这是一个非常现实的问题。好在ESP8266模块厂商给了能够操作ESP8266的“一套语言”----AT指令集(不同的厂商指令集不一样,需要仔细阅读厂商提供的文档)。只要你遵循它的指令集设置规则,你就能让模块干自己想干的工作,实现自己的想法。敲黑板,划重点,使用AT指令对ESP8266进行设置。

四.AT指令设置ESP8266模式

       前期工作:将ESP8266-01模块与“串口转USB工具”连接好,连接电路图下图所示,多检查几次注意线是否接好。

       我们用了5条线进行连接,要注意,ESP8266的CH_PD引脚一定要接3.3V高电平,否则模块不能工作!

MSP430F149与ESP8266串口通信(上)_第4张图片

例1.模块在AP模式下做TCP Server,也就是ESP8266当做热点,并成为一个TCP Server让别人来加入

       在串口调试助手上依次输入以下AT指令,要注意选择发送新行(否则有可能发什么在串口工具上返回什么),串口波特率默认为115200, 当模块在AP模块下做TCP Server时,默认的IP 为 192.168.4.1, 端口可自己设定为 8899(默认为 333),通过手机网络调试助手设置ip地址和端口号,分别进行接收和发送数据,如下面几幅图所示。

AT                         //测试模块正常工作                  
AT+CWMODE=2                //设置AP模式
AT+CWSAP="ESP8266Test","13141516",11,0   //设置AP名称和密码,设置后在手机端可以搜到
AT+CIPMUX=1                //设置多连接
AT+CIPSERVER=1,8899        //设置端口号,这个端口号在手机网络调试助手上要用到。
AT+CIPSEND=0,10            //发送10个字节数据

 

MSP430F149与ESP8266串口通信(上)_第5张图片

MSP430F149与ESP8266串口通信(上)_第6张图片

例2.模块在STA模式下做TCP Server,也就是ESP8266加入你手机或者电脑开的热点

      假设我用手机开了一个热点名字叫做“MX5”,密码是“13141516”,那么这时我就可以用ESP8266加入我的热点。下面是需要的AT指令。这个例程与上一个例程最大的区别是需要自己查询ESP8266分配的IP地址,我们用到了“AT+CIFSR”指令,查到的IP地址是192.168.43.51,如下图所示。

AT
AT+CWMODE=3   //设置AP和STA共存模式
AT+CWLAP      //查看当前存在的热点
AT+CWJAP="MX5","13141516"  //加入我开的热点
AT+CIFSR                   //因为这个IP地址不固定,所以需要查看
AT+CIPMUX=1                //多连接
AT+CIPSERVER=1,8899        //设置端口号
AT+CIPSEND=0,10            //发送数据

MSP430F149与ESP8266串口通信(上)_第7张图片

MSP430F149与ESP8266串口通信(上)_第8张图片

 

MSP430F149与ESP8266串口通信(上)_第9张图片

MSP430F149与ESP8266串口通信(上)_第10张图片

       当我把热点打开时发现已经有一个设备加入了我的热点,之后用手机网络调试助手输入IP地址及端口号,进行数据收发测试。显示结果如图所示。

 

MSP430F149与ESP8266串口通信(上)_第11张图片

MSP430F149与ESP8266串口通信(上)_第12张图片

 

       至此,我们就完成了AT指令与手机的简单通信。但是,不要因为我们走的太远,而忘记了出发的路,因为我们的目标是实现单片机与ESP8266的通信!上面所用的电脑端安信可串口调试工具和手机端网络调试工具和我觉着有用的一些文档资料,我会上传至网络供大家下载。https://download.csdn.net/download/weixin_38329109/10759490

五.总结

       上面的帖子看起来似乎与MSP430和ESP8266对接没有扯上关系,但是这是下面对接的基础,我觉着对后面的部分学习有所帮助,只有前面的ESP8266部分玩的熟练了才能对其很好的应用。下面的帖子我将与大家一起学习MSP430和ESP8266对接。

你可能感兴趣的:(单片机&物联网)