這個(gè)4G模塊是多功能于一體的,EC200U是移遠(yuǎn)通信最新推出的LTECat.1無線通信模塊。該模塊是支持北斗定位功能的,因此有。北斗系統(tǒng)具備導(dǎo)航定位授時(shí)和通信數(shù)傳等強(qiáng)大功能,可向全球用戶提供定位導(dǎo)航授時(shí)、全球短報(bào)文通信、區(qū)域短報(bào)文通信、國際搜救、星基增強(qiáng)、地基增強(qiáng)。
GNSS模塊模塊功能:對(duì)L76KGPS型號(hào)進(jìn)行數(shù)據(jù)獲取,可以得到模塊定位是否成功,定位的經(jīng)緯度數(shù)據(jù),UTC授時(shí)時(shí)間,獲取GPS模塊的定位模式,獲取GPS模塊定位使用衛(wèi)星數(shù)量,獲取GPS模塊定位可見衛(wèi)星數(shù)量,獲取定位方位角,GPS模塊對(duì)地速度,模塊定位大地高等數(shù)據(jù)信息。目前,該模塊提供的功能接口,所獲取的數(shù)據(jù)都來源于從串口讀出的原始GNSS數(shù)據(jù)包中的GNGGA、GNRMC和GPGSV語句。
GNSS 功能初始化
import quecgnss
quecgnss.init()
'''
功能
模組內(nèi)置GNSS模塊功能的初始化。
參數(shù)
無
返回值
成功返回整形0,失敗返回整形-1。
'''
GNSS 工作狀態(tài)獲取
quecgnss.get_state()
'''
功能
獲取GNSS模塊當(dāng)前工作狀態(tài)
參數(shù)
無
返回值
0 GNSS模塊處于關(guān)閉狀態(tài)
1 GNSS模塊固件升級(jí)中
2 GNSS模塊定位中,這種模式下即可開始讀取GNSS定位數(shù)據(jù),
定位數(shù)據(jù)是否有效需要用戶獲取到定位數(shù)據(jù)后,
解析對(duì)應(yīng)語句來判斷,
比如判斷GNRMC語句的status是 A 還是 V,
A 表示定位有效,V 表示定位無效。
'''
GNSS開關(guān)
quecgnss.gnssEnable(opt)
'''
功能
開啟或者關(guān)閉GNSS模塊。如果是上電后第一次使用內(nèi)置GNSS功能,
一般不需要調(diào)用該接口來開啟GNSS功能,直接調(diào)用init()接口即可,init()
接口在初始化時(shí)會(huì)自動(dòng)開啟GNSS功能。
參數(shù)
opt
0 - 關(guān)閉GNSS功能
1 - 開啟GNSS功能
'''
GNSS定位數(shù)據(jù)獲取
quecgnss.read(size)
'''
功能
讀取GNSS定位數(shù)據(jù)。
參數(shù)
size 指定讀取數(shù)據(jù)的大小,單位字節(jié)。
返回值
成功返回一個(gè)元組,失敗返回整形-1。元組形式如下:
(size, data)
size - 實(shí)際讀取數(shù)據(jù)的大小
data - GNSS定位數(shù)據(jù)
'''
定位的調(diào)試工具
主函數(shù)簡(jiǎn)單介紹
if(buf_uart1.index>0)
{
//等待數(shù)據(jù)全部過來
delay_ms(300);
printf("=====Send PC Data=====\r\n"); //標(biāo)識(shí) PC 發(fā)送過來的數(shù)據(jù)
CSTX_4G_Senddata(buf_uart1.index,(uint8_t *)buf_uart1.buf); //發(fā)送串口1的數(shù)據(jù)到服務(wù)器
delay_ms(300); //發(fā)送完畢再進(jìn)行清空
Clear_Buffer_UART1(); //清空串口1
LED1=!LED1; //第一個(gè)燈閃爍
}
//////////////////////下面是溫濕度的讀取///////////////////////////////////////
DHT11_Read_TempAndHumidity(); //讀取溫濕度
printf("DHT11 溫度:%d 濕度:%d \r\n",DHT11_Data.temp_int,DHT11_Data.humi_int); //打印溫濕度
memset(temp_disp,0,128); //清空需要裝載的數(shù)組
sprintf(temp_disp,"temp:%d,humi:%d",DHT11_Data.temp_int,DHT11_Data.humi_int); //溫濕度打印到數(shù)組
Gui_DrawFont_GBK16(0,70,RED,WHITE, (u8*)temp_disp); //溫濕度顯示到液晶屏
memset(temp_disp,0,128); //清空需要裝載的數(shù)組
sprintf(temp_disp,"temperature:%d.0#",DHT11_Data.temp_int); //溫濕度打印到數(shù)組
CSTX_4G_Senddata(strlen((const char *)temp_disp),(uint8_t *)temp_disp);//發(fā)數(shù)據(jù)
////////////////////發(fā)送心跳數(shù)據(jù)///////////////////////////////////////////////
//CSTX_4G_Senddata(13,"www.csgsm.com");//發(fā)數(shù)據(jù)
Get_GPS_LOC();
delay_ms(1000);
LED2=!LED2;
gpsStr=Get_GPS_RMC(); //獲取GPRMC數(shù)據(jù)
CSTX_4G_Senddata(strlen((const char *)gpsStr),(uint8_t *)gpsStr);//發(fā)數(shù)據(jù)GPRMC到服務(wù)器顯示
CSTX_4G_RECTCPData();//收數(shù)據(jù),接收服務(wù)器下發(fā)的數(shù)據(jù)并打印到串口1進(jìn)行顯示
IWDG_Feed();//喂狗