Beispiel #1
0
    // Update is called once per frame
    void Update()
    {
        deltatime   += Time.deltaTime;
        arPanelAngle = arPanel.transform.localEulerAngles;

        /*
         * if (deltatime > 1.0f) {
         *  //StartCoroutine (GetSensorData ());
         *  setTarget (axisdata);
         *
         *  deltatime -= 1.0f;
         * }
         */
        if (isCalibrate)
        {
            //キャリブレーション中 3秒
            if (deltatime > 3.0f)
            {
                //終了
                CaliburationEnd();
            }
        }
        if (eulerdata != null)
        {
            SetTargetEuler(eulerdata);
        }

        //MqttTest();
        mqttController.OnMessageReceived.Subscribe(message => {
            //データ成型
            string json      = "";
            string[] arr     = message.Split('{');
            json             = string.Join("{\"", arr);
            string[] semiArr = json.Split(':');
            json             = string.Join("\":", semiArr);
            string[] comArr  = json.Split(',');
            json             = string.Join(",\"", comArr);
            NineAxis list    = JsonUtility.FromJson <NineAxis> (json);
            axisdata         = list;
        });
        mqttEuler.OnMessageReceived.Subscribe(message => {
            //データ成型
            string json      = "";
            string[] arr     = message.Split('{');
            json             = string.Join("{\"", arr);
            string[] semiArr = json.Split(':');
            json             = string.Join("\":", semiArr);
            string[] comArr  = json.Split(',');
            json             = string.Join(",\"", comArr);
            Euler data       = JsonUtility.FromJson <Euler> (json);
            eulerdata        = data;
            if (isCalibrate)
            {
                calEulerList.Add(data);
            }
        });
    }
Beispiel #2
0
    // Update is called once per frame
    void Update()
    {
        deltatime += Time.deltaTime;
        if (deltatime > 1.0f)
        {
            //StartCoroutine (GetSensorData ());
            setTarget(axisdata);

            deltatime -= 1.0f;
        }
        if (eulerdata != null)
        {
            SetTargetEuler(eulerdata);
        }

        //MqttTest();
        mqttController.OnMessageReceived.Subscribe(message => {
            //データ成型
            string json      = "";
            string[] arr     = message.Split('{');
            json             = string.Join("{\"", arr);
            string[] semiArr = json.Split(':');
            json             = string.Join("\":", semiArr);
            string[] comArr  = json.Split(',');
            json             = string.Join(",\"", comArr);
            NineAxis list    = JsonUtility.FromJson <NineAxis> (json);
            axisdata         = list;
        });
        mqttEuler.OnMessageReceived.Subscribe(message => {
            //データ成型
            string json      = "";
            string[] arr     = message.Split('{');
            json             = string.Join("{\"", arr);
            string[] semiArr = json.Split(':');
            json             = string.Join("\":", semiArr);
            string[] comArr  = json.Split(',');
            json             = string.Join(",\"", comArr);
            Euler data       = JsonUtility.FromJson <Euler> (json);
            eulerdata        = data;
        });
    }
Beispiel #3
0
    //9軸オブジェクトへ適用
    void setTarget(NineAxis data)
    {
        //ax 0-10を想定
        float AX = (data.ax * 18) - 90.0f;
        //ay 0-10を想定
        float AY = (data.ay * 18) + 90.0f;
        //az 0-10を想定
        float AZ = -((data.az * 18) - 90.0f);
        //gx -1-1を想定
        float GX = ((data.gx + 1.0f) * 180) - 90.0f;
        //gy -1-1を想定
        float GY = ((data.gy + 1.0f) * 180);
        //gz -1-1を想定
        float GZ = ((data.gz + 1.0f) * 180);

        //Debug.Log ($"{data.ax:F3}");
        //target.transform.rotation = Quaternion.Euler (90, 180, 0) * (new Quaternion (-data.gx, -data.gy, data.gz, 0));;
        string datastr = "AX:" + $"{data.ax:F3}" + " AY:" + $"{data.ay:F3}" + " AZ:" + $"{data.az:F3}" + "\n";

        datastr += "LX:" + $"{data.lx:F3}" + " LY:" + $"{data.ly:F3}" + " LZ:" + $"{data.lz:F3}" + "\n";
        datastr += "GX:" + $"{data.gx:F3}" + " GY:" + $"{data.gy:F3}" + " GZ:" + $"{data.gz:F3}" + "\n";
        //dataText.text = datastr;
    }