主机
u2_printf("AT+ROLE=1\r\n"); //设置主机模式
HAL_Delay(500);
u2_printf("AT+BONDNAME=slave_1\r\n"); //主机绑定从机蓝牙名字
HAL_Delay(500);
从机
u2_printf("AT+NAME=slave_1\r\n"); //从机设置蓝牙名字
HAL_Delay(500);
u2_printf("AT+ROLE=2\r\n"); //设置从机模式
HAL_Delay(500);
51
主机
Timer0Init();
Uart_Init(); //串口初始化
sprintf(ECB02_buf, "AT+ROLE=1\r\n"); //设置为主机
Uart_Sent_Str(ECB02_buf);
Delay_function(500);
sprintf(ECB02_buf, "AT+BONDNAME=slave_1\r\n"); //主机绑定从机名字
Uart_Sent_Str(ECB02_buf);
Delay_function(500);
if(flag_res == 1) //接收从机发送过来的数据
{
flag_res = 0;
if(Uart_buf[0] == 0xA1)
{
temp = Uart_buf[1]*10 + Uart_buf[2];
distance = Uart_buf[3]*10 + Uart_buf[4];
}
}
从机
Uart_Init(); //串口初始化
sprintf(ECB02_buf, "AT+FACTORY\r\n");
Uart_Sent_Str(ECB02_buf);
Delay_function(500);
sprintf(ECB02_buf, "AT+NAME=slave_1\r\n");
Uart_Sent_Str(ECB02_buf);
Delay_function(500);
sprintf(ECB02_buf, "AT+ROLE=2\r\n");
Uart_Sent_Str(ECB02_buf);
Delay_function(50); //延时50ms
temp = Ds18b20_read_temp(); //获取温度
distance = Hcsr04_GetDistance(temp/10); //获取距离
send_buf[0] = 0xA1;
send_buf[1] = temp/10; //解析温度百位
send_buf[2] = temp%10; //解析温度个位
send_buf[3] = distance/10; //解析距离个位
send_buf[4] = distance%10; //解析距离个位
Uart_Sent_Str(send_buf); //发送距离个位
1,从机设置蓝牙名字 这条命令仅从机模式有效
AT+NAME=slave_1
查询蓝牙名字 AT+NAME?
2,设置主从机模式
AT+ROLE=1 主机模式
AT+ROLE=2 从机模式
查询主从机模式 “AT+ROLE?\r\n”“+ROLE:Central\r\nOK\r\n” 或"+ROLE:Peripheral\r\nOK\r\n"
3,主机绑定从机蓝牙名字 这条命令仅主机模式有效
AT+BONDNAME=slave_1
注:设置绑定从机的蓝牙名字,长度 1-20 字节;这条命令仅主机模式有效。
查询主机绑定的从机名字 "AT+BOND?\r\n" “+BOND:\r\nOK\r\n” 或“+BOND:NAME,X\r\nOK\r\n” 或“+BOND:MAC,X\r\nOK\r\n”
设置主从机模式
“AT+ROLE=X\r\n”
“OK\r\n”
注:“AT+ROLE=2\r\n“,设置模块为从机;“AT+ROLE=1\r\n“,设置模块为主机。
“AT+ROLE=0\r\n“, 模块主从机模式通过 ROLE 引脚配置。 ECB02S1、ECB02S2、ECB02S3
默认通过 ROLE 引脚配置,其他型号默认是从机。模块只在上电初始化时检测 ROLE 引脚
电平。
查询主从机模式
“AT+ROLE?\r\n”
“+ROLE:Central\r\nOK\r\n”
或
"+ROLE:Peripheral\r\nOK\r\n"
注:Central 代表主机模式,Peripheral 代表从机模式。手机与智能硬件进行蓝牙连接,
手机为主机,智能硬件为从机。
查询蓝牙名字 这条命令仅从机模式有效
"AT+NAME?\r\n"
“+NAME:X\r\nOK\r\n”
设置蓝牙名字 这条命令仅从机模式有效
"AT+NAME=X\r\n"
“OK\r\n”
注:蓝牙名字最长 20 个字节。如果想设置中文的蓝牙名字,需要使用 URL 编码,一
个中文占用 3 个字节,例如修改蓝牙名字为“易加物联”,需要发送给模块的十六进制
数据为
41542B4E414D453D E69893 E58AA0 E789A9 E88194 0D0A
第一部分为 AT 命令的头部,中间四个部分为易加物联四个字,最后一部分是 AT 命令
的结尾。这条命令仅从机模式有效。
查询 MAC 地址
"AT+MAC?\r\n"
“+MAC:XXXXXXXXXXXX\r\nOK\r\n”
注:这条命令仅从机模式有效。
设置 MAC 地址
"AT+MAC=XXXXXXXXXXXX\r\n"
“OK\r\n”
注:这条命令仅从机模式有效。
查询从机绑定 这条命令仅主机模式有效
"AT+BOND?\r\n"
“+BOND:\r\nOK\r\n”
或
“+BOND:NAME,X\r\nOK\r\n”
或
“+BOND:MAC,X\r\nOK\r\n”
注:模块工作在主机模式,可以绑定从机的蓝牙名字或 MAC 地址,这样会使模块工
作在自动模式,上电后模块自动搜索周围的从机,直到搜索到绑定的从机,然后自动进
行蓝牙连接,如果蓝牙连接发生断开,模块会自动重新搜索,重新连接。无需再使用 AT
命令去手动操作。 “+BOND:\r\nOK\r\n”表示没有绑定从机,“+BOND:NAME,X\r\nOK\r\n”
表示绑定的是从机蓝牙名字,“+BOND:MAC,X\r\nOK\r\n”表示绑定的是从机 MAC 地址;默
认没有绑定任何从机;这条命令仅主机模式有效。
清除从机绑定 这条命令仅主机模式有效。
"AT+BONDC\r\n"
“OK\r\n”
注:清除主机所绑定的从机信息,模块恢复到手动模式;这条命令仅主机模式有效。
设置绑定从机蓝牙名字 这条命令仅主机模式有效。
"AT+BONDNAME=X\r\n"
“OK\r\n”
注:设置绑定从机的蓝牙名字,长度 1-20 字节;这条命令仅主机模式有效。
设置绑定从机 MAC 地址 这条命令仅主机模式有效。
"AT+BONDMAC=X\r\n"
“OK\r\n”
注:"AT+MAC=F1F2F3F4F5F6\r\n",设置绑定的从机 MAC 地址;这条命令仅主机模式
有效。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。