知乎专栏 |
下载 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
主机地址: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:~ $
在树莓派上插一张 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