最近北斗卫星系统(BDS)最后一颗的发射的新闻确实很振奋人心,所以迫不及待的想试试看。

结果发现安卓系列的机器对四星(北斗、GPS、伽利略、格洛纳斯)的支持都很不错,而 iOS App Store 里面充斥了很多所谓的“北斗”导航 App 都不是真正的获取北斗卫星系统的定位导航数据。

索性最近在折腾 Arduino 的项目,干脆自己做一个真正的“北斗卫星系统”设备给所有的 iOS 提供实时的数据。以下是已经成功组装完成的整个设备的一些过程和详细步骤,供大家参考。


这个是在App上显示的实时卫星图数据,先上个 3 分钟快速的组装视频把,大家对设备有个初步印象


https://www.bilibili.com/video/BV1KV41167cU/



1. 功能和截图:

设备功能:

  • 开机自动搜索卫星功能
  • 显示有效卫星数量
  • 显示当前地理位置的经纬度
  • 显示当前设备移动速度
  • 显示卫星的 UTC 时间
  • 切换蓝牙模式,使用 iPhone App 显示数据

App 功能:

  • 显示当前地理位置的经纬度
  • 显示指南针功能
  • 显示当前地理位置大气压
  • 显示当前地理位置海拔高度,以及高度实时变化
  • 显示设备俯仰角、偏航角,以及翻滚角数据
  • 显示当前地理位置地图,并跟随设备自动移动方向及坐标
  • 显示当前地理位置城市及国家信息
  • 支持外接蓝牙 GPS 和 北斗卫星 导航定位设备数据



2. 主板和部件:

  • Arduino Uno 或者 Nano r任意主板一块
  • 可选版:Uno 的扩展版 Arduino Sensor Shield v5,或者 Nano 扩展版 I/O Shield
  • 主控为德州仪器 CC2541 的蓝牙 4.x 模块,包括四个端口 (VCC, GND, TX, RX)
  • 主控为 SSD1306 的 OLED 液晶屏幕,分辨率为128x64,通讯为IIC(I2C),包括四个端口 (VCC, GND, SDA, SCL)
  • 主控为 TTP223 的 触摸开关,用来操作设备的功能切换,比如切换设备本身和 iPhone App 蓝牙模式,包括三个端口 (VCC, GND, IO)
  • 锂电池模块,带保护板 (3.7v, 4000+mah)
  • GPS/北斗卫星 双模兼容模块,带外接有源天线,包括四个端口的兼容设备都兼容 (VCC, GND, TX, RX)
  • 主控为 TP4056 的 Type-C 锂电池充电/放电一体模块, 包括四个端口 (OUT+, OUT-, B+, B-)



3. 设计线路:

  • Arduino Uno 接线图 (此处省略充电模块如需要请参考 4. 接线表格)

  • Arduino Nano 接线图 (此处省略充电模块如需要请参考 4. 接线表格)



4. 接线表格:

Arduino Uno 或 Nano 针脚模块针脚模块名称
VCCVCCBluetooth
GNDGNDBluetooth
RXTXBluetooth
TXRXBluetooth
VCCVCCOLED
GNDGNDOLED
A4SDAOLED
A5SCLOLED
3.3v3.3vGPS/BDS
GNDGNDGPS/BDS
D10TXGPS/BDS
D11RXGPS/BDS
D12IOTouch
VCCVCCTouch
GNDGNDTouch
VCCOUT+Charger
GNDOUT-Charger

Charger PinBattery Pin
B+VCC
B-GND



5. 安装视频:

https://www.bilibili.com/video/BV1KV41167cU/



6. 驱动程序:

  • macOS 驱动 - - 如果你是 macOS 这两个版本 Sierra (10.12) 或 High Sierra (10.13) 的系统如果 USB 链接主板没有发现端口,则需要安装这个驱动。



7. 固件程序:

刷机步骤:

  1. 解压固件的 zip 文件
  2. 下载 Ardukit (macOS) 选择第一步解压的 .hex 文件刷入对应的 Arduino 版即可



8. App 下载:



9. Github:

https://github.com/woointeractive/SatelliteXStation