亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于物联网的AR

发布时间:2021-06-06
分享到:

基于物联网的AR

发布时间:2021-06-06
分享到:

本文主要介绍了如何使用Unity和Vuforia在增强现实仪表板上集成IoT传感器数据。

硬件部件:

设计步骤:

步骤一、准备工作:

  • Unity-使用版本2018.4.34
  • Vuforia-可以通过Unity Hub进行安装,还需在https://developer.vuforia.com/中创建一个开发人员帐户。
  • Arduino IDEA-需要安装它,并准备上传ESP8266草图(教程
  • Visual Studio代码
  • MQTT客户端(点击下载)(这个项目有两个高层次的组成部分)
  • 从Node MCU(ESP8266)将传感器数据发送到MQTT
  • 在AR仪表板上显示来自MQTT的传感器数据

步骤二、发送传感器数据到MQTT:

如上图所示,将DHT11传感器连接到ESP8266:

  • "+" ——3V3 
  • "-"  —— GND 
  • "Out" —— D4 

将存储库克隆到计算机:git clone https://github.com/just4give/ar-sensor-unity.git

在Arduino IDE更新中打开以下3行的SensorMCU.ino文件。输入Wifi SSID,密码并选择主题名称,如“您的名称/ esp8266 /传感器”:

更改代码后,上传草图并在串行监视器中检查日志,可以每分钟看到打印的温度和湿度。

现在,要确保将传感器数据发送到MQTT,打开之前下载的MQTT.fx客户端。然后创建一个新的连接配置文件。

Broker Address = broker.hivemq.com

Broker Port = 1883

Client ID = Click on "Generate" button to get random id

创建概要文件后,连接到代理。然后转到“订阅”标签,输入主题名称,然后单击“订阅”按钮。等待一分钟,可以看到ESP8266开发板中出现数据

步骤三、目标图像

增强仪表板将附加到目标图像:

文档中打印target_image.jpeg ,也可以使用其他图像(需要在Vuforia开发人员帐户中创建图像目标),需打印图像或在手机或平板电脑上打开即可。

步骤四、在Unity上创建AR仪表板

打开Unity Hub,单击“添加”按钮,然后选择之前克隆的ar-sensor-unity文件夹

单击项目,将在Unity中打开该项目,如下所示。

主视图有点空白,将“ sensorscreen”拖到“ Untitled”(左上角),可以看到“ sensorscreen”已添加为下图

右键单击“无标题”,然后删除屏幕。然后在VS代码或任何编辑器中打开Assets / Scripts / SensorReader.cs文件,然后键入在ESP8266中使用的主题名称。

将USB摄像头连接到计算机,然后单击“播放”按钮。将相机聚焦在目标图像上,可以看到通过Unity上的相机视图增强的虚拟仪表板

步骤四、上传图像

  • 访问网站并注册帐户
  • 登录帐户并导航到“许可证管理器”页面
  • 单击“获取开发密钥”,在下一页中,输入许可证名称(只需输入名称),然后单击“确认”
  • 单击许可证,然后在下一页上复制许可证密钥

  • 现在,转到Unity,单击“ ARCamera”,然后单击“打开Vuforia引擎配置”

  • 然后将许可证密钥粘贴在“应用程序许可证密钥”字段下,然后单击“添加许可证”。这将打开Vuforia开发人员门户。转到“目标管理器”,然后单击“添加数据库”按钮并创建一个。

  • 现在,单击数据库,将转至下一页

  • 在添加新图像目标之前,请先从互联网上选择一张图像

  • 单击“添加目标”按钮,从计算机中选择图像(类型=单张图像、宽度=目标的0.2比例(目标是0.25米。因此0.25x0.2 = 0.05))

  • 可以看到图像的等级,较高的评级意味着在增强过程中具有较高的准确性

  • 选择目标并单击“下载数据库”,下载后,双击文件并导入到Unity

  • 然后在Unity中,选择图像目标,数据库和图像,如下所示

  • 单击播放按钮,然后将相机聚焦在新的目标图像上

附件:

代码(点击查看

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论