Skip to content

Commit 18ae768

Browse files
authored
Merge pull request #459 from Stefal/detect_rtkbase
Detect rtkbase
2 parents 5fddfc6 + e06d41f commit 18ae768

File tree

4 files changed

+28
-14
lines changed

4 files changed

+28
-14
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
## [2.6.3] - not released
44
### Added
5+
- New Linux/Windows Gui to detect online Station (https://github.com/Stefal/rtkbase/tree/master/tools/find_rtkbase)
56
- Add Unicore UM980/UM982 support (rtcm3 mode). [#351](https://github.com/Stefal/rtkbase/issues/351)
7+
- Add api to get basics informations about the base station (/api/v1/infos)
8+
- Add Zeroconf/Avahi service definition to get a fast online Rtkbase station detection.
69
- Detect Gnss receiver firmware version during receiver detection. [#428](https://github.com/Stefal/rtkbase/issues/428)
710
- GUI -> Logs: Non-zipped files can be convert to rinex. [#348](https://github.com/Stefal/rtkbase/issues/348)
811
- GUI -> Settings: Display network informations.

README.md

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Frontend's main features are:
99

1010
+ View the satellites signal levels
1111
+ View the base location on a map
12-
+ Detect and configure the Gnss receiver (Ublox F9P or Septentrio Mosaic-X5)
12+
+ Detect and configure the Gnss receiver (Ublox F9P, Septentrio Mosaic-X5, Unicore UM980 / UM982)
1313
+ Start/stop various services (Sending data to a Ntrip caster, internal Ntrip caster, Rtcm server, Sending Rtcm stream on a radio link, Log raw data to files)
1414
+ Edit the services settings
1515
+ Convert raw data to Rinex
@@ -43,7 +43,7 @@ If you use a Raspberry Pi, thanks to [jancelin](https://github.com/jancelin), yo
4343
sudo ./install.sh --all release
4444
```
4545

46-
+ Go grab a coffee, it's gonna take a while. The script will install the needed software, and if you use a Usb-connected U-Blox ZED-F9P receiver, it'll be detected and set to work as a base station. If you don't use a F9P, you will have to configure your receiver manually (see step 7 in manual installation), and choose the correct port from the settings page.
46+
+ Go grab a coffee, it's gonna take a while. The script will install the needed software, and if you use a supported receiver (U-Blox ZED-F9P, Septentrio Mosaic-X5, Unicore UM980/UM982), it'll be detected and set to work as a base station. If you don't use a supported recevier, you will have to configure your receiver manually (see step 7 in manual installation), and choose the correct port from the settings page.
4747

4848
+ Open a web browser to `http://ip_of_your_sbc` (the script will try to show you this ip address). Default password is `admin`. The settings page allows you to enter your own settings for the base coordinates, ntrip credentials and so on...
4949

@@ -54,6 +54,12 @@ If you use a Raspberry Pi, thanks to [jancelin](https://github.com/jancelin), yo
5454
- [rtklibexplorer - PPP - for dual frequency receivers](https://rtklibexplorer.wordpress.com/2017/11/23/ppp-solutions-with-the-swiftnav-piksi-multi/)
5555
- [Centipede documentation (in french)](https://docs.centipede.fr/docs/base/positionnement.html)
5656

57+
+ To help you find your base ip address, you can use the simple `find_rtkase` gui tool. It is available for Gnu/Linux and Windows in [./tools/find_rtkbase/dist](./tools/find_rtkbase/dist/).
58+
59+
- Click on the "Find" button, wait, then click on the "Open" button. It will open the RTKBase GUI in your web browser.
60+
61+
<img src="./tools/find_rtkbase/find_rtkbase_screenshot.png" alt="screenshot of find_rtkbase tool" width="300" />
62+
5763
## Manual installation:
5864
The `install.sh` script can be used without the `--all` option to split the installation process into several different steps:
5965
```
@@ -87,8 +93,8 @@ The `install.sh` script can be used without the `--all` option to split the inst
8793
Install all dependencies like git build-essential python3-pip ...
8894
8995
-r | --rtklib
90-
Get RTKlib 2.4.3b34g from github and compile it.
91-
https://github.com/rtklibexplorer/RTKLIB/tree/b34g
96+
Get RTKlib 2.4.3b34j from github and compile it.
97+
https://github.com/rtklibexplorer/RTKLIB/tree/b34j
9298
9399
-b | --rtkbase-release
94100
Get last release of RTKBase:
@@ -111,7 +117,7 @@ The `install.sh` script can be used without the `--all` option to split the inst
111117
from the gnss receiver.
112118
113119
-e | --detect-gnss
114-
Detect your GNSS receiver. It works only with receiver like ZED-F9P.
120+
Detect your GNSS receiver.
115121
116122
-n | --no-write-port
117123
Doesn'\''t write the detected port inside settings.conf.
@@ -218,11 +224,15 @@ So, if you really want it, let's go for a manual installation with some explanat
218224
sudo systemctl enable gpsd
219225
```
220226

227+
1. Install the avahi service definition with `sudo ./install.sh --zeroconf`, or:
228+
+ Copy the `rtkbase_web.service` file from `rtkbase/tools/zeroconf/` directory to `/etc/avahi/services/`
229+
+ Replace `{port}` with the port number used by the web server (e.g. 80).
230+
221231
1. Connect your gnss receiver to raspberry pi/orange pi/.... with usb or uart, and check which com port it uses (ttyS1, ttyAMA0, something else...). If it's a U-Blox F9P receiver (usb or uart) or a Septentrio Mosaic-X5 (usb), you can use `sudo ./install.sh --detect-gnss`. Write down the result, you may need it later.
222232

223-
1. If you didn't have already configure your gnss receiver, you must set it to output raw data:
233+
1. If you didn't have already configure your gnss receiver, you must set it to output raw or rtcm3 data:
224234

225-
If it's a U-Blox ZED-F9P (usb or uart), or a Septentrio Mosaic-X5 (usb) you can use
235+
If it's a U-Blox ZED-F9P (usb or uart), or a Septentrio Mosaic-X5 (usb), or a Unicore UM980/UM982 you can use
226236
```bash
227237
sudo ./install.sh --detect-gnss --configure-gnss
228238
```

tools/find_rtkbase/scan_network.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import scapy.all as scapy
2-
scapy.load_layer("http")
1+
#! /usr/bin/env python3
32
import json
43
import time
54
import logging
65
import argparse
6+
import scapy.all as scapy
7+
scapy.load_layer("http")
78
from zeroconf import Zeroconf
89
from zeroconf import ServiceBrowser
910
logging.basicConfig(format='%(levelname)s: %(message)s')
@@ -22,12 +23,12 @@ def add_service(self, zeroconf, type, name):
2223
def update_service(self, *args, **kwargs):
2324
pass
2425

25-
def zeroconf_scan(name, type, timeout=5):
26+
def zeroconf_scan(name, prot_type, timeout=5):
2627
log.debug("Scanning with zeroconf")
2728
service_list = []
2829
zeroconf = Zeroconf()
2930
listener = MyZeroConfListener()
30-
browser = ServiceBrowser(zeroconf, type, listener)
31+
browser = ServiceBrowser(zeroconf, prot_type, listener)
3132
time.sleep(timeout)
3233
for service in listener.services:
3334
if name.lower() in service.name.lower():
@@ -170,8 +171,8 @@ def arg_parse():
170171
parser.add_argument("-i", "--iprange", help="ip range to scan eg 192.168.1.0/24", type=str)
171172
parser.add_argument("-d", "--debug", action='store_true')
172173
parser.add_argument("--version", action="version", version="%(prog)s 1.0")
173-
args = parser.parse_args()
174-
return args
174+
arguments = parser.parse_args()
175+
return arguments
175176

176177

177178
def main(ports, allscan=False, iprange=None):

tools/install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,8 +828,8 @@ main() {
828828
[ $ARG_DETECT_GNSS -eq 1 ] && { detect_gnss "${ARG_NO_WRITE_PORT}" ; ((cumulative_exit+=$?)) ;}
829829
[ $ARG_CONFIGURE_GNSS -eq 1 ] && { configure_gnss ; ((cumulative_exit+=$?)) ;}
830830
[ $ARG_DETECT_MODEM -eq 1 ] && { detect_usb_modem && _add_modem_port && _configure_modem ; ((cumulative_exit+=$?)) ;}
831-
[ $ARG_START_SERVICES -eq 1 ] && { start_services ; ((cumulative_exit+=$?)) ;}
832831
[ $ARG_ZEROCONF -eq 1 ] && { install_zeroconf_service; ((cumulative_exit+=$?)) ;}
832+
[ $ARG_START_SERVICES -eq 1 ] && { start_services ; ((cumulative_exit+=$?)) ;}
833833
}
834834

835835
main "$@"

0 commit comments

Comments
 (0)