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