WIFI模块 和 AT指令再认识

这篇具有很好参考价值的文章主要介绍了WIFI模块 和 AT指令再认识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WIFI模块ESP-01S 和 对应的新调试助手

wifi模块at指令,智能路由器,单片机,c语言wifi模块at指令,智能路由器,单片机,c语言wifi模块at指令,智能路由器,单片机,c语言

 出场波特率是115200(注意,和之前的9600不同!),并且由于wifi模块也使用TTL协议,因此也需要通过CH340连接到电脑。

同时,需要用到新的调试助手(使用之前的也可以,但是这个更好,因为右侧有AT指令的提示)

wifi模块at指令,智能路由器,单片机,c语言

电脑使用AT命令控制WIFI模块

 注意!AT指令,控制类都要加回车,数据传输时不加回车!!!

 注意!AT指令,控制类都要加回车,数据传输时不加回车!!!

 注意!AT指令,控制类都要加回车,数据传输时不加回车!!!

(之前编写代码使得串口接收点灯open指令的时候就需要回车,不太合理。。。)

注意!以下的模块是按照顺序来的,也就是说如果就想完成其中的一个模块,则需要查看之前的设置有没有都执行,否则可能不成功!

初始化 AT+RST

👇注意要勾选“发送新行”!👇

wifi模块at指令,智能路由器,单片机,c语言

 改变波特率 AT+UART=9600,8,1,0,0

👇注意要勾选“发送新行”!👇

wifi模块at指令,智能路由器,单片机,c语言

 修改之后关闭串口,选择波特率9600,再次 AT+RST  初始化:

wifi模块at指令,智能路由器,单片机,c语言

 修改波特率成功!

入网设置

👇注意要勾选“发送新行”!👇

1. 设置工作模式 AT+CWMODE=3 //1是station(设备)模式;2是AP(路由)模式;3是双模

wifi模块at指令,智能路由器,单片机,c语言

2. 以设备模式接入家中的路由器配置 AT+CWJAP="BELL846","541E5FE2C1E5" //前者为WIFI名字,后者为WIFI密码

 wifi模块at指令,智能路由器,单片机,c语言

3.  查询IP地址 AT+CIFSR

wifi模块at指令,智能路由器,单片机,c语言 //APIP地址是作为路由器时的网关

且由于刚刚开启了双模,所以现在的WIFI模块即是设备也是路由器,因此,此时打开电子设备的WIFI,应该可以看到由WIFI模块作为路由器发出的网络信号:

wifi模块at指令,智能路由器,单片机,c语言

连接后查看IP地址:

wifi模块at指令,智能路由器,单片机,c语言

 证明的确是WIFI模块发出的WIFI !

连接到TCP server

WIFI模块的网络协议是TCP协议,所以除了串口,还可以通过TCP协议与WIFI通讯,打开”网络调试助手“,选择TCP server;选择自己电脑的IP地址;端口号选择8080:

wifi模块at指令,智能路由器,单片机,c语言

1. 连接到服务器 AT+CIPSTART="TCP","192.168.2.15",8880 //分别是协议类型,IP地址和端口号

wifi模块at指令,智能路由器,单片机,c语言

2. 发送数据 AT+CIPSEND=4 //设置即将发送的数据长度为4个字节 

wifi模块at指令,智能路由器,单片机,c语言

3. 看到 ' > ' 号之后,输入信息 MJMA,不带回车,所以要取消勾选”发送新行“!!如果超过4个字节,会显示Busy,并只发送四个字节:

 wifi模块at指令,智能路由器,单片机,c语言

4. 显示SEND OK之后,打开网络助手就可以看到发来的数据:

wifi模块at指令,智能路由器,单片机,c语言

可见,是16进制的,如果把网络助手的设置修改一下,取消勾选16进制:

wifi模块at指令,智能路由器,单片机,c语言

此时再发送一次:

 wifi模块at指令,智能路由器,单片机,c语言

