Garmin 60CSX 加蓝牙手记

来自Jack's Lab
跳转到: 导航, 搜索

目录

1 Garmin 60CSX

1.1 汉化固件

开机后会停留在开机画面,需要 按一次电源键,再按两次 menu 键才能进入系统


2 前期准备

材料:
  • TTL 串口蓝牙模块 HM-11 (低功耗,蓝牙4.0,iOS 7/Android 4.3可用),其他系统使用 HM-06
  • 防水硅胶 (704硅胶)


焊接点:
  • ISL4221 Pin 9 (T1in) 接蓝牙模块的 RX (UART_RX)
  • ISL4221 Pin 7 (R1out) 接蓝牙模块的 TX (UART_TX)
  • 蓝牙模块的电源从主板 MiniUSB 的四个弹片触点上方的大的、黑色的稳压二极管两头取。有粗白线(靠近天线下面大屏蔽罩)的一边是正极


加完后,用热熔胶固定,最终效果:

Garmin.60csx.bluetooth.JPG



3 ISL4221

ISL422l 是一TTL串口转RS-232串口电平转换芯片

接蓝牙模块的串口电平必须是 TTL 的,因此需从 ISL4221 的 TTL 脚引出


ISL4221的引脚定义如下图:

ISL4221.Pin.jpg


  • T1in 为 TTL/COMS compatible transmitter Inputs,即 ISL4221 内部 TTL 电平发射器的输入。在主板上,这个引脚接处理器串口的 TX(输出)脚
  • R1out 为 TTL/COMS level receiver outputs,即 ISL4221 内部 TTL 电平接受器的输出。在主板上,这个引脚接处理器串口的 RX(输入)脚



4 MH-06 Tips

Pin Map:

Top view, 左上 pin 1 ~ 左下 pin 8, 右下 pin 9 ~ 16

  • Pin 2 --- UART_TX
  • Pin 4 --- UART_RX
  • Pin 9 --- 3V3
  • Pin12 -- GND


模块串口默认配置为 9600 8N1,用于Garmin 60CSX 之 NMEA 输出,需将其波特率改为 4800

TX (Pin 2) 接 ISL4221 R1out,RX (Pin 4) 接 ISL4221 T1in


更改波特率时将HM-06 之 UART_TX 接 USB转TTL串口模块的 RX,HM-06 UART_RX 接 USB转TTL串口模块的 TX,3.3V 为 HM-06供电,串口调试助手 9600 8N1 打开串口,就能用 AT 命令修改 HM-06 的参数了:

-> AT
<- OK

-> AT+VERSION?
<- OK+VERSION:HMSoft V621
# 固件版本

-> AT+ROLE?
-< OK+ROLE:S
# 查询显示模块当前为从模式 (Slave)

-> AT+BAUD?
<- OK+BAUD:9600
# 当前串口波特率为 9600bps

-> AT+BAUD3
<- OK+Set:4800
# 设置串口波特率为 4800bps,与Garmin 60CSX 的 NMEA 的输出波特率一致



5 HM-11 Tips

Pin Map:

Top view, 左上 pin 1 ~ 左下 pin 8, 右下 pin 9 ~ 16

  • Pin 2 --- UART_TX
  • Pin 4 --- UART_RX
  • Pin 9 --- 3V3
  • Pin12 -- GND


模块串口默认配置为 9600 8N1,用于Garmin 60CSX 之 NMEA 输出,需将其波特率改为 4800

TX (Pin 2) 接 ISL4221 R1out,RX (Pin 4) 接 ISL4221 T1in


更改波特率时将HM-11 之 UART_TX 接 USB转TTL串口模块的 RX,HM-11 UART_RX 接 USB转TTL串口模块的 TX,3.3V 为 HM-11供电,串口调试助手 9600 8N1 打开串口,就能用 AT 命令修改 HM-11 的参数了:

-> AT
<- OK

-> AT+BAUD?
-< OK+Get:0
# 0 - 9600, 1 - 19200, 2 - 38400, 3 - 57600, 4 - 115200, 5 - 4800, 6 - 2400

-> AT+BAUD4
-< OK+Set:4
# Set uart baud rate to 115200 bps

-> AT+ROLE?
-< OK+Get:0
# 查询显示模块当前为从模式

-> AT+NOTI?
# 0 - 连接后不通知主机,1 - 连接后通知主机,default 0

-> AT+TYPE?
# 鉴权类型
# 0 - 不需要密码,1 - 简单配对,2 - 需要密码配对,3 - 配对并绑定,0 - Default
->  AT+TYPE1

-> AT+CLEAR
-> AT+ERASE
# 搽除所有绑定信息

-> AT+MODE?
# 0 - 透传,1 - PIO采集+远控+透传,2 - 透传+远控,Default 0

-> AT+PASS?
# 配对密码,默认 000000
-> AT+PASS123434

-> AT+POWE?
# 发射功率,0: -23dbm, 1: -6dbm, 2: 0dbm, 3: 6dbm, Default 2
-> AT+POWE0

-> AT+NAME?
<- OK+NAME: HMSoft
-> AT+NAMEMK-BTCon
-> OK+Set: MK-BTCon

-> AT+RESET
# reboot

-> AT+RENEW
# reset to factory setting

################

