[Documentation] [TitleIndex] [WordIndex

Single-machine "hello world" talker/listener

A minimal ROS system will have a roscore name service, a single publisher node (talker), and a single subscriber node (listener). For purposes of demonstration, we suggest running each of these in their own terminal:

Terminal 1

cd ~/sros
source install/setup.bash
sroscore --keyserver

Terminal 2

cd ~/sros
source install/setup.bash
srosrun rospy_tutorials talker

Terminal 3

cd ~/sros
source install/setup.bash
srosrun rospy_tutorials listener

Commentary

You should now see "Hello, World!" messages being sent from Terminal 2 to Terminal 3 using SSL (more specifically, TLS v1.2). All of the negotiations to set up that connection were also done over SSL, and the sroscore processes was generating self-signed keys as necessary. The default storage location for these keys is ~/.ros/keys, where each ROS node has its own subdirectory for its "key store."

When you're done, type Ctrl+C in each terminal to stop them. Note that this mode of operation currently uses an unsecured XML-RPC server to bootstrap key generation and distribution. To actually run this demo securely, you need to omit the --keyserver argument from sroscore to leave the keyserver disabled by default:

Terminal 1, in secure mode

cd ~/sros
source install/setup.bash
sroscore

2022-05-28 13:03