Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

10.2. WPSD

10.2.1. Raspberry 树莓派安装 WPSD

下载 WPSD

		
neo@Neo-Mac-mini-M4 Downloads % wget https://w0chp.radio/WPSD_RPi-Bookworm.img.xz
		
		

		
neo@Neo-Mac-mini-M4 Downloads % xz -d WPSD_RPi-Bookworm.img.xz		
		
		

烧录 TF 卡

		
neo@Neo-Mac-mini-M4 Downloads % sudo dd bs=100m if=WPSD_RPi-Bookworm.img of=/dev/rdisk7
		
		

烧录过程演示

		
neo@Neo-Mac-mini-M4 Downloads % ls WPSD_RPi-Bookworm.img.xz 
WPSD_RPi-Bookworm.img.xz

neo@Neo-Mac-mini-M4 Downloads % xz -d WPSD_RPi-Bookworm.img.xz

neo@Neo-Mac-mini-M4 Downloads % diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *251.0 GB   disk0
   1:             Apple_APFS_ISC Container disk1         524.3 MB   disk0s1
   2:                 Apple_APFS Container disk3         245.1 GB   disk0s2
   3:        Apple_APFS_Recovery Container disk2         5.4 GB     disk0s3

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +245.1 GB   disk3
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            11.2 GB    disk3s1
   2:              APFS Snapshot com.apple.os.update-... 11.2 GB    disk3s1s1
   3:                APFS Volume Preboot                 6.9 GB     disk3s2
   4:                APFS Volume Recovery                1.0 GB     disk3s3
   5:                APFS Volume Data                    149.0 GB   disk3s5
   6:                APFS Volume VM                      1.1 GB     disk3s6

/dev/disk6 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:        CD_partition_scheme                        *116.8 MB   disk6
   1:     Apple_partition_scheme                         101.7 MB   disk6s0
   2:        Apple_partition_map                         1.0 KB     disk6s0s1
   3:                  Apple_HFS Mobile Card             54.8 MB    disk6s0s2

/dev/disk7 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *16.1 GB    disk7
   1:               Windows_NTFS Music                   16.1 GB    disk7s1

neo@Neo-Mac-mini-M4 Downloads % diskutil unmountDisk /dev/disk7 
Unmount of all volumes on disk7 was successful

neo@Neo-Mac-mini-M4 Downloads % sudo dd if=WPSD_RPi-Bookworm.img of=/dev/rdisk7 bs=100m
34+1 records in
34+1 records out
3593024000 bytes transferred in 513.517482 secs (6996887 bytes/sec)		

neo@Neo-Mac-mini-M4 Downloads % diskutil eject /dev/disk7s1
Disk /dev/disk7s1 ejected
		
		

10.2.2. 进入 pi-star 终端

主机地址:wpsd.local

用户名:pa-star

密码:raspberry

		
PS C:\Users\neo> SSH pi-star@wpsd.local
pi-star@wpsd.local's password:

This is...
 _      _____  _______
| | /| / / _ \/ __/ _ \
| |/ |/ / ___/\ \/ // /
|__/|__/_/  /___/____/

Version Status
---------------
  • WPSD Dashboard Web Software:
      Ver. # 643396cb66
  • WPSD Support Utilites and Programs:
      Ver. # bbc9b71e73
  • WPSD Digital Voice and Related Binaries:
      Ver. # 41b5a9e593

[?] Your WPSD dashboard can be accesed from:
    • http://wpsd.local/
    • http://wpsd/
    • http://172.16.0.14/

[i] WPSD command-line tools are all prefixed with "wpsd-".
    Simply type wpsd- and then the TAB key twice to see a list.

[!] WPSD is Free Software, and comes with ABSOLUTELY NO WARRANTY.

Last login: Mon Feb 17 22:18:41 2025 from 172.16.0.11
pi-star@wpsd:~ $		
		
		

10.2.3. GPS

在树莓派上插一张 USB GPS 天线,然后找到该天线的设备文件,一般是 /dev/ttyACM0,然后使用下面命令测试,可以看到如下数据。

		
pi-star@wpsd:~ $ cat /dev/ttyACM0 | more
$GPTXT,01,01,02,u-blox ag - www.u-blox.com*50

$GPTXT,01,01,02,HW  UBX-G70xx   00070000 *77

$GPTXT,01,01,02,ROM CORE 1.00 (59842) Jun 27 2012 17:43:52*59

$GPTXT,01,01,02,PROTVER 14.00*1E

$GPTXT,01,01,02,ANTSUPERV=AC SD PDoS SR*20

$GPTXT,01,01,02,ANTSTATUS=OK*3B

$GPTXT,01,01,02,LLC FFFFFFFF-FFFFFFFD-FFFFFFFF-FFFFFFFF-FFFFFFF9*53

$GPRMC,142021.00,A,2253.63099,N,11430.51642,E,0.027,,170225,,,D*77

