Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
M
mmc-stl-vue2
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
mmc-stl-vue2
Commits
b3200dda
提交
b3200dda
authored
3月 27, 2023
作者:
翁进城
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
mqtt快捷指令
上级
fba2db77
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
75 行增加
和
6 行删除
+75
-6
mqttOrders.js
src/plugins/MMCMQTT/mqttOrders.js
+22
-0
store.js
src/plugins/MMCMQTT/store.js
+29
-2
demo.vue
vue2/src/views/mqtt/demo.vue
+24
-4
没有找到文件。
src/plugins/MMCMQTT/mqttOrders.js
0 → 100644
浏览文件 @
b3200dda
export
default
{
无人机模式切换
:
513
,
云台控制指令
can
包透传
:
514
,
原地起飞控制
:
515
,
原地降落
:
516
,
返航
:
517
,
航线控制
:
518
,
摇杆控制
:
519
,
航线下载
:
520
,
航线上传
:
521
,
航线一键起飞
:
522
,
暂停航线任务
:
523
,
继续航线任务
:
524
,
结束航线任务
:
525
,
MAVLink
数据包透传
:
526
,
激活无人机
:
527
,
NX
控制
:
528
,
无人机参数设置
:
530
,
设备控制
:
531
,
//无人机警灯、尾灯、降落伞、隐蔽控制
绑定任务
id
:
769
,
链路切换
:
770
};
src/plugins/MMCMQTT/store.js
浏览文件 @
b3200dda
import
mqtt
from
'mqtt'
;
import
mqttOrders
from
"./mqttOrders"
;
function
uint8array2json
(
uint8array
)
{
if
(
!
uint8array
||
!
uint8array
.
length
)
{
...
...
@@ -21,6 +22,7 @@ export default {
type(如258): {}
} */
},
mqttOrders
,
//所有指令
},
mutations
:
{
setClient
(
state
,
data
)
{
...
...
@@ -125,13 +127,37 @@ export default {
* @param {*} options
* @param {*} type
*/
publish
({
state
},
{
topic
,
message
,
callback
,
options
=
{
qos
:
0
}})
{
publish
({
state
},
{
topic
,
data
,
callback
,
options
=
{
qos
:
0
}
})
{
console
.
log
(
'publish'
,
topic
,
data
)
state
.
client
.
publish
(
topic
,
new
TextEncoder
().
encode
(
JSON
.
stringify
(
message
)),
new
TextEncoder
().
encode
(
JSON
.
stringify
(
data
)),
options
,
callback
);
},
/**
* 全部指令
* @param {*} param0
* @param {*} param1
* @param {String} param1.topic 发送的主题
* @param {String} param1.order 指令名称
* @param {Object} param1.data 指令对应的数据
* @param {Function} param1.callback 成功回调
*/
order
({
dispatch
},
{
topic
,
order
,
data
,
callback
})
{
if
(
mqttOrders
[
order
]
===
undefined
)
{
throw
"该命令不存在!"
;
}
dispatch
(
"publish"
,
{
topic
,
data
:
{
type
:
mqttOrders
[
order
],
data
,
callback
,
},
});
},
},
};
\ No newline at end of file
vue2/src/views/mqtt/demo.vue
浏览文件 @
b3200dda
...
...
@@ -3,8 +3,11 @@
<el-form>
<el-form-item
label=
"无人机id"
>
<el-input
v-model=
"deviceHardId"
></el-input>
<el-button
@
click=
"onSubscribe"
>
订阅
</el-button>
</el-form-item>
<el-form-item
label=
"操作"
>
<el-button
@
click=
"subscribe"
>
订阅
</el-button>
<el-button
@
click=
"unsubscribe"
>
取消
</el-button>
<el-button
@
click=
"publish(
{type: mqttOrders.继续航线任务})">继续飞行
</el-button>
</el-form-item>
</el-form>
<div>
...
...
@@ -24,6 +27,12 @@ export default {
computed
:
{
text
(){
return
this
.
$store
.
state
.
MMCMQTT
.
dataSet
;
},
mqttOrders
(){
return
this
.
$store
.
state
.
MMCMQTT
.
mqttOrders
;
},
topic
(){
return
`PX4/RECEIVE/
${
this
.
deviceHardId
}
`
;
}
},
async
created
(){
...
...
@@ -37,9 +46,9 @@ export default {
console
.
log
(
'mqtt连接成功'
);
},
methods
:
{
onS
ubscribe
(){
s
ubscribe
(){
this
.
$store
.
dispatch
(
'MMCMQTT/subscribe'
,
{
topic
:
`PX4/RECEIVE/
${
this
.
deviceHardId
}
`
,
topic
:
this
.
topic
,
callback
(){
console
.
log
(
'订阅成功'
)
}
...
...
@@ -47,8 +56,19 @@ export default {
},
unsubscribe
(){
this
.
$store
.
dispatch
(
'MMCMQTT/unsubscribe'
,
{
topic
:
`PX4/RECEIVE/
${
this
.
deviceHardId
}
`
topic
:
this
.
topic
})
},
publish
({
type
}){
this
.
$store
.
dispatch
(
'MMCMQTT/publish'
,
{
topic
:
this
.
topic
,
data
:
{
type
},
callback
(){
alert
(
'发送成功'
)
}
})
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论