LTE Cat 1 STM32 4G ML302

从目前蜂窝物联网发展的态势看,LTE Cat 1承担4G物联网连接主力的时机已经开启。其中,Category 1作为最低版参数配置的用户终端等级,让业界能够低成本地设计“低配版”的4G终端,一般简称Cat 1。因此,发展Cat 1网络及相关产业,对于补齐物联网主要场景需求很有意义。不过,目前NB-IoT产业生态已准备就绪,若Cat 1目前能够发力,则确实是一个较好的机会来推动蜂窝物联网代际迁移。

GSMA未来网络专家曾多次在行业峰会上提醒业界:虽然5G备受关注,但直到2025年,4G依然占据最大份额。对于物联网来说,在未来几年中,4G不仅会承担蜂窝物联网连接很大的一个份额,也是运营商蜂窝物联网收入的主要来源。不过,4G物联网连接中也具有明显的结构性特征,其中LTE Cat 1是一个值得关注的分支。从目前蜂窝物联网发展的态势看,LTE Cat 1承担4G物联网连接主力的时机已经开启。

2G/3G退,4G贵,NB慢……那么,占物联网场景很大比例的“中低速”市场该用哪种技术连接呢?

答案显示,号称4G LTE网络“低配版”的Cat 1正在成为中低速物联网场景连接技术的新宠。

与此同时,随着更多模组厂商加入到Cat 1市场,尤其是价格更低的Cat 1模组的推出,将大大降低终端应用的开发成本,提升中低速率物联网场景的部署效率,Cat 1有望成为下一个燃爆物联网市场的技术选型。

按照高中低网络速率划分,蜂窝物联网连接分布大致是“136”的比例,10%“高速率”,30%“中速率”,60%“低速率”。

从承载这些不同物联网连接场景的技术来看,随着2G、3G的退网成为必然选择,基于4G/5G(NB-IoT+4G+5GNR)的物联网技术将担当起开启万物互联的大任。

具体而言,低速率方面,NB-IoT凭借广覆盖、低功耗、低成本、大连接等特点,将接过2G的班继续满足大规模的窄带低速率、不需要语音的场景需求;高速率方面,5G将承担起超大带宽、对时延极其敏感的高速率场景;而未来3G退网后,4G LTE是业界公认的将承载主要面向语音、中速率场景的技术。

LTE连接的物联网中速率场景可采用Cat 1和Cat 4支撑,但像公网对讲、共享经济、金融支付、可穿戴/追踪、智慧能源、工业控制等行业,他们需要一定速率(中低速即可,下行10Mbps以内,上行5Mbps以内)、满足一定高速移动需求、对时延敏感、支持语音、更注重低成本和低功耗。

对于这种对网络速率要求不那么高、但要求稳定可靠、并且低成本的LTE物联网络行业连接需求,如果采用上行最高50Mbps、下行最高150Mbps的Cat 4承载,巨大的带宽冗余就像用大炮打蚊子那样浪费;而且,目前主流Cat 4在功耗、价格方面很难满足上述这些对模组成本、使用功耗有较高要求的行业需求;而Cat 1兼顾性能(下行最高10Mbps,上行速率最高5Mbps)、功耗、成本(比Cat 4成本低近30%)、全面网络覆盖等优势,更适合这种具有特殊需求的中低速场景。

有人认为,Cat 1可能会走NB-IoT的老路——量未起,价已跌,一场价格战在所难免,Cat 1模组厂商的利润早晚还要贴地飞行,而运营商的补贴可能还在路上。而过早的进入价格战,有可能导致劣币驱逐良币等不利于产业健康可持续发展等问题。

当然也有局中人早就习以为常——因为物联网模组是一个规模化的行业,模组厂商只有形成庞大的规模才能降低和优化成本,才可能生存下来。而极具竞争力的价格也是生存和扩大规模的重要前提,因为从行业大势来看,Cat 1这个坑不得不占。

技术发展很快,很多产品面临升级、更新,工程师需要紧紧跟着技术发展步伐,否则会被淘汰。这里用STM32控制4G CAT1模块实现物联网产品无线接入,分享原理图、PCB

AT置零控制模块TCP流程如下