$GPVTG,,T,,M,0.027,N,0.051,K,D*27

$GPGGA,142021.00,2253.63099,N,11430.51642,E,2,08,1.08,68.4,M,-1.2,M,,0000*7E

$GPGSA,A,3,30,06,11,25,13,29,05,20,,,,,1.75,1.08,1.38*0E

$GPGSV,4,1,14,05,51,338,28,06,22,105,32,07,00,050,,11,48,079,31*7B

$GPGSV,4,2,14,12,11,219,08,13,71,151,42,15,44,219,16,19,01,152,*7A

$GPGSV,4,3,14,20,41,031,38,24,00,193,,25,07,253,09,29,34,312,28*73

$GPGSV,4,4,14,30,15,080,27,50,60,150,35*77
--More--		
		
		

配置 gpsd

		
pi-star@wpsd:~ $ sudo vim /etc/default/gpsd
		
		

修改此处 DEVICES="/dev/ttyACM0",参考下面完整的例子

		
pi-star@wpsd:~ $ cat /etc/default/gpsd
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyACM0"

# Other options you want to pass to gpsd
GPSD_OPTIONS=""

# Automatically hot add/remove USB GPS devices via gpsdctl
USBAUTO="true"		
		
		

重启 gpsd 服务

		
pi-star@wpsd:~ $ sudo systemctl restart gpsd
		
		

使用 cgps 测试

		
pi-star@wpsd:~ $ cgps		
┌───────────────────────────────────────────┐┌──────────────────Seen 18/Used  8┐
│ Time:        2025-02-18T03:06:29.000Z (18)││GNSS   PRN  Elev   Azim   SNR Use│
│ Latitude:         22.89389017 N           ││GP  4    4  55.0  242.0  15.0  Y │
│ Longitude:       114.50847153 E           ││GP  8    8  73.0  236.0  18.0  Y │
│ Alt (HAE, MSL):     15.695,     20.658 ft ││GP 16   16  35.0   37.0  22.0  Y │
│ Speed:             0.56 mph               ││GP 26   26  19.0   64.0  27.0  Y │
│ Track (true, var):   282.7,  -3.2     deg ││GP 27   27  66.0   33.0  20.0  Y │
│ Climb:           -35.63 ft/min            ││GP 31   31  25.0  117.0  26.0  Y │
│ Status:         3D FIX (4 secs)           ││QZ  3  195  39.0  124.0  26.0  Y │
│ Long Err  (XDOP, EPX):  1.31, +/- 64.4 ft ││QZ  4  196  28.0  170.0  21.0  Y │
│ Lat Err   (YDOP, EPY):  0.82, +/- 40.1 ft ││GP  1    1   4.0  186.0   0.0  N │
│ Alt Err   (VDOP, EPV):  2.67, +/-  201 ft ││GP  2    2  13.0  181.0  20.0  N │
│ 2D Err    (HDOP, CEP):  1.55, +/- 96.2 ft ││GP  3    3   0.0  209.0   0.0  N │
│ 3D Err    (PDOP, SEP):  3.09, +/-  192 ft ││GP  7    7  17.0  319.0   0.0  N │
│ Time Err  (TDOP):       2.10              ││GP  9    9  40.0  287.0   0.0  N │
│ Geo Err   (GDOP):       3.74              ││GP 28   28   4.0  127.0   0.0  N │
│ ECEF X, VX:   -2438647.420 m    0.250 m/s ││SB127   40  20.0  257.0   0.0  N │
│ ECEF Y, VY:    5349025.640 m   -0.060 m/s ││SB129   42  51.0  129.0   0.0  N │
│ ECEF Z, VZ:    2465902.580 m    0.020 m/s ││SB137   50  60.0  150.0   0.0  N │
│ Speed Err (EPS):       +/-  1.8 mph       ││QZ  2  194  57.0   46.0   0.0  N │
│ Track Err (EPD):        n/a               ││                                 │
│ Time offset:            0.086221314 s     ││                                 │
│ Grid Square:            OL72gv14          ││                                 │
└───────────────────────────────────────────┘└─────────────────────────────────┘
		
		

测试

		
pi-star@wpsd:~ $ gpsmon

