我刚刚开始编程,无法解决当前存在的以下问题:
我有一个PHP脚本,可检索Raspberry Pi的CPU温度并将其显示在浏览器的本地网络上。我的浏览器中的输出只是一个空白页面,其值例如为只有56.7,而且没有更多。
我现在想知道的是,如果使用JSON Utility可以将该值导入到Unity->更具体地说,使用Vuforia导入增强现实环境中,即使它位于本地网络和唯一的输出就是温度值。
有没有人可以回答这些(可能是微不足道的)问题,并最终可以向我展示代码的样子?
假设我的浏览器中的值一经更改,Unity中的值是否就会更改,这是正确的吗?
我想在此先感谢大家的帮助,即使这些问题对于经验丰富的程序员来说似乎很明显,但我现在仍无法找到正确的答案。
最诚挚的问候!
答案 0 :(得分:2)
使用UnityWebRequest与您的Raspberry Pi联系。
以任何您喜欢的方式解析DownloadHandler.text。 JSON Utility是解析结果的一种选择,但是如果这是一个仅获得一个传感器值的爱好项目,则可能会过分杀伤。
https://docs.unity3d.com/Manual/UnityWebRequest-RetrievingTextBinaryData.html
要使用JsonUtility解析json,您将创建一个类来保存数据,并确保使用Serializable属性对其进行标记。
[System.Serializable]
public class MyData
{
public float temperature;
}
然后在RetrievingTextBinaryData示例中像这样解析它
MyData myData = JsonUtility.FromJson<MyData>(www.downloadHandler.text)
假设您的JSON看起来像这样
{ "temperature":30.7 }
注意:要使其不断轮询Raspberry Pi以获取更新,您将需要使用Update()方法而不是示例代码中的Start()来下载温度。