开发快智能硬件开发
直播中

王鸿

8年用户 740经验值
擅长:电源/新能源 嵌入式技术 光电显示
私信 关注
[经验]

【M304I开发板试用体验】开发快导航系统制作

本帖最后由 超级开发板 于 2017-6-27 10:31 编辑

开发快M304I具备高精度的北斗定位系统,非常适合制作导航系统
前面,我们已经做好了开发板端的程序,今天,我们来进行APP端的程序编写,

现在我们仅仅是来介绍如何从技术层面做一个用着舒适的导航系统,

由于我们并不可能造个卫星去拍地球表面,航拍跟实地测绘也比较费事

出于学习交流之用,地图我们可以用这些测绘好的,比如推荐这个:http://lbs.tianditu.com/api-new/home.html

这个API还是不错的,很适合学习交流之用

然后,我们只要把界面做起来用着舒适就可以了,然后API挂上去最多就一点点代码,

首先,我们做APP的进入画面,我们可以找个喜欢的图做一下
先来想象一下,既然是北斗系统,什么样的图比较震撼,会有视觉效果

每个人的审美观不同,但大致一样,北斗系统,人们对浩瀚星空般技术的追求


要拍张星空还有挑个尘埃少的时段,在乡下或山头的高处,用专业的设备进行拍摄,如果您有最好,没有的话,百度一下“星空”,现在仅仅是学习交流之用,随便挑张喜欢的,要其他用的话还是搞套设备来拍一张吧。

sshot-103.jpg

然后挑张喜欢的,感觉这张有莫名的雄伟感就这张吧
kfkmain.jpg

然后下载一个PS,精简版的就够用了,12.13M左右

sshot-104.jpg


然后开进去

sshot-105.jpg


由于现在是基于开发快M304I开发,为了看上去漂亮,然后再从开发快论坛蹭个开发快的LOGO来,右键另存为

sshot-106.jpg


然后导入进来

sshot-107.jpg

看到透明背景,已经弄好不用抠图了,开发快的东西用起来就是方便,能加快开发速度,尽量节省开发周期

然后把LOGO放至星空即可,
sshot-108.jpg

然后自由变换一下,放到喜欢的位置,PS是图层化的,这样移起来比windows自带的画图方便一些,只是最后要拼合下图层
sshot-109.jpg

然后依据喜好加些字,比如加个北斗定位的字,或者加你们喜欢的内容
sshot-110.jpg

然后字体可以选喜欢的,ttf字库下载后放到windows下的font,或快捷方式放进去也可
sshot-111.jpg

然后感觉字不明显看不出,可以正片叠底、投影、外发光这些
sshot-112.jpg

然后LOGO也可以突出一下,要有重点,而且重点要突出

sshot-113.jpg

然后多勾几个就突出了,边上的留白就不抠了,大致就是这个方法,意思一下,知道这样子不是很好看,留白用蒙版魔棒这些,更多突出方式及细节处理方法可以找我三四年前发的数码绘文法中文版教程,处理这种东西用鼠标就好、不用数位板,不知道百度快照还有没有那堆帖子
sshot-114.jpg

全部都搞好后,拼合一下图层
sshot-117.jpg

然后保存成png,方便程序调用
sshot-118.jpg

然后用windows自带的画图打开,调成1024*768
sshot-119.jpg

如果要在古董级单片机显示就取模软件取一下模,如果比较先进的开发板,随便哪个格式差不多都可以,一般png或bmp,我这儿按jpg,这样省存储内存。


然后boot里加一句图像解析的,图像解析再挂到这张图上,或图像解析命令后面-杠到这个文件路径

然后是内部软件调用,

由于开发快的源码大多是开源的,这为开发带来了极大的便利,

从源码中把取GPS信号跟换算坐标位置的代码复制过来,新建一个wz.c跟相应的头文件,贴进去,部分指令调用如果不一样,移植一下,然后保存,头文件里面把这个给加进去,makefile里也加进去

然后建一个main.c然后做个屏幕自动适配直接搞到这个里面,再搞几个按钮的代码,然后里面的指向改一下,这儿简单些,就一个定位,一个导航到,一个退出,连停止都不做

定位直接跳转到GPS代码,然后view.c -att 拟合一下画面,自动500:1缩放,这样就有跳转定位的感觉了,然后中间如果想显示个小车或是一个半径悬浮框,可以从百度地图等软件取那png,也可做一个,然后代码里价格混合显示叠加,就是中间那些像素的蓝色值加一些,或者直接用坐标让它们自动叠加,不过这算法些许损效,我这儿不加这玩意,画面中心肉眼看。
sshot-120.jpg
然后地图由于是测试的,没加拖拽地图代码,定位后,地图动不了,导航按钮按后戳屏幕内任意点,它会算起来导过去,本文末附件是测试用的,算起来的路径只能看看,没考虑单行道等其他规则,只是简单导航算法测试,如需高等算法,请自行添加,欢迎发到这儿交流讨论。
sshot-123.jpg

现在例程是WINCE平台下的,显示中文还要加代码,英文的起始终点也显示不出,把字做成png图像可以,还有导航线的颜色在dh.c里的R106_color=#003F01可以任意改

按钮的范围在main里,没做按钮图像,要加的话在还要先做个浮层显示,不然画面一动按钮就没,把按钮区域的坐标记下,然后这个范围随便贴个图像即可,白的一块,蓝的一块均可,不贴也没事,不影响按,按这个位置还是有这个功能,右上角退出,左上角定位,右下角导航。

编译好的程序放下面了,直接WINCE点进去即可,只有一小段位置的地图,超出这个范围在画面左上角显示坐标,软件很小很精简,只有39K左右,最大程度压缩后11K:

kfk_dh.rar (10.72 KB)
(下载次数: 0, 2017-6-27 10:28 上传)


后续还会有更新,敬请期待!


更多回帖

发帖
×
20
完善资料,
赚取积分