/dev/ttyACM0                  u-blox>
┌──────────────────────────┐┌─────────────────────────────────────────────────┐ 
│Ch PRN  Az  El S/N Flag U ││ECEF Pos: -2438649.15m +5349035.63m +2465910.28m │ 
│ 1   2 181  13  19 0404   ││                                                 │ 
│ 2   3 209   0   0 010c   ││LTP Pos:  22.893931704° 114.508453467°    19.96m │
│ 3   4 242  55   0 010c   ││LTP Vel:    0.00m/s   0.0°   0.00m/s             │
│ 4   7 319  17   0 0104   ││                                                 │
│ 5   8 237  74  17 040d Y ││Time: 2 03:07:27.00                              │
│ 6   9 286  40  10 0304   ││Time GPS: 2354+184047.000     Day: 2             │
│ 7  16  38  35  20 040d Y ││                                                 │
│ 8  26  64  19  25 040d Y ││Est Pos Err  30.17m Est Vel Err   0.00m/s        │
│ 9  27  32  65  15 040d Y ││PRNs:  7 PDOP:  3.6 Fix 0x03 Flags 0xdd          │
│10  28 127   4   0 010c   │└─────────────────── NAV_SOL ─────────────────────┘
│11  31 118  25  22 040d Y │┌─────────────────────────────────────────────────┐
│12 127 257  20   0 0110   ││DOP [H]  2.0 [V]  3.0 [P]  3.6 [T]  2.6 [G]  4.4 │
│13 129 129  51   0 0110   │└─────────────────── NAV_DOP ─────────────────────┘
│14 137 150  60   0 0104   │┌─────────────────────────────────────────────────┐
│15 194  46  57   0 010c   ││TOFF:  0.076911366       PPS:      N/A           │
└────── NAV_SVINFO ────────┘└─────────────────────────────────────────────────┘  
		
		

确认监听端口

		
pi-star@wpsd:~ $ ss -lnt | grep 2947
LISTEN 0      4096       127.0.0.1:2947      0.0.0.0:\*
LISTEN 0      4096           [::1]:2947         [::]:\*		
		
		

连接 gpsd 服务

		
pi-star@wpsd:~ $ cgps localhost:2947
┌───────────────────────────────────────────┐┌──────────────────Seen 19/Used  4┐
│ Time:        2025-02-18T04:26:09.000Z (18)││GNSS   PRN  Elev   Azim   SNR Use│
│ Latitude:         22.89385629 N           ││GP  2    2  48.0  164.0  18.0  Y │
│ Longitude:       114.50859010 E           ││GP 16   16  19.0   72.0  19.0  Y │
│ Alt (HAE, MSL):    135.928,    140.890 ft ││GP 27   27  30.0   35.0  20.0  Y │
│ Speed:             0.77 mph               ││QZ  4  196  20.0  165.0  18.0  Y │
│ Track (true, var):   245.2,  -3.2     deg ││GP  1    1  34.0  168.0  22.0  N │
│ Climb:            37.20 ft/min            ││GP  4    4  27.0  204.0   0.0  N │
│ Status:         3D FIX (7 secs)           ││GP  7    7  47.0  322.0  10.0  N │
│ Long Err  (XDOP, EPX):  3.33, +/-  164 ft ││GP  8    8  61.0    6.0  17.0  N │
│ Lat Err   (YDOP, EPY):  1.17, +/- 57.7 ft ││GP  9    9  32.0  239.0   0.0  N │
│ Alt Err   (VDOP, EPV):  4.10, +/-  237 ft ││GP 14   14   0.0  287.0   0.0  N │
│ 2D Err    (HDOP, CEP):  3.59, +/-  119 ft ││GP 17   17   2.0  231.0   0.0  N │
│ 3D Err    (PDOP, SEP):  5.45, +/-  230 ft ││GP 26   26   4.0   94.0   0.0  N │
│ Time Err  (TDOP):       3.35              ││GP 30   30  13.0  320.0   0.0  N │
│ Geo Err   (GDOP):       6.40              ││GP 31   31   0.0  139.0   0.0  N │
│ ECEF X, VX:   -2438667.600 m    0.170 m/s ││SB127   40  20.0  257.0   0.0  N │
│ ECEF Y, VY:    5349051.530 m    0.060 m/s ││SB129   42  51.0  129.0   0.0  N │
│ ECEF Z, VZ:    2465912.890 m    0.490 m/s ││SB137   50  60.0  150.0   0.0  N │
│ Speed Err (EPS):       +/-  223 mph       ││QZ  2  194  56.0   51.0  13.0  N │
│ Track Err (EPD):        n/a               ││QZ  3  195  52.0  112.0   0.0  N │
│ Time offset:            0.070334374 s     ││                                 │
│ Grid Square:            OL72gv14          ││                                 │
└───────────────────────────────────────────┘└─────────────────────────────────┘		
		
		

查看 APRSGateway 日志

		
pi-star@wpsd:~ $ tail -f /var/log/pi-star/APRSGateway-2025-02-18.log
M: 2025-02-18 08:10:33.767 Starting the APRS Writer thread
I: 2025-02-18 08:10:33.767 Opening UDP port on 8673
M: 2025-02-18 08:10:33.769 APRSGateway-20250214_WPSD is starting
M: 2025-02-18 08:10:33.769 Built 15:23:08 Feb 14 2025 (GitID #986b009)
M: 2025-02-18 08:10:54.393 Received login banner : # aprsc 2.1.19-g730c5c0
M: 2025-02-18 08:10:54.494 Response from APRS server: # logresp BG7NYT verified, server T2CS
M: 2025-02-18 08:10:54.494 Connected to the APRS server