
项目内容
下载小说,并通过话题间隔5s发布一行小说。
核心问题。
怎么下载小说?用python的request库,下载。
怎么发布,需要定义话题的名字,话题的接口。什么接口呢,小说,是文字,在ros2中用string接口,就可以写代码。把名字和接口进行改造设置。
怎么间隔5s发布,定时5s,在ros2中有定时器。
一行。怎么得到一行。可以设置队列,分割,一个个发布。
打开虚拟机。
创建文件夹。
mkdir chapt3
cd chapt3
code ./
用vs打开文件夹

在文件夹中,右键,集成终端中打开
新建文件夹
topic_ws
在里面新建文件夹
src
在src中创建功能包
ros2 pkg create demo_python_topic --build-type ament_python --dependencies rclpy example_interfaces --license Apache-2.0
退回到工作空间
cd ...
ls
colcon build构建一下,出现build ,install log等工作空间的结构

打开package.xml看下依赖。

看下ros2 interfaces list
查看列表
然后发现太多列表内容。过滤一下。
ros2 interface list |grep example_interfaces
看到有string接口
可以具体看下里面的内容
有一个string data
新建py文件
书写模版。
先写一个框架。
import rclpy
from rclpy.node import Node
class NovelPubNode(Node):
def init (self,node_name):
super().init (node_name)
self.get_logger().info(f'{node_name},启动!')
def main():
rclpy.init()
node =NovelPubNode(novel_pub")
rclpy.spin(node)
rclpy.shutdown()