void Update()
    {
        if (AssetPanel.main.selectedAsset.GetComponent <HCSTelemetry>().macAddress != "")
        {
            HCSTag tag = mqttManager.main.listOfHCSTags[hcsTelemetry.macAddress];
            if (t < data[0].Length - 1)
            {
                t += 1;
            }
            else
            {
                t = 0;
            }
            if (tag.ori[0] != null)
            {
                data[0][t] = Mathf.Sqrt(Mathf.Pow(tag.acc[0], 2) + Mathf.Pow(tag.acc[1], 2) + Mathf.Pow(tag.acc[2], 2));
            }

            if (_LineChart != null)
            {
                _LineChart.UpdateData(data);
            }

            //Update Data
            badBend.isOn         = AssetPanel.main.selectedAsset.GetComponent <HCSTelemetry>().badBendActivated;
            temperatureText.text = tag.tmp.ToString() + " C";
            pressureText.text    = tag.bmp.ToString() + " Pa";
            humidity.text        = tag.hum.ToString() + " %";
            HCSTagIdText.text    = tag.macAddress;
            OrientationObject.transform.rotation = Quaternion.Slerp(OrientationObject.transform.rotation, Quaternion.Euler(tag.ori[0], tag.ori[1], tag.ori[2]), 2 * Time.deltaTime);
        }
    }
Exemple #2
0
    void clientBlueMix_MqttMsgPusblishReceived(object sender, MqttMsgPublishEventArgs e)
    {
        //Debug.Log("HCS_BLE_Tag received");
        string message    = System.Text.Encoding.UTF8.GetString(e.Message);
        string evt        = e.Topic.ToString().Split('/')[6];
        string macAddress = e.Topic.ToString().Split('/')[4];

        try
        {
            HCSTag incomingTag = new HCSTag();
            incomingTag            = JsonUtility.FromJson <HCSTag>(message);
            incomingTag.macAddress = macAddress;

            //IF tag exists, update it:
            if (listOfHCSTags.ContainsKey(macAddress))
            {
                switch (evt)
                {
                case "orin":
                    listOfHCSTags[macAddress].ori = incomingTag.ori;
                    listOfHCSTags[macAddress].acc = incomingTag.acc;
                    listOfHCSTags[macAddress].gyr = incomingTag.gyr;
                    break;

                case "envi":
                    listOfHCSTags[macAddress].lit = incomingTag.lit;
                    listOfHCSTags[macAddress].snd = incomingTag.snd;
                    listOfHCSTags[macAddress].hum = incomingTag.hum;
                    listOfHCSTags[macAddress].bmp = incomingTag.bmp;
                    listOfHCSTags[macAddress].uvi = incomingTag.uvi;
                    listOfHCSTags[macAddress].tmp = incomingTag.tmp;
                    listOfHCSTags[macAddress].alt = incomingTag.alt;
                    break;

                case "meta":
                    listOfHCSTags[macAddress].bat = incomingTag.bat;
                    listOfHCSTags[macAddress].tim = incomingTag.tim;
                    break;
                }
            }
            // If tag doesn't exist, create it:
            else
            {
                HCSTag newTag = incomingTag;
                listOfHCSTags.Add(incomingTag.macAddress, newTag);
            }
        }
        catch (Exception error)
        {
            Debug.Log("error" + error);
        }
    }