# 中央任务调度系统-通信开发
## Web 实现
[Source Code](central_system/talk_and_listen_server.py)
使用了 ROS2 的 Python 框架 [rclpy](https://github.com/ros2/rclpy) 及 一个轻量的 Python GUI 库 [remi](https://github.com/rawpython/remi)
> rclpy: ROS Client Library for the Python language.
> Remi is a GUI library for Python applications that gets rendered in web browsers. This allows you to access your interface locally and remotely.
### 主要思路
1. 使用 rclpy 创建一个节点用于和 ROS2 系统交互,负责订阅 ROS 的消息,以及将 web 页面的文本输入以 `std_msgs/msg/String` 的消息类型发布出去
2. 使用 remi 创建一个网页端的 GUI,使得任何装有浏览器的设备都可与之交互。这个 GUI 界面主要包含了一个 label 用于显示 server 端的发布的数据,一个文本输入框用于输入向 server 发布的数据,一个按钮用于触发发布事件。
### 实现效果图
![web](docs/web.png)
### 使用 Docker 部署
构建镜像
```SHELL
# 在 Dockerfile 路径下
docker build -t central_system .
```
启动容器
```SHELL
docker run -it --rm --name cs -p 8080:8080 central_system
```
打开浏览器,输入 `localhost:8080` 即可连接到服务端
通过服务端向网页客户端发送信息及接收网页端的消息
```SHELL
# 进入容器
docker exec -it cs bash
# 执行 ROS setup 脚本
source install/setup.bash
# 发布消息
ros2 topic pub -1 /from_server std_msgs/msg/String 'data: 哈喽,轻舟机器人!'
# 接收消息
ros2 topic echo /from_client
```
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 智能车航天智慧物流创意组预选赛参赛源码+项目说明.zip
资源推荐
资源详情
资源评论
收起资源包目录
智能车航天智慧物流创意组预选赛参赛源码+项目说明.zip (22个子文件)
code_20105
.clang-format 382B
.clang-tidy 2KB
central_system
setup.py 710B
package.xml 468B
resource
central_system 0B
docs
web.png 101KB
Dockerfile 585B
central_system
__init__.py 0B
talk_and_listen_server.py 2KB
setup.cfg 97B
README.md 2KB
lane_detector
include
lane_detector
lane_detector.hpp 999B
CMakeLists.txt 1KB
src
lane_detector_node.cpp 3KB
lane_detector.cpp 2KB
package.xml 709B
launch
detector.launch.py 761B
test
test_detector.cpp 2KB
README.md 1KB
config
default.yaml 227B
.gitignore 298B
README.md 185B
共 22 条
- 1
资源评论
土豆片片
- 粉丝: 1555
- 资源: 5641
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_2024-05-21-17-06-42-64_2332cb9b27b851b548ba47a91682926c.jpg
- 毕业设计参考 - 基于树莓派、OpenCV及Python的人脸识别
- node-v18.20.2-linux-arm64
- 222222222222
- 16张相机标定图片,可复现本文畸变矫正
- dbeaver-ce-23.3.1-x86_64-setup.zip
- 基于X86 AVX2指令的快速卷积实现
- VMware-ESXi-7.0U3n-21930508-depot.zip文件
- MySQL 在 Windows 系统下的安装教程.zip
- Access文件数据库访问的客户端
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功