-
Notifications
You must be signed in to change notification settings - Fork 26
Setting up data links
The USB radio is the easiest data link to use. Usually USB radios are UART radios converted with RS232-USB converters. There two main chips : FTDI and SILABS chips. Both drivers are factory loaded on the Edison. The radio has to be connected to the USB port.
Use your favorite software to configure your radio and remember the baudrate. This parameter is not relevant for a "real" USB device, but it is needed when a converter is used.
For rover mode, use the following parameters for an USB radio :
- port is ttyUSB0, marked as "serial"
- corrections are (in this case) provided with "ubx" protocol
- UART settings are baudrate 57600, 8 bits, no parity, 1 stop bit, no flow control
For base mode :
- port is ttyUSB0, marked as "serial"
- corrections are sent with "ubx" protocol (messages RAWX and SFRBX)
- UART settings are baudrate 57600, 8 bits, no parity, 1 stop bit, no flow control
As for USB radios, use your favorite software to configure your radio.
For rover mode, use the following parameters :
- port is ttyMFD2, marked as "serial"
- corrections are (in this case) provided with "ubx" protocol
- UART settings are baudrate 57600, 8 bits, no parity, 1 stop bit, no flow control
Physical pins to use are :
So at least your radio's TX must be connected to board's Edison RX.
Be careful! If data is sent to Edison's RX during boot process, boot can be interrupted. Port ttyMFD2 is normally a console port. It has been disabled by Drotek but kernel still logs some information during boot and this cannot be disabled. So make sure that the radio is not powered during boot process or that base is not sending data during this time.
For base mode :
- port is ttyMFD2, marked as "serial"
- corrections are sent with "ubx" protocol (messages RAWX and SFRBX)
- UART settings are baudrate 57600, 8 bits, no parity, 1 stop bit, no flow control
Same physical pins :
So at least your radio's RX must be connected to board's Edison TX.
You could also consider using GPS pins, that are directly connected to U-Blox chip :
In that case, use these settings in order to configure baudrate :
By default, Linux Yocto console is disabled on ttyMFD2. If you need to activate it, connect to the board with SSH and use the commands :
systemctl unmask serial-getty@ttyMFD2
systemctl enable [email protected]
systemctl start [email protected]
A TCP link is a good idea whenever radio's range or reliability needs to be improved.
Base side :
Select the option "tcpsvr" in order to set the base as a TCP server. Also select a port. It will then stream raw data through this port. Do not forget to Push the new options.
Rover side :
Select "tcpcli" in order to set the rover as a TCP client. Then enter base's IP address and port as shown above. In this case corrections are sent with U-Blox binary protocol, but nothing prevents you from using another protocol.
In this example we have used a local IP address, but you can also use external IP adresses.
If you want to use the Ethernet port, first plug the cable to your board. The corresponding LEDs should light up. Then SSH into board in Access Point mode as shown here. The command to enter to activate the Ethernet port is :
udhcpc -i eth0
or
udhcpc -i enp0s17u1u1
The output of the command will give your local IP address :
This can be used either for base or rover. Do not forget to configure your router port redirections if you want to broadcast or get signals outside your local network.