Skip to main content

Spire message system, a lightweight message publishing and subscription software package similar to ROS.

Project description

SpireMS logo

SpireMS

介绍

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

  1. 完美适配 Windows 和 Linux 系统,以及 C++、Python、Anaconda 的各类版本

  2. 一键部署安装,轻量化

  3. 可预先定义基础数据类型,也可以灵活适应新的类型

  4. 有中心模式,内置防崩溃机制,通信稳定可靠,没有订阅者不占用带宽

  5. Linux 系统下默认开启内存共享,图像传输超低延迟

    数据分发性能测试

具体内容请参考:SpireMS使用手册

安装教程

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 Distributions

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

spirems-0.4.8-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

spirems-0.4.8-cp313-cp313-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

spirems-0.4.8-cp313-cp313-musllinux_1_2_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ ARM64

spirems-0.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

spirems-0.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

spirems-0.4.8-cp312-cp312-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

spirems-0.4.8-cp312-cp312-musllinux_1_2_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ ARM64

spirems-0.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

spirems-0.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

spirems-0.4.8-cp311-cp311-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

spirems-0.4.8-cp311-cp311-musllinux_1_2_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ ARM64

spirems-0.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

spirems-0.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

spirems-0.4.8-cp310-cp310-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

spirems-0.4.8-cp310-cp310-musllinux_1_2_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ ARM64

spirems-0.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

spirems-0.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

spirems-0.4.8-cp39-cp39-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

spirems-0.4.8-cp39-cp39-musllinux_1_2_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ ARM64

spirems-0.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

spirems-0.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

spirems-0.4.8-cp38-cp38-musllinux_1_2_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

