Unity文本框解析读取mqtt服务器JSON数据

这篇具有很好参考价值的文章主要介绍了Unity文本框解析读取mqtt服务器JSON数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本次内容是讲述如何将mqtt服务器中接收到的数据在Unity3D的文本框控件中显示JSON键值对中的“值”。

需求:

1.GameObject——>UI——>Text (将Unity 3D的文本框控件置于场景)

命名空间引用:using UnityEngine.UI;

2.Newtonsoft插件

命名空间引用:Newtonsoft.Json.Linq;

3.MQTT通讯需求:

(1)http://www.hslcommunication.cn/ 胡工科技下载资源库

Unity文本框解析读取mqtt服务器JSON数据

(2)将两个DLL文件拖入Unity的scripts文件夹(2021版本及以上的Unity不同添加Newtonsoft,不然好像会报错,Unity已经自带了)

Unity文本框解析读取mqtt服务器JSON数据

 Unity文本框解析读取mqtt服务器JSON数据

代码:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.UI;

using HslCommunication.MQTT;

using System.Text;

using System.Diagnostics;

using System;

using System.IO;

using Newtonsoft.Json.Linq;

public class text_transfer : MonoBehaviour

{

    private MqttClient mqttClient;

    public Text timeText; //在unity里的定义

    public string TimeText;

    // Start is called before the first frame update

    void Start()

    {

        timeText = GameObject.Find("Canvas/Text").GetComponent<Text>();

        mqttClient = new MqttClient(new MqttConnectionOptions()

        {

            ClientId = "ABC",                     // 客户端的唯一的ID信息

            IpAddress = "192.168.1.126",              // mqtt服务器的地址

        });

        // 连接服务器

        HslCommunication.OperateResult connect = mqttClient.ConnectServer();

        if (connect.IsSuccess)

        {

            // 连接成功

            UnityEngine.Debug.Log("连接成功");

        }

        else

        {

            // 连接失败,过会就需要重新连接了

            UnityEngine.Debug.Log("连接失败");

        }

        // 然后添加订阅

        HslCommunication.OperateResult sub = mqttClient.SubscribeMessage("test");

        if (sub.IsSuccess)

        {

            // 订阅成功

            UnityEngine.Debug.Log("订阅成功");

        }

        else

        {

            // 订阅失败

            UnityEngine.Debug.Log("订阅失败");

        }

        // 订阅示例

        mqttClient.OnMqttMessageReceived += (MqttClient client, string topic, byte[] payload) =>

        {

            TimeText = Encoding.UTF8.GetString(payload);

            UnityEngine.Debug.Log("Time:" + DateTime.Now.ToString());

            UnityEngine.Debug.Log("Topic:" + topic);

            UnityEngine.Debug.Log("Payload:" + Encoding.UTF8.GetString(payload));

            //timeText.text = TimeText;

        };      

    }

    private void Update()

    {

        string json = TimeText;

        JObject obj = JObject.Parse(json);

        timeText.text = obj["转速1"].ToString(); //将对应键的数值赋值给文本框

        UnityEngine.Debug.Log(timeText.text);//打印值的内容在文本框

        //UnityEngine.Debug.Log(Convert.ToInt64(timeText.text));

    }

}

1.定义文本框函数

Unity文本框解析读取mqtt服务器JSON数据

2.接收JSON数据包

Unity文本框解析读取mqtt服务器JSON数据

3.解析

Unity文本框解析读取mqtt服务器JSON数据

Unity文本框解析读取mqtt服务器JSON数据

 Unity文本框解析读取mqtt服务器JSON数据

4.可以用多个文本框接收对应需求的数据,或是所有数据在一个文本框显示亦可

单文本框显示:

Unity文本框解析读取mqtt服务器JSON数据

 Unity文本框解析读取mqtt服务器JSON数据

 Unity文本框解析读取mqtt服务器JSON数据

 多文本框对应显示:多设置几个文本框变量再照前面的重复操作下就行了文章来源地址https://www.toymoban.com/news/detail-401751.html

