NetworkingNEORACER DOCS
NEORACER DOCS
These docs are public and open source.Edit on GitHub
SOFTWARE / NETWORKING

THE CAR'S WI-FI.

The NeoRacer is its own access point. It broadcasts a Wi-Fi network named for its Car ID, and once your laptop joins it the car sits at a fixed address every time. No home router, no hunting for an IP, and the same steps whether you're on a kitchen table or a locked down campus.

SSID neoracer-[Car ID]static 192.168.1.[100 + Car ID]user racecarROS 2 DDS discovery
01 / CONNECT

CONNECT BY SSH.

Join the car's Wi-Fi from your laptop, the network named neoracer-[Car ID] with the password neobotics. Car ID is the number on your unit, so Car 1 broadcasts neoracer-1 and answers at 192.168.1.101. Then in as racecar:

bash
# After joining the car's Wi-Fi (neoracer-[Car ID]). ssh racecar@neoracer # by hostname ssh racecar@192.168.1.101 # or the static IP (Car 1) # password: neobotics
Car IDWi-Fi (SSID)Static IP
1neoracer-1192.168.1.101
2neoracer-2192.168.1.102
Nneoracer-[N]192.168.1.[100 + N]
  • The address is static and deterministic, so there is no IP to hunt for and no DNS to configure. Car N is always at 192.168.1.{100 + N}.
  • Because the car runs its own network, this works the same on any Wi-Fi-hostile venue. Nothing depends on the room's router.
  • The username is racecar, the hostname is neoracer, and the password can be changed per unit.
02 / HEADLESS, NO SSH

HEADLESS IN A BROWSER.

JupyterLab runs on the car as an auto-start service, so once you're on its Wi-Fi you can open a notebook from any browser with no terminal at all. It lives on port 8888 at the same static address.

bash
# In a browser on the car's Wi-Fi, for Car 1: http://192.168.1.101:8888
03 / ROS 2 ACROSS THE LINK

ROS 2 DISCOVERY.

Once your laptop is on the car's Wi-Fi, you share the 192.168.1.x , and ROS 2 uses to find the car nodes automatically. You can list the car's topics and run nodes on the laptop that talk to /scan, /drive, and the rest, with no master process in between (the driver has to be running on the car first, with teleop).

bash
# From your laptop, on the car's Wi-Fi. ros2 topic list # /scan /drive /imu /odom /camera /joy ros2 topic echo /scan --once # a single scan, straight off the car
01

Same subnet

You get this by joining the car's Wi-Fi.
DDS discovery reaches the car nodes when both sides are on the same subnet. Joining neoracer-[Car ID] puts you on 192.168.1.x with the car, so the graph comes together on its own.
ros2 topic list
02

Same ROS_DOMAIN_ID

Matched on both ends.
ROS 2 only joins peers that share the same ROS_DOMAIN_ID. Set the same value on the laptop and the car, and the two halves of the graph see each other.
export ROS_DOMAIN_ID=...
04 / NETWORKING AT A GLANCE

QUICK REFERENCE.

TaskHowWhat it needs
Get on the carJoin the car's own Wi-Fi access point.SSID neoracer-[Car ID]
SSH inConnect as racecar at the hostname or static IP.racecar@192.168.1.10X
HeadlessOpen the auto-started JupyterLab in a browser.:8888
See the car nodesROS 2 DDS discovery over the shared subnet.same subnet + ROS_DOMAIN_ID