spirems-0.4.8-cp38-cp38-musllinux_1_2_aarch64.whl (3.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ ARM64

spirems-0.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

spirems-0.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: spirems-0.4.8-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for spirems-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 e31efe64b84a0957436381a33e5a79ec17a3ab54207ef537c64e706869757fa8
MD5 ea11ac7719647cd6e1a6b69b25c2597a
BLAKE2b-256 fc698c7beb2922401791dbf87cc793e24ac04924642be27b11238c9f1539d72f

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da2d63338ff7cbb3b0ddf107e4e45f3ab4232527c094dec8b5d885796ee38938
MD5 9812ebc47c2dcf8e3098d1a95d6ba3a6
BLAKE2b-256 1afd015e4dbdac20a7b689b9b7b80b8501142e1091d5ca3416e73b4272ba1ba8

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp313-cp313-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp313-cp313-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a7dac6d73215e247a711ba6f7694a48bdb25f97abbb84248f210faa31b397982
MD5 e7d20f3f439aa07e6018cde7ed3b5087
BLAKE2b-256 35782dc9fc7b603be59411bc1da5133bc29ea585e461fea6ce46c3f80022dea8

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 489bb3ddc602bbcf7cbf82aaa27e0d019ca9d3b9494d81a19499e2ca1b610a25
MD5 f8d4eede6974ca1564546a9fcd52852f
BLAKE2b-256 3515750c12db70677612c822f2234c9fb31403b1c9709db13c4c1eb32022f81b

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 158b949967ef77b470bde2667915e8446602057ea590c91a64b61df2ce09355f
MD5 5f2f872ba47ea2aa79a99247a7a7002e
BLAKE2b-256 889eb81f7f97a95c0b7668b8edf98d7b502d34818b61785d0f1f5db74a010054

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 62fb8ed7f0d869343337f48ea02a78fd8eca13574d4d2efb25a0d0d3cb7625be
MD5 eec866c5b3a7ffc6a67a33147d574e63
BLAKE2b-256 a11277fc6195daeb26118dd9b3798c352d8e700ee8206f508d42a93f8d37514a

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp312-cp312-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp312-cp312-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f3de1967225ae62cadf8d74dcdace94715181241ef08057a9f28675b73fd93c0
MD5 61bb2722fcb05ece5f290868e2cc4d7b
BLAKE2b-256 5453b56198d85dc7971dc779155feea57ef0d763462174e15c81b2751bc08e31

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5aabbfa6c562dc2397842f55aabc4f043bacc5b7bc928cc8b0d59233fdd2229c
MD5 3a50ac9bacd42c63bc7aca443c0a0c83
BLAKE2b-256 de9b2a41a0837106b93597dc98a400943ff6d87656abfdf01a27160a44521c5f

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 91e748fb160571bb6d66a09117c14d7a65ecd4bd45c1f5a386bfca5f75df736e
MD5 029fc711325d3d1ba15304d810e67475
BLAKE2b-256 fb08f3b817d778b3c23b9083a8acafe1a22a401caa9e7f745037eaf0b2c208d5

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 729a14b17806771c0102446557c33674b22cf43524ae07cc4cbcdd70efa42eba
MD5 7e89c92955c823612f05d2515a4b848c
BLAKE2b-256 5931daf613fd88105f06d9f078c5238498b5d2e332ff281910af1038558bbbea

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp311-cp311-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp311-cp311-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f3aecf563274831c82ef536caa08e3be634898f332e3dea7a2841cbc22d7d675
MD5 f1afefaca557532893da920a3f7f06fc
BLAKE2b-256 ce130d5b0e6221744cb3731c371195a01a119a7ac32e7cb23d1c82f6886aba05

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4295a20bc67aa743061b3180eda9e2cd3e71425a85fcd60d288388a49c4efcd8
MD5 9a5a6a2489689b9bea26a172d59b36d5
BLAKE2b-256 e0c4790be0763bf5b04c0f0178165c4da90e59d3b175506d365d0a6129c1103f

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 de05b1b93676ea77d59bd36aa3fcb44e92b1b8984ab294db1bc7b7d5a3c8cfd0
MD5 25f8e39e5d460c07649c04945313fb4f
BLAKE2b-256 64089c0b52fbaf92176946c5155e846b0d35b88e4981ad215d1583a500ac7f5a

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f8b3a27582d4d99121e7dd01488617f7fae6098c95dbd73c27709eb60cbef28d
MD5 8699d929862ce82e6ac88d8f4754a9cf
BLAKE2b-256 e6553ba6aa021ebcdbb1979e514721f370a30d962efe509cce685e27d43aa095

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp310-cp310-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp310-cp310-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 33476052695e0509e7bd5e77446c3b03e9b1a471ee25ae738b4f653c9c7f3603
MD5 a7310b8177c2ae8e27d86665f07afb59
BLAKE2b-256 a3aaa8a2912c396d6237b22436fee1eabe76e1384005d2a0f839d019f51798e0

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0cd62c6e7b53d7397e86ac1e78abf164700cea3dc8572b3724ac2fbe71de05e3
MD5 545ca21a695695f2e7c479913d24b0c6
BLAKE2b-256 790ccee64faaaaa735fe8fbddd68f5a6396b8d633ca2895f14033943eb890416

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d526bf2afa6b3c2db0e61561fca7c644e9d6a3ac3671dd88996b92df4917194c
MD5 5fdf208e48a1441307bfcfc6600ee8be
BLAKE2b-256 d86e06cb7913cabe42d48ec1528dcdfce6c0568f02deea882acb33877d63d409

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 05cb80076cf4d5a50013779a5cc98df6224c3cfdc4cbb771d47094779b3b156b
MD5 d95c45fb43f2c1d0b51f3e0d81e748ff
BLAKE2b-256 9b93afa5f546255f7729963a5c65a066481fee5bc156d2230d770f5bded7b440

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp39-cp39-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp39-cp39-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6a2d1d9e83a5c4eec743841184d0fcb906a3f35c894e5a7294aa354c311fa60c
MD5 504654d0d279f1b2d741ce321b750a60
BLAKE2b-256 832d39b046b8e91becc76a9f99adfb0928a93c16af61ea321af48bd14f66af93

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a898a04437308b654abb3c6a252eca0432769f89cea109fdb86ed14a4a20352d
MD5 069b53389590b04417d0737b189d15d9
BLAKE2b-256 a7878b4366d1d110dc1a2048f9ec1ae8172ccf088566465549930479249002fb

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 51a4de5c8bca1fb8fd159b464c16f126a8145302a42a032a9bfa66d8fcd6f211
MD5 418dcbe947da39d178cfee35247b4a53
BLAKE2b-256 afa35b09e296f45f4b7889b1363df7b1401c692cc12e4fc3995e52ed3d82f29e

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8d8882f8f9917b696d99ba8b6da742d6cc06d7cd974d249fe2cc96961d271a06
MD5 4eba7135e158e3277000bcac9a57ee5d
BLAKE2b-256 60544084663e870da8f70699c0721b69d09ce2823b340d094809adfbda03a873

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp38-cp38-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp38-cp38-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 bfc41634cfb10cc23b231608a363fbc0f7e2359bdbec9f37cdbb857e2147a566
MD5 88431040ea82dff2994ecd0d2683c6ab
BLAKE2b-256 a8181b83b6ea9f2d8b669e0712187d040652e95b0e1bf7fd8f87b5c78bb8effe

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31d64678491b8c5b12b2131e13f5907494de4165e6485e623b97317505b2bd1e
MD5 7db24062c02c8d0643737049f9c6b020
BLAKE2b-256 3727d6e12a45be4b000be73c67cc0f9102364377565dcd9bec819d7e1f2e9789

See more details on using hashes here.

File details

Details for the file spirems-0.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for spirems-0.4.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 674288e948095f8b37bb6f0df8f0eaf6d8bfed5b0483493623d93443b6012418
MD5 7c75e2e68433a1dbc8f21d984ba5cd7a
BLAKE2b-256 a2a46cc5ecebdb23e5d5192fd944ba5e09c334e85db950341688591344b3025e

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