overall step is :create msg -->compile msg--> show msg
1 make workspace
#wheeltec@wheeltec:~$ mkdir -p launch_sensor_ws/src
#wheeltec@wheeltec:~$ cd ~/launch_sensor_ws/src
2 create package
wheeltec@wheeltec:~/launch_sensor_ws/src$ catkin_create_pkg launch_sensor_pkg std_msgs message_generation roscpp rospy RPi
wheeltec@wheeltec:~/launch_sensor_ws/src$ cd launch_sensor_pkg
3 create msg
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg$ ls
CMakeLists.txt include package.xml scripts src
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg$ mkdir msg
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg$ cd msg
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg/msg$ vim sensorEnvMsg.msg
notice:data type must correct
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg/msg$ cat sensorEnvMsg.msg
int32 msg_id
float32 temperature_value1
float32 atmosphere_value
float32 temperature_value2
float32 humidity_value
float32 gas_value
float32 rain_value
time msg_datetime
4 edit package.xml,remove remark !-- of two lines as follows
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg$ sudo nano package.xml
message_generation
message_runtime
5 edit CMakeLists.txt
wheeltec@wheeltec:~/launch_sensor_ws/src/launch_sensor_pkg$ sudo nano CMakeLists.txt
5.1
## is used, also find other catkin packages
find_package(catkin REQUIRED COMPONENTS
RPi
message_generation
roscpp
rospy
std_msgs
)
5.2
## Generate messages in the 'msg' folder
add_message_files(
FILES
sensorEnvMsg.msg
# Message2.msg
# )
5.3
## Generate added messages and services with any dependencies listed here
generate_messages(
DEPENDENCIES
std_msgs
)
5.4 must is #
catkin_package(
INCLUDE_DIRS include
# LIBRARIES launch_sensor_pkg
# CATKIN_DEPENDS message_generation message_runtime roscpp rospy std_msgs
# DEPENDS system_lib
)
6 compile
$ source devel/setup.bash
wheeltec@wheeltec:~/launch_sensor_ws$ catkin_make
ok as follows
Scanning dependencies of target launch_sensor_pkg_generate_messages
[100%] Built target launch_sensor_pkg_generate_messages
wheeltec@wheeltec:~/launch_sensor_ws$
7 rosmsg show msgname
wheeltec@wheeltec:~$ rosmsg show sensorEnvMsg.msg
[launch_sensor_pkg/sensorEnvMsg]:
int32 msg_id
float32 temperature_value1
float32 atmosphere_value
float32 temperature_value2
float32 humidity_value
float32 gas_value
float32 rain_value
time msg_datetime