int main(void)
{
	int i,j;
	UART1_init();
	UART2_init();
	UART5_init();
	char * send_buf;
	char * send_com;
	send_com="AT+MIPSEND=1,10\r\n";
	send_buf="1234567890";
	LTE_state=GPRS_state_Poweroff;
	while (1)
	{
		if(reset_overtime>12000)
		{
			__set_FAULTMASK(1);      // 关闭所有中端
			NVIC_SystemReset();// 复位
		}
		if(U1_RX_flag==1)
		{
			U1_RX_flag=0;
			DTUSEND(LTE_recv_buf);
			memset(LTE_recv_buf,0,512);
		}
		switch (LTE_state)             
		{
			case GPRS_state_Poweroff :			
					LED_OPEN();
					LTE_POWER();
					LTE_KEY();
					LTE_state=GPRS_state_AT;
					AT_Timeslimite=0;
					AT_Delay_Timer=0;
					AT_overtime=0;	
					LED_CLOSE();
				break; 
			case GPRS_state_AT :
					LTE_ATTR(1,30,30,"AT\r\n","OK","OK","","","",GPRS_state_CPIN,GPRS_state_AT);
				break;
			case GPRS_state_CPIN :
					LTE_ATTR(1,3,100,"AT+CPIN?\r\n","+CPIN: READY","","+CPIN: NO SIM","","",GPRS_state_CFUN,GPRS_state_Poweroff);
				break;
			case GPRS_state_CFUN :
					LTE_ATTR(1,3,10,"AT+CFUN?\r\n","+CFUN: 1","","","","",GPRS_state_CEREG,GPRS_state_Poweroff);
				break;
			case GPRS_state_CEREG :
					LTE_ATTR(1,3,10,"AT+CEREG?\r\n","+CEREG: 0,1","+CEREG: 0,5","","","",GPRS_state_VERCTRL,GPRS_state_CEREG);
				break;
			case GPRS_state_VERCTRL :
					LTE_ATTR(1,3,10,"AT+VERCTRL=0,0\r\n","OK","","","","",GPRS_state_CSQ,GPRS_state_Poweroff);
				break;
			case GPRS_state_CSQ :
					LTE_ATTR(1,3,10,"AT+CSQ\r\n","+CSQ:","","","","",GPRS_state_CGDCONT,GPRS_state_Poweroff);
				break;
			case GPRS_state_CGDCONT :
					//LTE_ATTR(1,3,10,"AT+CGDCONT=1,\"IP\",\"CMIOT\"\r\n","OK","","","","",GPRS_state_CGACT,GPRS_state_Poweroff);
					LTE_ATTR(1,3,30,"AT+CGDCONT=1,\"IP\",\"UNIM2M.NJM2MAPN\"\r\n","OK","","","","",GPRS_state_CGATT,GPRS_state_Poweroff);
					//LTE_ATTR(1,3,30,"AT+CGDCONT=1,\"IP\",\"UNIM2M.GZM2MAPN\"\r\n","OK","","","","",GPRS_state_CGACT,GPRS_state_Poweroff);
					//LTE_ATTR(1,3,30,"AT+CGDCONT=1,\"IP\",\"unim2m.njm2mapn\"\r\n","OK","","","","",GPRS_state_CGATT,GPRS_state_Poweroff);		
					//LTE_ATTR(1,3,30,"AT+VERCTRL=0,1\r\n","OK","","","","",GPRS_state_CGACT,GPRS_state_Poweroff);
				break;
			case GPRS_state_CGATT :
					LTE_ATTR(1,3,1000,"AT+CGATT=1\r\n","OK","","+CME ERROR:","","",GPRS_state_CGACT,GPRS_state_Poweroff);
				break;
			
			case GPRS_state_CGACT :
					LTE_ATTR(1,1,3000,"AT+CGACT=1,1\r\n","+CGACT: 1,1","","+CME ERROR:","","",GPRS_state_MIPOPEN,GPRS_state_Poweroff);
					//LTE_ATTR(1,1,300,"AT+CGATT?\r\n","+CGACT: 1,1","","+CME ERROR:","","",GPRS_state_MIPOPEN,GPRS_state_Poweroff);
				break;
			case GPRS_state_MIPOPEN :
					LTE_ATTR(10,3,3000,"AT+MIPOPEN=1,\"TCP\",\"60.205.159.75\",52838,100,0,1,1,52838\r\n","CONNECT OK","","+CME ERROR:","","",GPRS_state_MIPSEND,GPRS_state_Poweroff);
				break;
			case GPRS_state_MIPSEND :
					if(U5_RX_flag==1)
					{
						unsigned int b;
						char a[20]={0};
						
						//memset(LTE_send_buf, 0, sizeof(LTE_send_buf));
//						strcpy(LTE_send_buf,"1234");
//						strcat(LTE_send_buf, "56");
//						strcat(LTE_send_buf, "78");
//						strcat(LTE_send_buf, "90");
//						strcat(LTE_send_buf, "12");
						b = strlen(LTE_send_buf);
						sprintf(a,"%d",b);
						
						memset(LTE_send_com, 0, sizeof(LTE_send_com));
						strcpy(LTE_send_com,"AT+MIPSEND=1,");
						strcat(LTE_send_com, a);
						strcat(LTE_send_com, "\r\n");
						
						LTE_ATTR(1,3,100,LTE_send_com,">",">","","","",GPRS_state_DATASEND,GPRS_state_Poweroff);
					}
				break;	
			case GPRS_state_DATASEND :
					LTE_ATTR(1,3,1000,LTE_send_buf,"SEND OK","","","","",GPRS_state_MIPSEND,GPRS_state_Poweroff);
					U5_RX_flag=0;
				break;	
			default:  
				break; 
		}
		
	}
}

猜你喜欢

转载自blog.csdn.net/gd1984812/article/details/106670051