• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Unity+vuforia虚拟按键连接MQTTEMQX实现AR+IOTUnity C#代码实现二虚拟按键的按键监听+发布MQTT信息

武飞扬头像
JASON丶LI
帮助1

最近在尝试unity识别出对应图像之后呈现出对应的呈现出对应的虚拟模型;并且出现对应的虚拟按键可供交互;unity连接上自身搭建的EMQX服务器;可发送到对应的信息到EMQX,再由ESP8266/ESP32订阅对应topic接受指令,实现对应的操作。

想写篇文章来记录一下可发的流程,本来是想一篇文章全部写完的,但是发现如果挤在一篇里面篇幅会太长了,所以打算分开几篇去记录。

这篇文章是第二篇,主要介绍虚拟按键的运用以及Unity连接上EMQX并发送对应的指令。下面是这篇文章可以实现的最终效果图。

学新通

目录

开发环境

手机Android版本

硬件

第一步:导入MQTT库

第二步:创建虚拟按键

第三步:配置虚拟按键

第四步:编写虚拟按键对应脚本

第五步:将脚本导入虚拟按键

第六步:将Unity项目上传到Android手机

第七步:搭建EMQ私有服务器

第八步:检验


关于开发软件的搭载以及基础AR功能呈现请参考:

开发环境

Window 10

Unity2021.3.3f1c1

Vuforia Engine 10.7(add-vuforia-package-10-7-2.unitypackage

手机Android版本

Android12

硬件

ESP32/ESP8266

续前章

建议:

可以安装VScode,更加方便后续Unity脚本的的编写。注意脚本开发的语言是C#。这里附上VScode的下载地址Visual Studio Code - Code Editing. Redefined学新通https://code.visualstudio.com/

第一步:导入MQTT库

链接:https://pan.百度.com/s/1WsXRYm25qWIDsmvv2Met2w?pwd=4399 
提取码:4399 

去网盘提取该文件,然后解压

提前打开自身对应Unity项目(需要导入MQTT的Unity项目)

然后在文件夹 \Unity3d_MQTT-master\Packages 里面找到 unity3d_mqtt.unitypackage的脚本文件

双击打开.unitypackage,然后他会出现在Unity项目里面,全选然后点击Import

学新通学新通

第二步:创建虚拟按键

点击项目场景栏内之前已添加的ImageTarget,然后选择其内名为Image Target Behaviour(Script)的脚本,打开Adanced然后点击Add Virual Button添加虚拟按键,在点击后便会在场景栏ImageTarget内出现名为VirtualButton的按键。

学新通

第三步:配置虚拟按键

点击VirtualButton后选择其内名为Virtual Button Behaviour(Scriptd)的脚本设置其对应的Name(最好简单有标记性,一会编写脚本需要使用);然后第二个选项为Sensitivity Setting(此对应的为按键识别灵敏度,分为高中低三个程度)最好选择LOW因为识别精度太高容易出BUG。

学新通

第四步:编写虚拟按键对应脚本

首先在Unity操作框的下面Assets文件下面创建一个文件夹(我创建的名字是qt。然后如下图,右键文件夹内的空白出Create一个新的C#Script脚本。(注意创建的脚本文件名要与public class MqttEvents : MonoBehaviour的名字保持一致,不然会导致报错)然后输入对应代码(如有需要代码请联系作者或者在添加文末作者QQ要代码 FREE!)

学新通学新通学新通

第五步:将脚本导入虚拟按键

如下图将脚本拖拽进入虚拟按键对应的脚本列表,然后在File点击Save保存(注意一定要注意保存否则脚本会挂不上去) 

学新通

第六步:将Unity项目上传到Android手机

具体操作请参考本作者的文章

到此本篇的Unity开发就完成了,接下来就是搭建EMQ私有服务器 

第七步:搭建EMQ私有服务器

方法一:直接在EMQ官网下载EMQ个人版

Try EMQ Products for Free (emqx.com)学新通https://www.emqx.com/en/try?product=broker方法二:下载作者对应的EMQ版本(建议使用方法二,因为EMQ好像最近改版了,下载官网的可能与文章操作不符)

链接:https://pan.百度.com/s/1rw-J14pZUT_fp40_yhXjFA?pwd=4399 
提取码:4399 

 下载完成之后,记住EMQ对应的文件路径

接下来win R然后输入cmd进去命令指令框

学新通

然后输入对应的文件夹地址,cd打开文件夹内的bin,最后输入emqx start

(关闭的话同样cd进入bin文件夹,输入emqx stop)

学新通

 打开浏览器,输入http://127.0.0.1:18083/#/

账号:admin 密码:public

学新通

如下图可以从设置那里调整为中文

学新通

第八步:检验

切记运用Unity项目的Android手机要和搭建EMQ的设备处于同一局域网内

然后EMQ服务器端点击客户端就可以查看设备是否成功连接上EMQ服务器了

学新通

本文就介绍到这里,下一篇会介绍Android手机通过Unity发布MQTT指令,再又ESP8266/ESP32订阅对应topic接受指令,实现对应的操作。

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfifegc
系列文章
更多 icon
同类精品
更多 icon
继续加载