您好,请登录 免费注册
手机立创
  • 微信小程序

    找料更方便

  • 立创APP

    体验更友好

  • 立创公众号

    售前咨询,优惠活动

消息(0)
我的订单 购物车(0)
联系客服
  • 4000800709

    点击QQ咨询

  • 0755-83865666

    0755-83865666

    拨打电话咨询

帮助中心
供应商合作

温馨提示

您上传的BOM清单格式不准确,当前支持上传xls、xlsx、csv、JPG、PNG、JPEG格式,请检查后重新上传

BOM正在分析中...
首页 > 应用与分享 >以后出门,就用它了!我做了个GPS导航!
  • 以后出门,就用它了!我做了个GPS导航!

  • 2024-12-03 16:13:17 阅读量:320

做了一个骑行导航器,不需要依赖手机APP、小程序

 

GPS

01
功能/亮点

 

 

GPS

功能亮点

02
硬件设计

 

原理图1

原理图1

 

PCB图1

PCB图1

 

原理图2

原理图2

 

PCB图2

PCB图2

 

硬件设计

 

01 
中文地址通过什么输入?

通过矩阵键盘输入,需要在另一块较小的PCB上,通过FFC排线与主PCB连接,按键一端与同列按键并联,另一端与同行按键并联。

中文地址输入

 

 

02 
电池管理

本设备采用3.7V锂电池供电,经线性稳压器BL9110-330BPFB输出3.3V。

VCC(4脚)使用Type-C接口提供5V输入,并将BAT(3脚)连接锂电池。

在正常情况下,若电池已连接:

  • 正在充电时CHRG(1脚)输出低电平、FULL(5脚)输出高电平;

  • 充满电后CHRG输出高电平、FULL输出低电平

通过连接LED灯,可进行充电状态显示

 

03 
外设设计
  • STM32内无法储存中文字库,因此采用外部Flash进行储存,W25Qxx系列为Nor Flash,可通过SPI与STM32进行通信

  • GPS模块采用ATGM336H成品模组,支持GPS、北斗等定位系统,通过串口发送数据。模组供电后,若正在搜星,则模组上方LED灯常亮。搜星完成后,模组LED灯以1Hz频率闪烁,且PPS引脚以1Hz频率输出脉冲,以驱动PCB顶层的GPS LED灯闪烁。此模块在使用时需连接天线,本项目采用陶瓷天线。

 

03
软件设计
怎么实现“导航”功能?

如何“搭建”远程平台?

这涉及到高德地图API华为云的使用:

01 
如何使用高德地图API?

首先,需要注册高德地图开发者账号

创建Key(每种LBS服务每日5000次调用)

创建步骤与API功能见https://oshwhub.com/ljh345/cycling_assistance

02 
如何搭建远程平台?

路径规划、轨迹简化等一系列操作需要较高算力,在ESP32上不便操作。因此,需要借助远程平台在云端执行复杂的运算处理后,通过HTTP读取最终的结果

函数工作流FunctionGraph是华为云推出的一款无服务器计算服务,用户自行编写相关函数,客户端通过HTTP等方式访问即可执行代码。

总览->创建函数,选择函数类型为HTTP函数。

进入函数,创建触发器,选择API网关服务,使此函数能通过HTTP调用。方便起见,安全认证选择None,其它配置默认即可。

进入API管理页面,编辑当前API,第2步,修改当前请求Path并发布API,便于管理。

进入该函数的“设置”界面,可通过“调用URL”下的路径进行函数调用。

创建完成后,开始编写代码。FunctionGraph不支持C/C++,但可以使用Python

以Python为例,将代码文件重命名为 input.py,bootstrap内容改为/opt/function/runtime/python3.9/rtsp/python/bin/python3 $RUNTIME_CODE_ROOT/index.py。

以下为Python代码模板:

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
import socketserverimport http.serverfrom urllib.parse import parse_qs, urlparseimport jsonimport requests
PORT = 8000
class SimpleHTTPRequestHandler(http.server.SimpleHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers()
# 在以下位置补充自己的代码 params = parse_qs(urlparse(self.path).query) str = params["str"]
# 返回同样为Json格式的字符串 message = { "status": 0, "reply": str } self.wfile.write(json.dumps(message).encode())
with socketserver.TCPServer(('127.0.0.1', PORT), SimpleHTTPRequestHandler) as httpd: print('Python web server at port 8000 is running..') httpd.serve_forever()

为验证代码编写是否正确,可自行配置测试事件。选择事件模板为API网关服务(APIG),在pathParameters下填写传入的参数,例如:

  •  
  •  
  •  
"pathParameters": {    "str" : "HelloWorld"},

测试完成后,通过HTTP访问该函数,网页显示{"status": 0, "reply": ["HelloWorld"]},调用成功。

 

04
成本说明

元器件总价:122.18元,由于立创商城购买元件有最小数量限制,实际需要180.97元

3D打印件价格:29.25元

但是!我的方案如下:

元器件:回收以往使用过的

PCB:使用嘉立创免费PCB打样

星火计划减免耗材费用:105.72元

本次实际成本:45.54元

 

“踏上设计它的路,比做出它更重要。”

 

05
开源网址

本项目已开源!

——想复刻想给作者点赞复制开源网址 前往原文。

开源网址:https://oshwhub.com/ljh345/cycling_assistance

您的浏览器版本过低(IE8及IE8以下的浏览器或者其他浏览器的兼容模式),存在严重安全漏洞,请切换浏览器为极速模式或者将IE浏览器升级到更高版本。【查看详情】
推荐您下载并使用 立创商城APP 或者最新版 谷歌浏览器火狐浏览器360浏览器搜狗浏览器QQ浏览器 的极(高)速模式进行访问。
© 深圳市立创电子商务有限公司 版权所有

提示

您确定要删除此收货地址的吗?

请填写订单取消原因

提示

您确定删除此收货地址吗?

成功提示

content

失败提示

content

微信咨询

关注公众号咨询客服

咨询客服
  • 在线客服热线

    0755-83865666

  • 服务时间

    工作日  8:30~20:30

    节假日  8:30~18:00

  • 服务投诉

QQ咨询
投诉意见

紧急问题投诉电话:

18826549599

更快的受理通道

对常规通道处理结果不满意

请在此扫码

此意见箱直通立创管理层

优惠券 建议反馈
填问卷 立创用户体验问卷调查 立即参与
活动规则
活动规则
展开客服