您尚未登录。

楼主 # 2022-01-22 17:26:02

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

MIPI小电脑实现离线地图显示

先上效果,教程慢慢更(就是图片读取显示,很简单)

使用Qt写的,硬件:全志V3X

离线

楼主 #1 2022-01-22 17:50:24

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

离线地图下载
使用https://gitee.com/CrimsonHu/java_map_download里的地图下载器
GPS1.png
划定需要的区域
GPS2.png
下载
GPS3.png
GPS4.png

离线

楼主 #2 2022-01-22 18:01:37

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

GPS模块使用
我使用的是中科微电子的GPS模块,市场上的GPS模块大同小异吧,都是用串口读取数据的(波特率9600)
用正则表达式提取GNMC和GNVTG之间的信息,再次提取得到时间、经度、纬度、速度、方位等信息
GPS5.png

离线

楼主 #3 2022-01-22 18:17:00

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

单位换算
经度纬度换算

原数据是ddmm.mmmm格式
data = (int)(ddmm.mm / 100) + mm.mmmm / 60 单位度
例:
图片读取纬度是2943.59986
换算成度为data = 29 + 43.59986 / 60

速度换算

v = 原数据 * 1.852 km/h

时间换算
GPS6.png

离线

楼主 #4 2022-01-22 18:34:53

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

重点重点重点
瓦片坐标换算(输入转换后的经度纬度)

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PI 3.14159265359
int main(int argc , char **argv)
{
    if(argc != 4)
    {
        printf("error! such as: ./test 1 2 3\r\n");
        return -1;
    }
    double longitude = atof(argv[1]); //经度
    double latitude = atof(argv[2]); //纬度
    int zoom = atoi(argv[3]); //级别
    double xtile, ytile;
    printf("%f %f %d \r\n", longitude, latitude, zoom);
    
    latitude = latitude / 180.0 * PI; //角度转弧度
    xtile = (longitude + 180.0) / 360.0 * pow(2.0, zoom); //计算地图瓦片坐标x
    ytile = (1.0 - asinh(tan(latitude)) / PI) / 2.0 * pow(2.0, zoom); //计算地图瓦片坐标y
    printf("\r\nxtile: %f \r\nytile: %f \r\nzoom: %d \r\n", xtile, ytile, zoom); 

    return 0;
}

高德地图查经度纬度网站
https://lbs.amap.com/tools/picker
GPS7.png
记住这个圆心

lzq@lzq:~/desktop$ ./map 113.865221 29.714519 18
113.865221 29.714519 18 

xtile: 213986.123594 
ytile: 108393.812937 
zoom: 18 
lzq@lzq:~/desktop$ 

根据输出寻找瓦片地图图片,非常准
GPS8.png

换个等级试试
GPS9.png

最近编辑记录 资本家大善人 (2022-01-22 18:38:33)

离线

楼主 #5 2022-01-22 18:44:09

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

保持地理位置中央显示
GPS10.png
我的屏幕320*240

最近编辑记录 资本家大善人 (2022-01-22 18:47:03)

离线

楼主 #6 2022-01-22 18:48:58

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

离线

楼主 #8 2022-01-23 18:11:23

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

lfdcn 说:

这这这……这是那个码表的楼主自定义版本吗?

本来想要Qt里的浏览器显示地图的,但那玩意太难交叉编译了,最后学习那个码表的思路

离线

楼主 #10 2022-01-24 18:20:20

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

弄了一个安卓软件,直接转发手机GPS数据,这样大家不买模块也能玩GPS
GPS11.png
udp.png

最近编辑记录 资本家大善人 (2022-01-24 19:03:24)

离线

楼主 #11 2022-01-24 18:20:43

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

离线

楼主 #14 2022-02-15 20:59:14

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

安卓软件用Qt写的,源码如下
GPS源码.zip

离线

楼主 #16 2022-02-16 22:14:01

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

dykxjh 说:

不错不错,我以前做过测亩仪,就是根据GPS定位计算面积,如果能加入离线地图显示就不错了。学习了

是离线的哈哈,离线地图图片显示

离线

楼主 #20 2022-02-18 05:46:24

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

ttasd 说:

这个屏幕是mipi接口的吗  能上个链接吗

spi屏幕
MIPI只是小电脑名字,并不是屏幕接口
https://whycan.com/t_7281.html
https://whycan.com/t_7522.html

离线

楼主 #23 2022-02-26 21:30:54

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

李泓辰 说:

牛啊 可以加上导航功能?或者离线路径导航那种的?

根据卫星的数据可以获取速度,获取方向的话,还得加陀螺仪

离线

楼主 #26 2022-03-10 12:21:54

资本家大善人
会员
注册时间: 2021-03-26
已发帖子: 190
积分: 140.5

Re: MIPI小电脑实现离线地图显示

regestday 说:

如此小巧,卡不卡?

就一个图片调用显示,不卡

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn