本帖最后由 风度翩翩qwe 于 2017-3-16 11:29 编辑
分享一下之前做过的基于GPS(北斗GPS二合一)的智能车辆定位系统,下面为大家说一下我的设计过程和经验,有什么问题欢迎大家指正批评。 实现功能:通过GPS/北斗二合一模块对车辆进行精确定位,并将车辆的位置信息利用GSM/GPRS传输到手机端或者PC端。可以传输车辆的经纬度,速度,时间等数据。并可以远程控制上报时间和上报频率,还可以将数据发送给多个手机端和PC端,实现对车辆位置的智能化管理。 设计流程及代码分享: 本次开发是以SK3提供的库函数和点对点功能为基础(有服务器的也可以使用点到服务器的功能),利用GSM模块将采集到的位置,速度,时间等信息传输到手机端。原来觉得GSM网络传输,GPS的数据获取很麻烦,就调用了SK3的库函数,感觉还是不错的。 设计硬件:SK3物联网开发套件,GPS(北斗GPS二合一)模块,GPS(北斗GPS二合一)天线 软件平台:KEILC,BBC软件
先用SK3配套的BBC软件(手机端PC端都可以)申请两个BBC账号,登陆手机或者PC端BBC将两个BB号互相加为好友,一个做发送用写在para0,para1发送BB号的密码,para2要接收数据的BB号,para3数据多长时间上报一次,para4和para5是开始工作的时间和结束工作的时间。 初始化系统参数,将一些数据写入EEPROM中,打开GSM模块电源,对GSM模块进行初始化,对点对点功能进行初始等。 下面是关键代码: 调用库函数获取当前系统时间,与之前设定的值进行比较,看是否在工作时间内,获取GPS位置很简单,只需要调用U8 GPS_Get_GPSInfo(U8 const *pdat, U8 *utctime, U8 *postion, U8 *speed, U8 *utcdate)就可以了,返回获取当前的 UTC 时间,经纬度信息,速度,UTC 日期。使用起来很方便。 之后调用INT8U P2P_SendData(INT8U *pBB, INT8U *pDstBB, INT16U stype, INT8U *pctx, INT16U pctx_len)将数据发送到接收BB号。 在PC或者手机端登陆接收BB号,发现有GPS的位置信息。点击查看SK3的位置。 还有就是通过短信或者GPRS远程修改上报时间,上报频率和工作时间的代码这部分代码就放到附件中了,全部的代码和库函数,SK3硬件原理图,BBC软件,大家可以在最后自行下载,有什么问题欢迎大家交流! 智能车辆定位系统程序及智能手机端软件: 相关程序库函数程序说明及硬件原理图:
|