在 Linux 中;如何通过蓝牙初始化与 GPS 的连接?...并从中读取数据?
/dev/ttyS0
我发现这并不像打开串行端口那么简单。
答案1
初始阶段,仅查看位置数据的流动:
$ sudo -i # 蓝牙控制开启 更改电源开启成功 # 蓝牙代理开启 # 蓝牙扫描 探索开始 [CHG] 控制器 24:EE:9A:E2:9C:F7 正在发现:是 [CHG] 设备 xx:xx:xx:xx:xx:xx RSSI:-42 断开连接 [CHG] 设备 xx:xx:xx:xx:xx:xx 已连接:否 [CHG] 设备 xx:xx:xx:xx:xx:xx RSSI:-73
当您看到 MAC(此处为 xx:xx:xx:xx:xx:xx)时,按CTRL+停止扫描C
# 蓝牙信任 xx:xx:xx:xx:xx:xx 更改 xx:xx:xx:xx:xx:xx 信任成功 #蓝牙控制 代理人登记 [CHG] 控制器 24:EE:9A:E2:9C:F7 可配对: 是 [蓝牙]# 信任 xx:xx:xx:xx:xx:xx 更改 xx:xx:xx:xx:xx:xx 信任成功 [蓝牙]# 对 xx:xx:xx:xx:xx:xx 尝试与 xx:xx:xx:xx:xx:xx 配对 [CHG] 设备 xx:xx:xx:xx:xx:xx 已连接:是 请求 PIN 码 [代理] 输入 PIN 码:0000 [CHG] 设备 xx:xx:xx:xx:xx:xx UUID:00001101-0000-1000-8000-00805f9b34fb [CHG] 设备 xx:xx:xx:xx:xx:xx 服务已解决:是 [CHG] 设备 xx:xx:xx:xx:xx:xx 已配对:是 配对成功 [CHG] 设备 xx:xx:xx:xx:xx:xx 服务已解析:否 [CHG] 设备 xx:xx:xx:xx:xx:xx 已连接:否 [蓝牙]# 退出 # sudo rfcomm connect /dev/rfcomm0 xx:xx:xx:xx:xx:xx 1& [1] 29050 将 /dev/rfcomm0 连接到通道 1 上的 xx:xx:xx:xx:xx:xx 按 CTRL-C 挂断
命中Enter得到提示(输出被rfcomm ... &
遮盖住了)
# sudo miniterm /dev/rfcomm0 4800
启动 miniterm 后,首先会初始显示 miniterm 信息(CTRL+T 显示菜单,另外按 CTRL+H 显示帮助)
--- /dev/rfcomm0 4800,8,N,1 上的迷你终端 --- --- 退出:Ctrl+] | 菜单:Ctrl+T | 帮助:Ctrl+T,然后按 Ctrl+H ---
假设前面的步骤已经正确/成功完成,紧接着是文本数据流。
$GPGGA,092750.000,5321.6802,N,00630.3372,W,1,8,1.03,61.7,M,55.2,M,,*76 $GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A $GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70 $GPGSV,3,2,11,02,39,223,19,13,28,070,17,26,23,252,,04,14,186,14*79 $GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76 $GPRMC,092750.000,A,5321.6802,N,00630.3372,W,0.02,31.66,280511,,,A*43 $GPGGA,092751.000,5321.6802,N,00630.3371,W,1,8,1.03,61.7,M,55.3,M,,*75 $GPGSA,A,3,10,07,05,02,29,04,08,13,,,,,1.72,1.03,1.38*0A $GPGSV,3,1,11,10,63,137,17,07,61,098,15,05,59,290,20,08,54,157,30*70 $GPGSV,3,2,11,02,39,223,16,13,28,070,17,26,23,252,,04,14,186,15*77 $GPGSV,3,3,11,29,09,301,24,16,09,020,,36,,,*76 $GPRMC,092751.000,A,5321.6802,N,00630.3371,W,0.06,31.66,280511,,,A*45
示例数据来自https://en.wikipedia.org/wiki/NMEA_0183
笔记:
miniterm 在python3-serial
apt 包中
,而 bluetoothctl 在 中bluez
,您是否已经拥有后者了。
随机链接,以了解更多信息:
https://github.com/pybluez/pybluez
https://geektechstuff.com/2020/06/01/python-and-bluetooth-part-1-scanning-for-devices-and-services-python/