-> AT+ROLE1
-< OK+Set:1
# 设置模块为主模式

-> AT+IMME?
<- OK+Get:0
# 查询显示模块工作类型为 '0',即:上电立即工作

-> AT+IMME1
<- OK+Set:1
# 设置模块工作类型为 '1',即:上电后暂不工作,等待AT+START/AT+CON/AT+CONN等指令。重新上电后该设置值生效

-> AT+DISC?
<- OK+DISCS
<- OK+DISC:123456789012
<- OK+DISCE
# 搜索蓝牙设备如果搜到BLE 设备会返回OK+DISC:123456789012,其中数字字符串代表对方蓝牙地址,最多返回6 个,下标从0 开始。搜索完成后返回OK+DISCE

-> AT+CONN0
<- OK+CONN
连接搜到的第一个设备,连接成功任何一个蓝牙设备后,将会清除搜索到的所有信息,您如果要连接别的设备,需重新搜索

-> AT+DISC?
-> AT+CONN1




6 GPS 串口输出

Garmin 60CSX 的“设定”--->“接口”--->“串行传输模式”选“TEXT Out”的串口输出为:
@140422041523__________________________________________   <=== 没数据时显示为空
@140422041523__________________________________________
@140422041524__________________________________________
@140422041525__________________________________________
@140422041527N3869422E11636872G042+00332E0000N0000U0003   <=== 有数据时直接输出坐标
@140422041528N3869421E11636872G037+00332E0000N0000U0002
@140422041529N3869418E11636874G034+00331E0000N0000U0001
@140422041530N3869417E11636876G032+00331W0003S0003U0001


Garmin 60CSX 的“设定”--->“接口”--->“串行传输模式”选“NMEA In/NMEA Out”的串口输出为:
# GPS 搜索中
$GPRMC,,V,,,,,,,220414,6.0,W,N*2D
$GPRMB,V,,,,,,,,,,,,V,N*04
$GPGGA,,,,,,0,00,,,M,,M,,*66
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,11,03,00,-01,47,14,26,139,00,16,37,225,00,19,00,-01,44*7F
$GPGSV,3,2,11,20,25,279,43,23,22,314,00,25,14,047,00,27,01,185,48*74
$GPGSV,3,3,11,2,31,67,030,00,32,33,237,00*46
$GPGLL,,,,,,V,N*64
$GPBOD,,T,,M,,*47
$GPVTG,,T,,M,,N,,K,N*2C
$PGRME,,M,,M,,M*00
$PGRMZ,264,f,*28
$PGRMM,WGS 84(TWD 97)*6E
$HCHDG,,,,6.0,W*13
$GPRTE,1,1,c,*37

# GPS 定位后
$GPRMC,105958,A,3959.4416,N,11626.7157,E,3.4,195.8,220414,6.0,W,A*0B
$GPRMB,A,,,,,,,,,,,,V,A*1C
$GPGGA,105958,3932.4416,N,11658.7157,E,1,04,5.0,163.9,M,-8.0,M,,*5C
$GPGSA,A,3,01,,,,,11,13,,,23,,,5.1,5.0,1.0*30
$GPGSV,3,1,12,01,19,178,32,03,62,043,00,07,62,297,00,08,34,316,00*7A
$GPGSV,3,2,12,09,24,317,00,11,45,179,39,13,21,224,34,16,29,035,00,23,03,197,16,27,43,048,00,28,10,288,00*77
$GPGLL,3932.4416,N,11658.7157,E,105958,A,A*40
$GPBOD,,T,,M,,*47
$GPVTG,195.8,T,201.8,M,3.4,N,6.3,K,A*2F
$PGRME,57.2,M,505.6,M,508.8,M*1D
$PGRMZ,259,f,*26
$PGRMM,WGS 84(TWD 97)*6E
$HCHDG,201.8,,,6.0,W*36
$GPRTE,1,1,c,*37


HOLUX M-241 蓝牙GPS模块,支持蓝牙4.0的手机通过蓝牙串口APP、配对、连接后,获取到的数据为:
# GPS 搜索中
$GPGGA,041001.844,8960.0000,N,00000.0000,E,0,0,,137.0,M,13.0,M,,*4F
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,1,1,01,22,,,30*7B
$GPRMC,041001.844,V,8960.0000,N,00000.0000,E,0.00,0.00,080180,,,N*7C
$GPVTG,0.00,T,,M,0.00,N,0.00,K,N*32

# GPS 定位后
$GPGGA,045715.000,3932.5166,N,11658.7373,E,2,7,1.09,13.9,M,-6.0,M,0000,0000*72
$GPGSA,A,2,14,22,29,32,20,25,31,,,,,,1.38,1.09,0.84*05
$GPGSV,3,1,10,14,62,105,17,31,60,293,16,25,49,054,16,32,45,286,16*75
$GPGSV,3,2,10,50,35,139,27,22,20,181,32,29,19,109,22,20,16,315,15*72
$GPGSV,3,3,10,12,14,040,,16,01,209,*77
$GPRMC,045715.000,A,3932.5166,N,11658.7373,E,0.63,14.26,220414,,,D*5C
$GPVTG,14.26,T,,M,0.63,N,1.17,K,D*0B



7 资源















个人工具
名字空间

变换
操作
导航
工具箱