Skip to content
Snippets Groups Projects
README.md 2.23 KiB
Newer Older
Ashwin Rao's avatar
Ashwin Rao committed
The folder contains the relay client
It has three files
1. The rtkrcv.conf used by rtkrcv. The configuration file specifies that rtkrcv publish the received information over a tcp port (specified in the conf file)
2. The python code to relay the received information to an mqtt broker
3. The requirements.txt used to create the python environment. 

## RTKRCV Installation

Please place the rtkrcv binary in this folder. The steps for creating the binary are as follows.

- Download the source repository of rtklib at https://github.com/tomojitakasu/RTKLIB
  + This code has been tested with RTKLIB version 2.4.3 b33 
  + https://github.com/tomojitakasu/RTKLIB/archive/v2.4.3-b33.tar.gz

- Extract the tar ball. This should create a folder named in RTKLIB-2.4.3-b33
- Perform the following steps to create the rtkrcv binary. 
```
cd RTKLIB-2.4.3-b33/app
make
cd -
```
- Note that the above steps requires build-essential packages (if it is not previously installed). Also you will notice some warning during the compilation phase. 
- Create a link to the binary in this directory. This is done to avoid specifying the path of the rtkrcv.conf 
```
ln -s RTKLIB-2.4.3-b33/app/rtkrcv/gcc/rtkrcv .
```

## Mosquitto Broker Installation

Install the mosquitto broker and disable the mosquitto service if we want to run it on a specifi port. 
```
apt install mosquitto 
systemctl disable mosquitto
```

## Python environment for rtcm3\_relay

Create a python environment where paho-mqtt is installed. This code was tested using python 3.8

Create a venv folder in this directory. 
```
python3.8 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
- You might see some errors about bdist\_wheel which can be ignored. 


Now open three terminals (as persistent screen [https://www.gnu.org/software/screen/] ) on the server.
- On one screen start the 
./rtkrcv
> start - use this command if you want to start the rtkrcv
> stop  - for stopping the rtkrcv
> shutdown - for quitting

- On the second screen start mosquitto -p <portnumber>. We use 8883 because that port is open on our server for incoming connections

```
mosquitto -p 8883
```

- On the third screen run rtcm\_relay.py 
```
#> python rtcm_relay.py -r localhost -p 11235 -h localhost -b localhost -m 8883 
```