此时就成功显示了(无视最前面的4个字节,是我发错了

透传

1. 进行入网设置

2. 连接到服务器 AT+CIPSTART="TCP","192.168.2.15",8880

3. 开启透传模式 AT+CIPMODE=1

wifi模块at指令,智能路由器,单片机,c语言

4. 发送数据 AT+CIPSEND

 wifi模块at指令,智能路由器,单片机,c语言

 5. 看到 ' > ' 号之后,和之前不同,勾不勾选”发送新行“都可以!,然后就可以发送数据,由于是透传模式,此时的数据不再收到字节限制!

wifi模块at指令,智能路由器,单片机,c语言

wifi模块at指令,智能路由器,单片机,c语言

 6. 退出透传模式:在透传数据过程中,只要识别到单独的一包数据”+++", 则退出透传模式

wifi模块at指令,智能路由器,单片机,c语言

有时候点一次发送可能没反应,那就点两次!

 👆以上,就是 电脑 通过 串口 ,使用 AT 指令指挥WIFI模块进行的各种操作。

接下来,我将尝试把 电脑 换成 单片机 ,通过对单片机串口的编程,实现同样的效果。

单片机白盒控制WIFI模块

白盒测试

通过代码的方式,可以让单片机不断发送AT指令的字符串,但是如何确定AT指令生效了呢? 观察之前电脑上的AT指令,再输入AT指令之后,都会得到类似“CONNECT“ 或 “OK” 之类的回复,所以,可以采用以下的连接方式,51单片机给WIFI模块发送指令,WIFI模块给PC的串口助手发送消息,从而可以在PC端的串口助手观察WIFI模块的响应:

wifi模块at指令,智能路由器,单片机,c语言

实物连接如下图:

wifi模块at指令,智能路由器,单片机,c语言

 在单片机内的代码编写如下:

#include "reg52.h"
#include "intrins.h" //这个库加了,delay函数里面的nop()才不会报错
#include <string.h>


//对于比较占用空间的字符串,为了防止报错,可以再最前面加一个“code”
char init[] = "AT+RST\r\n";
code char conn_wifi[] = "AT+CWJAP=\"BELL846\",\"541E5FE2C1E5\"\r\n"; //在"号前加上\是转义,使得"成为一个单纯的符号
code char conn_server[] = "AT+CIPSTART=\"TCP\",\"192.168.2.15\",8880\r\n";
char touchuan[] = "AT+CIPMODE=1\r\n";
char send[] = "AT+CIPSEND\r\n";
char quit[] = "+++\r\n";

void UartInit(void)		//9600bps@11.0592MHz
{
	PCON &= 0x7F;		//波特率不倍速
	SCON = 0x50;		//8位数据,可变波特率
	AUXR &= 0xBF;		//定时器1时钟为Fosc/12,即12T
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//清除定时器1模式位
	TMOD |= 0x20;		//设定定时器1为8位自动重装方式
	TL1 = 0xFD;		//设定定时初值
	TH1 = 0xFD;		//设定定时器重装值
	ET1 = 0;		//禁止定时器1中断
	TR1 = 1;		//启动定时器1
}

void printSTR(char *msg)
{
	while(*msg != '\0'){
		SBUF = *msg; //往发送缓冲器里写入数据,就完成了数据的发送
		while(TI == 0); //只有当TI为1时,才往下走,根据手册,TI只有在发送完8位数据后才会硬件自动置1
		TI = 0;
		msg++;
	}
	
}

void main()
{
	UartInit();
	D5 = 1;
	
	ES = 1;
	EA = 1; //打开中断!
	
	
	while(1){
		
		printSTR(init);
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		printSTR(conn_wifi); //连接到WIFI
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		printSTR(conn_server); //连接到服务器
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		printSTR(touchuan); //开启透传模式
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		printSTR(send); //准备发送数据	
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		Delay1000ms();
		
	}
}

之后,使用stc-isp助手将代码烧写进入单片机,并使用安信可串口助手观察结果:

wifi模块at指令,智能路由器,单片机,c语言

 可以看到,单片机的代码成功将AT指令给到了WIFI模块,此时再打开网络助手

wifi模块at指令,智能路由器,单片机,c语言

可以看到,由于开启了透传,单片机发送的数据在触发透传之后都会传入网络助手,因此从网络助手的视角来说,单片机还在不断传输AT命令,因此需要改进代码,使得单片机能知道,已经成功开启了透传,并停止发送AT指令,开始发送真正的数据。 

但是对于白盒测试来说,结果算是成功。

单片机黑盒控制WIFI模块点亮LED

在白盒测试成功后,可以将WIFI模块的TX插回单片机:

wifi模块at指令,智能路由器,单片机,c语言

此时,无法像白盒测试一样直观的了解连接进程,刚刚是由电脑上的串口助手来读取WIFI模块的信息,现在是由单片机来接收,所以可以在单片机的接收中断函数中对于 WIFI模块对AT指令的回复 和 点灯的指令 进行接收和识别,从而实现通过单片机来控制WIFI模块点灯!

同时,似乎无法像之前使用字符串比较的方式来捕获接收的字段,因为希望识别的应答字符串 有时候太长了,且增加cmd的字节数也很容易报错,总之就是空间会浪费过多。鉴于应答字符串就那么几条,比较单一,所以可以通过比较某几位的字符来确定是否接收到该字符串,从而大大提升效率。

#include "reg52.h"
#include "intrins.h" //这个库加了,delay函数里面的nop()才不会报错
#include <string.h>

sfr AUXR = 0x8E; //配置了这句话,才可以在UART的初始化里写AUXR寄存器,原因见STC89系列的手册
sbit D5 = P3^7;
sbit beep_go = P1^3;

static int i = 0; //此时这句命令只会被执行一次。避免每次发生中断i都会清0

char flag1;
char flag_ok = 0;
char flag_ready = 0;
char flag_wifi = 0;
char flag_fail = 0;

char cmd[12];
char open[12] = "open\r\n";//windows
char close[12] = "close\r\n";//windows
//char open[12] = "open\n";//ios
//char close[12] = "close\n";//ios


//对于比较占用空间的字符串,为了防止报错,可以再最前面加一个“code”
code char conn_wifi[] = "AT+CWJAP=\"BELL846\",\"541E5FE2C1E5\"\r\n"; //在"号前加上\是转义,使得"成为一个单纯的符号
code char conn_server[] = "AT+CIPSTART=\"TCP\",\"192.168.2.15\",8880\r\n"; 
char touchuan[] = "AT+CIPMODE=1\r\n";
char init[] = "AT+RST\r\n";
char send[] = "AT+CIPSEND\r\n";
char quit[] = "+++\r\n";



void Delay1000ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 8;
	j = 1;
	k = 243;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void Delay300ms()		//@11.0592MHz
{
	unsigned char i, j, k;
 
	_nop_();
	i = 3;
	j = 26;
	k = 223;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void beep()
{
	beep_go = 1;
	beep_go = 0;
  Delay300ms();
	beep_go = 1;
}


void UartInit(void)		//9600bps@11.0592MHz
{
	PCON &= 0x7F;		//波特率不倍速
	SCON = 0x50;		//8位数据,可变波特率
	AUXR &= 0xBF;		//定时器1时钟为Fosc/12,即12T
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//清除定时器1模式位
	TMOD |= 0x20;		//设定定时器1为8位自动重装方式
	TL1 = 0xFD;		//设定定时初值
	TH1 = 0xFD;		//设定定时器重装值
	ET1 = 0;		//禁止定时器1中断
	TR1 = 1;		//启动定时器1
}

void printSTR(char *msg)
{
	while(*msg != '\0'){
		SBUF = *msg; //往发送缓冲器里写入数据,就完成了数据的发送
		while(TI == 0); //只有当TI为1时,才往下走,根据手册,TI只有在发送完8位数据后才会硬件自动置1
		TI = 0;
		msg++;
	}
}


void ATreStart()
{
	printSTR(init);//初始化
	while(flag_ok == 0);
	flag_ok = 0;
	while(flag_ready == 0);
  flag_ready = 0;
  flag_fail = 0;
}

void ATinit()
{	
	printSTR(conn_wifi); //连接到WIFI
  //while(flag_wifi == 0);
	//flag_wifi = 0;
	while(flag_ok == 0);
	flag_ok = 0;

	
	printSTR(conn_server); //连接到服务器
	while(flag_ok == 0);
	flag_ok = 0;
	
	printSTR(touchuan); //开启透传模式
	while(flag_ok == 0);
	flag_ok = 0;
	
	printSTR(send); //准备发送数据	
	while(flag_ok == 0);
	flag_ok = 0;
	
	beep();//代表已经开启透传,可以发送数据了

}

void Dealstr()
{
		if(cmd[0] == 'D' && cmd[1] == 'P'){ //DP
			D5 = 0;//开灯
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[0] == 'D' && cmd[1] == 'C'){ //DC
			D5 = 1;//关灯
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[0] == 'O' && cmd[1] == 'K'){ //OK
			flag_ok = 1;
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[1] == 'e' && cmd[3] == 'd'){ //ready
			flag_ready = 1;
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[1] == 'I' && cmd[5] == 'G'){ //WIFI GOT IP, 注意这里第二个判断只能写5或更小的数字,因为下一个字母是O,i会直接清0
			flag_wifi = 1;
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[1] == 'A' && cmd[3] == 'L'){ //FAIL
			flag_fail = 1;
			beep();
			Delay1000ms();
			beep(); //滴滴两声提示错误
			
			memset(cmd,'\0',12); //将字符串清空
			ATreStart();
			ATinit();
		}
						
}
	
void main()
{
	UartInit();
	D5 = 1;
	
	ES = 1;
	EA = 1; //打开中断!
	
	Delay1000ms();//给WIFI模块上电时间
	ATinit();
	
	while(1){
		printSTR("mjm");
		Delay1000ms();
	}
}

void UARTinter() interrupt 4 //由于不管TI还是RI置1时,中断都会发生,所以为了逻辑严谨,可以在中断处理函数中添加判断
{
	if(RI == 1){ //如果是RI引起的中断
		char tmp;
		
		tmp = SBUF;
		
		if(tmp == 'r' || tmp == 'O' || tmp == 'W' || tmp == 'F' || tmp == 'D' || i == 12){ //ready, OK, WIFI GOT IP, FAIL, DP/C, 满了
			i = 0;
		}
		
		cmd[i] = tmp; //从SBUF里面读发来的数据
		i++;
		
		Dealstr();
		RI = 0;//软件复位
	
  }
	
}

运行结果:

wifi模块at指令,智能路由器,单片机,c语言

所以可以成功连接!此时在网络调试助手中输入"DP"或“DC”就可以控制LED灯了。

 wifi模块at指令,智能路由器,单片机,c语言wifi模块at指令,智能路由器,单片机,c语言

WIFI模块(esp-01s)作为服务器

先将WIFI模块单独接入电脑:

wifi模块at指令,智能路由器,单片机,c语言

1. 配置成双模 AT+CWMODE=3

 wifi模块at指令,智能路由器,单片机,c语言

2. 查网段 AT+CIFSR

wifi模块at指令,智能路由器,单片机,c语言 之前就做过这步,已经知道,这个WIFI就是AI_Thinker那个

3. 让电脑连接上WIFI模块作为路由的WIFI

wifi模块at指令,智能路由器,单片机,c语言

 4. 使能多连接 AT+CIPMUX=1 

wifi模块at指令,智能路由器,单片机,c语言

5. 建立TCPServer AT+CIPSERVER=1 //default port = 333

 wifi模块at指令,智能路由器,单片机,c语言

6. 打开网络调试助手,选择TCP Client 和对应的网络信息,并点击连接,可以在串口助手中看到连接信息

wifi模块at指令,智能路由器,单片机,c语言wifi模块at指令,智能路由器,单片机,c语言

7. 发送数据 AT+CIPSEND=0,8 //发送8个字节在连接0通道上 

wifi模块at指令,智能路由器,单片机,c语言

此时可以发送信息(不用加回车!)并在网络助手中收到!

wifi模块at指令,智能路由器,单片机,c语言wifi模块at指令,智能路由器,单片机,c语言 

8. 断开连接 AT+CIPCLOSE=0

wifi模块at指令,智能路由器,单片机,c语言

单片机黑盒控制使WIFI模式配置成服务器

和之前一样,目标是由单片机发送AT指令,然后使用单片机来接收WIFI的指令并识别!接线依然:

wifi模块at指令,智能路由器,单片机,c语言

#include "reg52.h"
#include "intrins.h" //这个库加了,delay函数里面的nop()才不会报错
#include <string.h>

sfr AUXR = 0x8E; //配置了这句话,才可以在UART的初始化里写AUXR寄存器,原因见STC89系列的手册
sbit D5 = P3^7;
sbit beep_go = P1^3;

static int i = 0; //此时这句命令只会被执行一次。避免每次发生中断i都会清0

char flag1;
char flag_ok = 0;
char flag_fail = 0;
char flag_con = 0;

char cmd[12];


code char mode[] = "AT+CWMODE=3\r\n";
code char mul_con[] = "AT+CIPMUX=1\r\n";
code char server[] = "AT+CIPSERVER=1\r\n";
code char send[] = "AT+CIPSEND=0,8\r\n";
code char end[] = "AT+CIPCLOSE=0\r\n";


void Delay1000ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 8;
	j = 1;
	k = 243;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void Delay300ms()		//@11.0592MHz
{
	unsigned char i, j, k;
 
	_nop_();
	i = 3;
	j = 26;
	k = 223;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}


void beep()
{
	beep_go = 1;
	beep_go = 0;
  Delay300ms();
	beep_go = 1;
}


void UartInit(void)		//9600bps@11.0592MHz
{
	PCON &= 0x7F;		//波特率不倍速
	SCON = 0x50;		//8位数据,可变波特率
	AUXR &= 0xBF;		//定时器1时钟为Fosc/12,即12T
	AUXR &= 0xFE;		//串口1选择定时器1为波特率发生器
	TMOD &= 0x0F;		//清除定时器1模式位
	TMOD |= 0x20;		//设定定时器1为8位自动重装方式
	TL1 = 0xFD;		//设定定时初值
	TH1 = 0xFD;		//设定定时器重装值
	ET1 = 0;		//禁止定时器1中断
	TR1 = 1;		//启动定时器1
}

void printSTR(char *msg)
{
	while(*msg != '\0'){
		SBUF = *msg; //往发送缓冲器里写入数据,就完成了数据的发送
		while(TI == 0); //只有当TI为1时,才往下走,根据手册,TI只有在发送完8位数据后才会硬件自动置1
		TI = 0;
		msg++;
	}
}



void ATinit()
{	
	printSTR(mode);
	while(flag_ok == 0);
	flag_ok = 0;
	
	printSTR(mul_con);
	while(flag_ok == 0);
	flag_ok = 0;
	
	printSTR(server);
	while(flag_con == 0);
	flag_con = 0;
	
	beep();

}

void Dealstr()
{
	  if(cmd[0] == ':' && cmd[1] == 'o' && cmd[2] == 'p'){ //open
			D5 = 0; //亮灯
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[0] == ':' && cmd[1] == 'c' && cmd[2] == 'l'){ //close
			D5 = 1; //灭灯
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[0] == '0' && cmd[2] == 'C'){ //0,CONNECTED
			flag_con = 1;
			memset(cmd,'\0',12); //将字符串清空
		}
		
		if(cmd[0] == 'O' && cmd[1] == 'K'){ //OK
			flag_ok = 1;
			memset(cmd,'\0',12); //将字符串清空
		}
						
}
	
void main()
{
	UartInit();
	D5 = 1;
	
	ES = 1;
	EA = 1; //打开中断!
	
	Delay1000ms();//给WIFI模块上电时间
	ATinit();
	
	while(1){
		printSTR(send);
		Delay1000ms();
		Delay1000ms();
		printSTR("mjmMJM12"); //8个字节
		Delay1000ms();
		Delay1000ms();
	}
}

void UARTinter() interrupt 4 //由于不管TI还是RI置1时,中断都会发生,所以为了逻辑严谨,可以在中断处理函数中添加判断
{
	if(RI == 1){ //如果是RI引起的中断
		char tmp;
		
		tmp = SBUF;
		
		if(tmp == 'O'|| tmp == '0' || i == 12 || tmp == ':'){ //OK, '0,CONNECTED', 满了, 指令
			i = 0;
		}
		
		cmd[i] = tmp; //从SBUF里面读发来的数据
		i++;
		
		Dealstr();
		RI = 0;//软件复位
	
  }
	
}

运行效果

在运行代码后,连接到AIthinker的WIFI, 打开网络助手 点击连接听到蜂鸣器BEEP一声,并在网络助手中不断收到字符串,并且如果输入open 或 close 可以成功进行点灯和灭灯

wifi模块at指令,智能路由器,单片机,c语言

wifi模块at指令,智能路由器,单片机,c语言文章来源地址https://www.toymoban.com/news/detail-756597.html

到了这里,关于WIFI模块 和 AT指令再认识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32CubeIDE开发(二十七), stm32的WIFI通信设计(基于AT指令)

    目录 一、stm32的WIFI配置 二、代码设计 三、编译及测试 四、关于WIFI模块的串口应用 一、stm32的WIFI配置         通常WIFI模块就是一个独立的单片机,只是内置了WFIF通信软件的单片机,并该通信软件提供了AT通信指令集给开发人员,基于这些指令集我们就可以针对项目需要

    2024年02月04日
    浏览(70)
  • WIFI模块的3种工作模式,15种子工作模式,AT命令的3种格式

    1. STA模式(Station模式):    STA模式是WIFI模块最常见的工作模式之一,它允许WIFI模块连接到一个现有的无线网络作为客户端。在STA模式下,WIFI模块可以接收来自其他设备或路由器的无线信号,并通过该无线网络访问Internet或其他网络资源。 2. AP模式(Access Point模式):  

    2024年02月13日
    浏览(32)
  • 认识 ESP8266—ESP-01S (含AT指令)

    了解完本文内容,可以去观看我的另一篇文章-----》 STM32—通过HC05配置ESP8266(ESP01s)获取时间和天气 ESP8266 是串口型 WIFI,速度比较低,不能用来传输图像或者视频这些大容量的数据,主要应用于数据量传输比较少的场合,比如温湿度信息,一些传感器的开关量等。 ESP8266 的

    2024年02月06日
    浏览(49)
  • 网络模块AT指令集

    一. 一般命令 1.AT+CGMI 给出模块厂商的标识。 2.AT+CGMM 获得模块标识。这个命令用来得到支持的频带(GSM 900,DCS 1800 或 PCS 1900)。当模块有多频带时,回应可能是不同频带的结合。 3.AT+CGMR 获得改订的软件版本。 4.AT+CGSN 获得GSM 模块的IMEI(国际移动设备标识)序列号。

    2023年04月10日
    浏览(38)
  • 蓝牙模块进入AT指令模式步骤

    关于蓝牙进入AT指令模式,不同的蓝牙模块要求不同,以下以HC06为例 首先是蓝牙将蓝牙上电,只是进入AT指令模式的话是不需要烧录代码的,直接上电就行。然后用CH340也就是TTL转USB模块,连接蓝牙模块对应的TX和RX引脚,即CH340的RX接蓝牙模块的TX,CH340的TX接蓝牙的RX。 (此处

    2024年02月16日
    浏览(35)
  • 4G模块 :EC20模块———AT指令收发短信

    EC20是一款4G LTE模块,由华为旗下的海思半导体公司生产。下面是EC20模块的一些主要特点和功能: 通信技术:EC20支持4G LTE网络,能够实现快速、稳定的无线通信。 频段支持:EC20支持多种频段,适用于全球范围内的不同市场和运营商要求。 数据速率:EC20支持Cat.4数据传输标准

    2024年02月06日
    浏览(42)
  • 路由器怎么设置wifi?路由器设置Wifi无线网络图解

    如今拉了宽带之后,都会购买无线路由器设置wifi,平板、手机也都能上网了。那么路由器怎么设置wifi?下面小编就为大家介绍路由器设置Wifi无线网络方法,一起来看看吧 ! 一、在电脑浏览器中,打开路由器设置管理界面的登录地址,然后输入账号登录路由器设置,进入管理界

    2024年02月07日
    浏览(55)
  • Hello WiFi路由器怎么设置?海尔Hello WiFi路由器设置使用教程

    海尔Hello WiFi路由器可能很多朋友都比较陌生,小编也是第一次使用海尔路由器,该路由器是去年底,海尔推出的首款家用路由器产品,具备外观小巧美观、信号强劲、稳定性好等特点,并内置了独家的近场免密码功能。废话不多说,今天为大家带来的是海尔Hello WiFi路由器设

    2024年02月07日
    浏览(42)
  • 蓝牙模块HC-05 AT指令使用以及两个蓝牙模块的配对

      蓝牙模块用的就 是某宝常见的蓝牙模块,首先要将蓝牙模块进入AT模式,按住蓝牙按键后再通电就会进入蓝牙的AT模式,进入AT模式后蓝牙led慢闪,然后就可以利用TTL或者J-Link与串口助手给模块发送AT指令了,AT指令有很多,这里我讲几个常用的就行。 初始波特率好像是384

    2024年02月03日
    浏览(71)
  • 优酷土豆wifi路由器怎么样?优酷土豆wifi路由器参数配置视频介绍

    优酷土豆wifi路由器怎么样?大家可以通过下文来了解优酷土豆wifi路由器配置方面的内容,优酷土豆要发力硬件领域咯~其中就包括wifi路由器产品,一起来了解一下吧。 优酷土豆Wi-Fi路由器将属于一个P2P网络,该网络可加快视频流媒体播放速度,同时还能减少优酷土豆的带宽用

    2024年02月07日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包