当前位置: 移动技术网 > 网络运营>服务器>Linux > 流浪宠物第六次任务

流浪宠物第六次任务

2020年08月12日  | 移动技术网网络运营  | 我要评论

AT指令串口准备

首先需要准备好esp8266和USB-TTL来进行AT指令的接收与传输。再在电脑上下载XCOM串口助手来进行AT指令的编写。下面分别是esp8266和usbttl。
在这里插入图片描述
在这里插入图片描述
然后将两个模块进行连线,分别是正负极对应,tx和rx相互交错连接。
在这里插入图片描述

完成后将usbttl端口连接在电脑上,打开xcom进行AT指令输入。
在这里插入图片描述

AT指令的输入

根据前几章学习的AT指令的知识,通过XCOM向esp8266输入AT指令也非常简单。只需要在单条发送的框内根据需求输入AT指令后点击发送即可。

AT指令实际应用案例

因笔记本供电问题原因,无法对esp8266进行实际操作,这里选用网上的一些已有案例进行转载解读。
案例:用手机控制Arduino上的LED灯
首先按照上面的接线方式完成usbttl和esp8266的连接,再讲usb插入电脑进行AT指令的传输。AT指令代码如下。

//设置WiFi应用模式为Station
AT+CWMODE=3
//连接到WiFi路由器,请将SSID替换为路由器名称,Password替换为路由器WiFi密码
AT+CWJAP="SSID","Password"
//连接单连模式
AT+CIPMUX=0
//设置为透传模式
AT+CIPMODE=1
//进入透传模式,并保存(进入后模块就一直为透传模式,需要退出则取消发送新行,发送+++,IP地址为远端设备地址,例:我用手机控制,那么我的手机在路由器WIFI上的IP地址为192.168.1.110
AT+SAVETRANSLINK=1,192.168.1.110,8080,”TCP”

完成以上AT指令代码的传输后,esp8266模块将自动变为透传模块。
透传模块:顾名思义就是透明传输模块,透明传输就是在传输过程中,对外界透明,即不管传输的业务如何,只将需要传送的业务传送到目的节点,而不对传输的业务进行处理。
之后是arduino代码编写。

int led_pin = 7;
 
//定义一个10字节的字符型数组变量ch
 
char ch[10];
 
void setup()
 
{
 
  pinMode(led_pin,OUTPUT);
 
  Serial.begin(115200);
 
}
 
void loop()
 
{     
 
  if (Serial.available())//检查是否至少有一个可用字符
 
  {
 
    for(int i=0;i<9;i++) //此时i只能取前9位,第10位是结束符\0
 
    {
 
        ch[i]= char(Serial.read());//读取串口数据
 
        delay(1);
 
    }   
 
    if(strncmp(ch,"on",2)==0)//判断ch前2个字符是否是on
 
    {
 
      digitalWrite(led_pin, HIGH);//点亮LED
 
      Serial.println("ON");//串口打印ON
 
    }
 
    else if(strncmp(ch,"off",3)==0) //判断ch前2个字符是否是off
 
    {
 
      digitalWrite(led_pin, LOW); //熄灭LED
 
      Serial.println("OFF");//串口打印OFF
 
    }
  }
}

编写完之后将代码传输到arduino uno板子上,再根据代码定义的条件进行模块连接。
连接时,电路如下图所示。
在这里插入图片描述
完成连接后,本案例的硬件部分即算完成。
最后是手机端部分,手机端需要下载网络调试助手。
在这里插入图片描述
并建立服务器来供esp8266连接。待esp8266根据ip连接成功后,即可对模块传输“on”与“off”来调节led的亮灭。

本文地址:https://blog.csdn.net/qq_45731619/article/details/107918153

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网