单片机——EC03-DNC4G通信模块初探

前言

  1. 先到这里下载相应的用户手册,https://www.ebyte.com/product-view-news.html?id=1102
  2. 下载花生壳软件,借助它,完成内网穿透
  3. 使用网络调试助手,设置一个TCP服务器

内网穿透

在花生壳软件中配置相应的网络即可

一些AT命令的使用

  1. 根据手册,设定串口调试助手的波特率是115200
  2. 不勾选发送新行向串口助手发送+++指令,然后3s内,勾选发送新行,发送任意AT指令,如AT+CPIN,进入AT指令模式
  3. 根据手册,通过AT+UART=9600 NONE配置成波特率9600
  4. AT+REBT 重启模块
  5. 等待初始化完毕后,再次进入AT模式
  6. AT+SOCK=TCPC,自己的公网IP地址(花生壳上面的映射IP地址),端口号
这里,可以通过开启两个网络调试助手,从而获得完整的公网IP地址:端口号
  1. AT+LINKSTA,返回+ok=Connect,则配置成功
  2. 重启模块完成后,模块自动进入透传模式

小技巧

为了确认模块是否连接上了服务器,可以利用心跳包。
AT+HEARTM=3,将心跳包发送时间间隔设定为3秒发送一次。
设置完毕后,记得重启

实例

模块插入到板子上面,通过网络来实现开关板子上面的LED灯。完成烧录后,通过网络调试助手,发送:op开灯,:cl关灯

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

sfr AUXR=0x8e;
sbit led1=P3^7;
sbit led2=P3^6;
char arr[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 UnitInit(){
	led1=0;
	AUXR=0x01;
	//设置定时器1定时,工作方式
	TMOD &=0xF0;
	TMOD |= 0x20;
	
	//设置串行通信方式
	SCON=0x50;
	
	//设置SMOD
	PCON=0x10;
	
	//设置定时常数
	TH1=0xFD;
	TL1=0xFD;
	//允许定时器T1计数
	TR1=1;
	//打开串口的中断
	ES=1;

	led1=1;
}
void main(){
	
	//开启所有中断
	EA=1;
	//串口初始化
	UnitInit();
	Delay1000ms();
	led2=0;

	while(1){
		Delay1000ms();

	}
}

//中断处理函数
void Unit_Handle() interrupt 4
{
	//接收  中断请求
	static int i=0;
	char tmp;
	if(RI){
		RI=0;//这一句一定一定要记得
		tmp = SBUF;
		
		if(tmp==':'){
			i=0;
		}
		arr[i++]=tmp;
		
		if(arr[0]==':'&& arr[1]=='o'&& arr[2]=='p'){
			led2 = 0;
			i=0;
			memset(arr,'\0',12);
		}
		if(arr[0]==':'&& arr[1]=='c'&& arr[2]=='l'){
			led2 = 1;
			i=0;
			memset(arr,'\0',12);
		}
		if(i == 12) i=0;
	}
	
	//发送  中断请求
	if(TI);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值