51单片机学习——串口——4G模块

4G模块学习

1、模块介绍

2、建立TCP服务器

   2.1、打开电脑cmd串口,输入ipconfig查看ip

   2.2、打开网络调试助手进行服务器建立

3、建立TCP客服端,测试能否连山服务器(局域网连接)

4、由于4G模块是通过公网去连接我们服务器,而服务器是建立在局域网中的,所以这里我们需要进行内网穿透,将服务器的ip映射到公网(借助软件花生壳)。

   4.1、建立公网ip地址

   4.2、连接服务器

5、4G模块上电进行AT指令调试

   5.1、接线

  

5.2、通过串口助手配置4G模块(软件:安信可串口调试助手)

模块出厂默认波特率115200,并且模块上电不进入AT指令模式

   5.2.1、进入AT指令模式

   5.2.1、查看SIM卡信息,信号强度

   5.2.3、修改波特率为9600
   查看波特率:AT+UART   返回:+OK=115200,NONE   

NONE指没有奇偶校验位。

   更改波特率9600:AT+UART=9600,NONE  返回:+OK

改完波特率后需要重启模块:AT+REBT   返回:+OK

   5.2.4、更改心跳包

   查询心跳包数据:AT+HEARTINFO   返回:+OK=Smart-H

Smart-H为心跳包数据

设置心跳包内容为handsome:

 指令:AT+HEARTINFO=1,handsome    成功返回:+OK

更改心跳包时间

设置成3秒:AT+HEARTM=3    成功返回:+OK

5.3、4G模块连接服务器

连接成功后,服务器会收到来自模块的心跳包

6、4G模块控制LED

   通过TCP服务器给4G模块发送open字符串,实现控制开发板上灯的状态。

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

#define SIZE 12

sfr AUXR = 0x8E;
sbit D6  = P3^6;
sbit D5  = P3^7;

char buffer[SIZE];

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 UART_Init(void)		//9600bps@11.0592MHz
{
	AUXR  = 0x01;		//提升系统的电磁辐射
	PCON  = 0x00;		//波特率不加倍,SMOD=0
	SCON  = 0x50;		//方式1工作方式,允许串口接收(REN=1)
	
	TMOD &= 0x0F;		//定时器1模式置0,定时器0不变
	TMOD |= 0x20;		//定时器1模式:M1(1) M0(0),当溢出时TH1存放的值被系统自动装入TL1
	
	TH1   = 0xFD;		//9600波特率
	TL1		= 0xFD;
	TR1		= 1;			//打开定时器1
	
	ES 		= 1;			//打开串口中断
	EA		= 1;			//打开总中断
}

void main()
{
	Delay1000ms();										//延时1s,让单片机上电后稳定
	//配置c51串口的通信方式
	UART_Init();
	D5 = 1;
	D6 = 1;			//D6跟D5都是灭
	
	while(1);
}

void UART_Rountion() interrupt 4
{
	static int i = 0;				//static静态变量,只执行一次
	char temp;
	if(RI){
		RI = 0;								//接收中断请求标志位软件恢复
		temp = SBUF;					//读取缓存区的数据(接收)
		if( temp == 'o' || temp == 'c' ){
			i = 0;
		}
		buffer[i++] = temp;		//等于两行代码:buffer[i] = temp;  i++;  
		
		if( buffer[0] == 'o' && buffer[1] == 'p'){
			D6 = 0;
			i  = 0;
			memset(buffer,'\0',SIZE);			
		}
		if( buffer[0] == 'c' && buffer[1] == 'l'){
			D6 = 1;
			i  = 0;
			memset(buffer,'\0',SIZE);
		}
		
		if( i == SIZE ) i = 0;					//指向数组最后元素,重新初始化指向数组头
	}
	if(TI);
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
物联网技术是近年来飞速发展的一项技术,可以将各种物理设备和感知器件通过互联网进行连接和通信,实现智能化的数据传输和控制。在国赛单片机开发中,串口收发是一个重要的功能,而物联网技术的应用可以进一步提升其功能和便利性。 物联网技术可以将国赛单片机开发中的串口收发功能与云平台相连接,实现远程控制和监测。通过在云平台上搭建服务器和数据库,可以实时监测和采集国赛单片机的传感器数据,并将其传输到服务器上进行存储和分析。同时,可以通过云平台向单片机下发控制指令,实现对单片机硬件的远程控制。 此外,物联网技术还可以实现多个国赛单片机之间的通信和协同工作。通过互联网的连接,可以将多个单片机通过串口进行数据的传输和接收,实现多个设备之间的数据共享和协同操作。这样一来,在国赛单片机开发中可以实现更复杂和多功能的应用,提高整体系统的性能和效率。 同时,物联网技术还可以通过手机应用与国赛单片机进行无线连接和控制。通过手机应用,可以设置单片机的参数、控制执行器、查看传感器数据等,实现对单片机的远程控制和监测。这样,不仅可以方便用户进行操作和管理,还可以提供更加智能化和便捷的使用体验。 综上所述,物联网技术的应用能够将国赛单片机开发中的串口收发功能与互联网相连接,实现远程控制和监测,实现多个单片机之间的通信和协同工作,以及通过手机应用进行无线控制,提高国赛单片机开发的功能和便利性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值