到了这里,关于Unity文本框解析读取mqtt服务器JSON数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 阿里云服务器如何搭建MQTT服务器

    阿里云服务器如何搭建MQTT服务器

    入门教程:链接 将系统配置成Ubuntu18的(因为我只会用这个系统) 在实例处停止当前系统的运行,然后依次选择2,下拉菜单找到3进行更换系统,更换完成以后重启就好了。 如下图,依次点击1-4的按钮,第五步需要重新设置系统的密码 Xshell下载链接 安装完成后打开Xshell按照

    2024年02月03日
    浏览(17)
  • 【MQTT服务器】宝塔服务器安装EMQX

    【MQTT服务器】宝塔服务器安装EMQX

    本文介绍一种简单的服务器安装EMQX方法。         进入软件商店搜索docker,安装         拉取完成在容器列表可查看emqx状态 emqx的web管理地址:http://服务器公网IP:18083 账号:admin 密码:public 其他端口:如果发现某个端口访问不了,尝试去宝塔面板的安全位置去放行一

    2024年02月03日
    浏览(90)
  • MQTT通信架构 搭建MQTT服务器

    MQTT通信架构 搭建MQTT服务器

    MQ 遥测传输 (MQTT) 是 基于代理 的 发布/订阅 的消息传输协议。 传输屏蔽消息内容 TCP/IP有连接传输(可靠) 小型传输,开销很小,降低网络流量 使用lastwill等机制告知客户端异常中断(本次实验用不到) 三种消息发布服务质量 至多一次:消息发布完全依赖底层TCP/IP网络,会

    2024年02月02日
    浏览(13)
  • 【Unity 3D】C#从JSON文件中读取、解析、保存数据(附源码)

    JSON是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式存储和表示数据,简洁和清晰的层次结构使JSON成为理想的数据交换语言,易于读者阅读和编写,同时也易于机器解析和生成,并有效的提高网络传输效率 生成JSON数据实例代码如下 下面的代码将JSON中数据

    2024年02月11日
    浏览(65)
  • 自己搭建mqtt服务器

    自己搭建mqtt服务器

            前言:网上资料大部分都是使用的云服务,我是采用自己搭建的服务器来进行试验的,接下来将记录过程。 云服务器有很多种网上也有很多教学在这里不进行过多的解释了,我实验的时候采用的阿里云国内的服务器这里以后还会进行介绍。         本实验主要

    2024年02月03日
    浏览(12)
  • MQTT:windows环境下配置MQTT服务器(mosquitto)

    MQTT:windows环境下配置MQTT服务器(mosquitto)

    目录 1.下载 mosquitto 2.安装 mosquitto  3.配置 mosquitto  4.测试 mosquitto         登录网址:         http://mosquitto.org/files/binary/         这里是window环境,选择win32/,下载mosquitto安装包。          双击安装 - 点击Next - 点击Next - 选择安装路径 - 点击install - 点击Finish。

    2024年02月11日
    浏览(14)
  • Android+MQTT(Android APP 连接至MQTT服务器)

    Android+MQTT(Android APP 连接至MQTT服务器)

    这段时间因为毕设的需求,接触学习了一下用Android app连接MQTT服务器,然后对下位机(STM32/ESP8266)进行数据通讯的一个小设计,本篇文章介绍app+MQTT服务器这一段。 实现原理: 这里设计的是一个监测控制智能风扇的APP,可以实时监测当前温度、湿度及下位机的传感器、控制

    2024年02月02日
    浏览(12)
  • Windows下搭建MQTT服务器

    Windows下搭建MQTT服务器

    MQ遥测传输(MQTT)是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放、简单、轻量、易于实现。这些特点使它适用于低带宽受限环境。 特点包括以下: 使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。 对负载内容屏蔽的消息传输。 使用

    2024年02月03日
    浏览(16)
  • 本地MQTT服务器搭建(EMQX)

    本地MQTT服务器搭建(EMQX)

    下载地址:EMQ (emqx.com) 打开官网后,选择右边的免费试用按钮 然后单击EMQX Enterprise标签,然后选择下面的EMQX开源版,选择开源版的系统平台为Windows,单击免费下载。 在新页面下单击立即下载 将下载的emqx-5.1.6-windows-amd64.zip解压出来,解压目录不能存在中文、空格、特殊字符

    2024年02月09日
    浏览(12)
  • mqtt服务器搭建与qt下的mqtt客户端实现

    mqtt服务器搭建与qt下的mqtt客户端实现

      MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(Io

    2024年02月06日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包