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; 
		}
		
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章