蓝牙模块HC-08+WIFI模块ESP-01S

蓝牙模块

又叫蓝牙串口模块。
串口透传技术:透传即透明传送,是指在数据的传输过程中,通过无线的方式使这组数据不发生任何形式的改变,仿佛传输过程是透明的一样,同时保证传输的质量,原封不动地道了最终接收者手里。
下载hc-08板子上二维码对应的HC蓝牙助手app,将hc08接入单片机(注意tx,rx反接),此时烧录以下代码:

#include "reg52.h"
#include <intrins.h>
#include <string.h>

#define SIZE 12
sfr AUXR = 0x8E;
sbit led = P3^7;

char cmd[12];

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 UartInit(void)		//9600bps@11.0592MHz
{
   
	SCON = 0x50;	//定义串口工作方式为方式1,8位UART
	//PCON初值为00x1 0000符合我们的要求,我们只需要SMOD=0不加倍即可
	AUXR = 0x01;
	TMOD &= 0x0F;
	TMOD |= 0x20;	//配置定时器1为8为自动重载定时器
	
	TL1 = 0xFD;
	TH1 = 0xFD;	//9600波特率初值
	
	TR1 = 1;	//打开中断
	
	EA = 1;	//开启总中断
	ES = 1;	//开启UART中断
}

void sendByte(char data_msg){
   
	SBUF = data_msg;
	//当8位数据没有传送结束时,卡在while循环中
	while(!TI);	//TI发送中断请求标志位,第8位数据传送结束时,硬件自动置1
	TI = 0;
}

void sendString(char* str){
   
	while(*str != '\0'){
   
		sendByte(*str++);
	}
}

void main()
{
   
	led = 1;
	//配置C51串口的通信方式
	UartInit();
	while(1){
   
		Delay1000ms();
		//往发送缓冲区写入数据,就完成数据的发送
		sendString("hello world\r\n");
	}
}

void Uart_Handler() interrupt 4
{
   
	static int i = 0;	//
	if(RI){
   	//中断处理函数中,对于接收中断的响应
		RI = 0;
		cmd[i] = SBUF;
		i++;
		if(i == SIZE) i=0;
		if(strstr(cmd,"en")){
   	//判断cmd中是否有“en”子串
			led = 0;
			i=0;
			memset(cmd,'\0',SIZE);
		}
		if(strstr(cmd,"se")){
   
			led = 1;
			i=0;
			memset(cmd,'\0',SIZE);
		}
	}
	if(TI);
}

打开手机app即可每隔一秒接收到一个hello world同时可以通过手机发送open或close开/关灯.
同时可以通过AT指令进行快乐的玩耍

WIFI模块

初始配置和验证

为了将来与单片机的波特率保持一致,将波特率修改为9600

AT+UART=9600,8,1,0,0

入网设置

1.设置工作模式

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

OK

2.以设备模式接入家中的路由器

AT+CWJAP="wifipig","66668888"
WIFI CONNECTED
WIFI GOT IP

OK

3.查询IP地址

AT+CIFSR
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"a6:cf:12:c1:ec:eb"
+CIFSR:STAIP,"192.168.31.46"
+CIFSR:STAMAC,"a4:cf:12:c1:ec:eb"

OK

4.连接服务器

AT+CIPSTART="TCP","192.168.31.152",8880
CONNECT

OK

5.发送数据

AT+CIPSEND=4	//设置即将发送的数据长度  4个字节
> 				//注意在发送数据的时候要取消勾选发送新行,在上传指令的时候要勾选发送新行
Recv 4 bytes

SEND OK

透传发送数据

基于上述连接服务器之后

AT+CIPMODE=1	//开启透传模式

OK

AT+CIPSEND

>				//即可肆意传输 当你不想传输了发送一个“+++”即可退出透传模式

将wifi模块接入单片机进行开发

首先我们将以下代码烧录至单片机中:

#include "reg52.h"
#include <intrins.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值