• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

[你买套件我买单]4G物联网+北斗定位

这个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();//喂狗

全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法