最近北斗卫星系统(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 针脚 | 模块针脚 | 模块名称 |
---|---|---|
VCC | VCC | Bluetooth |
GND | GND | Bluetooth |
RX | TX | Bluetooth |
TX | RX | Bluetooth |
VCC | VCC | OLED |
GND | GND | OLED |
A4 | SDA | OLED |
A5 | SCL | OLED |
3.3v | 3.3v | GPS/BDS |
GND | GND | GPS/BDS |
D10 | TX | GPS/BDS |
D11 | RX | GPS/BDS |
D12 | IO | Touch |
VCC | VCC | Touch |
GND | GND | Touch |
VCC | OUT+ | Charger |
GND | OUT- | Charger |
Charger Pin | Battery Pin |
---|---|
B+ | VCC |
B- | GND |
5. 安装视频:
https://www.bilibili.com/video/BV1KV41167cU/
6. 驱动程序:
- macOS 驱动 - - 如果你是 macOS 这两个版本 Sierra (10.12) 或 High Sierra (10.13) 的系统如果 USB 链接主板没有发现端口,则需要安装这个驱动。
7. 固件程序:
刷机步骤:
- 解压固件的 zip 文件
- 下载 Ardukit (macOS) 选择第一步解压的 .hex 文件刷入对应的 Arduino 版即可
8. App 下载:
- Satellite X (支持 iPhone, iPad)
9. Github:
https://github.com/woointeractive/SatelliteXStation