Skip to main content

No project description provided

Project description

SpireMS logo

SpireMS

介绍

Spire消息系统,一个类似ROS的轻量化消息发布、订阅软件包,支持图像、雷达等传感器话题。

安装教程

Python安装

  1. 安装(命令行执行)
pip install spirems
  1. 引入(Python代码)
from spirems import Subscriber, Publisher, def_msg

C++安装(Ubuntu系统)

  1. 依赖项安装,如果已经安装cmake、opencv则可以忽略以下2行
sudo apt update
sudo apt -y install cmake libopencv-dev
  1. 源码安装
git clone https://gitee.com/jario-jin/spirems.git
cd spirems/spirems_cpp
mkdir build && cd build
cmake ..
sudo make install
  1. 在自己项目的CMakeLists.txt中引入SpireMS
find_package(SpireMS REQUIRED)
include_directories(${SpireMS_INCLUDE_DIRS})
target_link_libraries(YourAppName ${SpireMS_LIBS})

使用说明

Python使用说明

  1. 启动Core服务
smscore
  1. 发布话题
from spirems import Publisher, def_msg
import time
pub = Publisher('/topic/hello', 'std_msgs::String')
msg = def_msg('std_msgs::String')
while True:
    msg['data'] = 'hello world!'
    pub.publish(msg)
    time.sleep(1)
  1. 订阅话题
from spirems import Subscriber

def callback_f(msg):
    print(msg['data'])

sub = Subscriber('/topic/hello', 'std_msgs::String', callback_f)

C++使用说明

  1. 启动Core服务(命令行方式,也可以用Python中的启动方式,启动一次即可)
smscore
  1. 发布话题
#include <sms_core.h>

int main(int argc, char *argv[])
{
    sms::Publisher pub("/topic/hello", "std_msgs::String");
    nlohmann::json msg = sms::def_msg("std_msgs::String");
    
    while (true)
    {
        msg["data"] = "hello world!";
        pub.publish(msg);
        sleep(1);
    }
}
  1. 订阅话题
#include <sms_core.h>

void callback(nlohmann::json msg)
{
    std::cout << msg["data"] << std::endl;
}

int main(int argc, char *argv[])
{
    sms::Subscriber sub("/topic/hello", "std_msgs::String", callback);
    sub.join();
    return 0;
}

命令行控制

  1. 显示所有话题
sms list
  1. 打印话题
sms echo /topic/hello
  1. 打印话题频率
sms hz /topic/hello
  1. 打印参数服务器所有参数
smsparam list
  1. 在线更新参数
smsparam set param_key param_value
  1. 导出所有参数
smsparam export output.json

参与贡献

  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spirems-0.2.9-py3-none-any.whl (693.3 kB view details)

Uploaded Python 3

File details

Details for the file spirems-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: spirems-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 693.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.19

File hashes

Hashes for spirems-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e04651abc48bc64589dda85d9c9ad7a07d1a382ff9a9fdf7b1570c30b4cc2b51
MD5 75cd4ece791aa03785a3131880b305b9
BLAKE2b-256 0891b4af1fd361e86f27a65dabd50b578a87d548365917ce2416567fe052da78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page