3.搭建消息服务器(流媒体服务器和开发板)

3.搭建消息服务器(流媒体服务器和开发板)

本来计划也是使用usrsctp来实现消息通信,但是mqtt更加轻量级,因此使用mqtt作为通信。

安装mqtt

git clone https://github.com/LiamBindle/MQTT-C.git
#修改makefile 屏蔽# MQTT_C_UNITTESTS = bin/tests
make all

安装mqtt broker转发协议代理

wget https://packages.emqx.io/emqx-ce/v5.1.6/emqx-5.1.6-ubuntu20.04-amd64.tar.gz
cp ~/samba/emqx-5.1.6-ubuntu20.04-amd64.tar.gz .
mkdir -p emqx && tar -zxvf emqx-5.1.6-ubuntu20.04-amd64.tar.gz -C emqx
sudo systemctl start emqx
./emqx/bin/emqx start

ubuntu下本地测试

subscriber端
在这里插入图片描述

publisher端
在这里插入图片描述

ubuntu与板子测试

重新编译mqtt为arm版本的

git clone https://github.com/LiamBindle/MQTT-C.git
## 修改点1:修改编译器,CC = aarch64-none-linux-gnu-gcc
## 修改点2: 只编译两个sample, MQTT_C_EXAMPLES = bin/simple_publisher bin/simple_subscriber
## 修改点3:屏蔽test, # MQTT_C_UNITTESTS = bin/tests

拷贝编译好的订阅和推送文件到板子上

板子端进行推送消息,需要注意的是,板子推送到服务器的地址,服务器是订阅自身的地址。
这样子才能通过mqtt broker转发消息给自己。

板子推送消息和ubuntu为接收消息
在这里插入图片描述在这里插入图片描述

板子接收消息和服务器发送消息
在这里插入图片描述
在这里插入图片描述

所以服务器和板子可以相互通信,并且可以支持一对多和多对一。
下一步在流媒体服务器注册消息,实现流媒体服务器能够控制板子以及板子能否发送心跳数据包给媒体服务器

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值