134 lines
4.3 KiB
C#
134 lines
4.3 KiB
C#
using System;
|
||
using System.Collections;
|
||
using System.Collections.Generic;
|
||
using UnityEngine;
|
||
|
||
public class TcpNet : MonoBehaviour
|
||
{
|
||
TcpConnect tcpConnect;
|
||
// Start is called before the first frame update
|
||
|
||
private void Awake()
|
||
{
|
||
DontDestroyOnLoad(gameObject);
|
||
}
|
||
void Start()
|
||
{
|
||
tcpConnect = TcpConnect.Instance;
|
||
//tcpConnect.InitConnect("192.168.1.2",8899);
|
||
//tcpConnect.InitConnect("124.248.69.29", 13344);
|
||
//tcpConnect.InitConnect("192.168.1.2", 8899);
|
||
|
||
//EventCenter.dispatcher.AddListener(MsgType.OnGetBodyNum, OnGetBodyNum);
|
||
}
|
||
|
||
public void OnGetBodyNum(Message evt)
|
||
{
|
||
if (DataManager.Instance.bodyNum.Count > 0)
|
||
{
|
||
//string head = Convert.ToString(255, 16) + Convert.ToString(0, 16) + Convert.ToString(255, 16)
|
||
// + Convert.ToString(0, 16) + Convert.ToString(255, 16);
|
||
//string end = Convert.ToString(252, 16) + Convert.ToString(252, 16) + Convert.ToString(252, 16);
|
||
string head = "ff 00 ff 00 ff ";//尾部+空格
|
||
string end = "fc fc fc";
|
||
string type = "5e ";
|
||
string length = "02 ";
|
||
string data = "ca 01 ";
|
||
string str = head + type + length + data + end;
|
||
|
||
var bodyNum = DataManager.Instance.bodyNum[0];
|
||
//bodyNum.text = "体温:" + data.bodyTemperature + "\n血压:" + data.bloodPressure;
|
||
if (!string.IsNullOrEmpty(bodyNum.heartRate))//心率
|
||
{
|
||
int heart = int.Parse(bodyNum.heartRate);
|
||
type = "5a ";
|
||
length = "03 ";
|
||
data = bodyNum.heartRate + " ";
|
||
str = head + type + length + data + end;
|
||
StartCoroutine(SendBody(str));
|
||
}
|
||
if (!string.IsNullOrEmpty(bodyNum.bodyTemperature))//体温
|
||
{
|
||
string[] temp = bodyNum.bodyTemperature.Split('.');
|
||
type = "5a ";
|
||
length = "03 ";
|
||
string str1, str2;
|
||
if (temp.Length > 2)
|
||
{
|
||
str1 = temp[0];
|
||
str2 = temp[1];
|
||
}
|
||
else
|
||
{
|
||
str1 = temp[0];
|
||
str2 = "00";
|
||
}
|
||
data = "03 " + str1 + " " + str2 + " ";
|
||
str = head + type + length + data + end;
|
||
StartCoroutine(SendBody(str));
|
||
}
|
||
//if (!string.IsNullOrEmpty(bodyNum.breathingNum))//呼吸次数
|
||
//{
|
||
// type = "5a ";
|
||
// length = "02 ";
|
||
// data = "02 " + bodyNum.breathingNum + " ";
|
||
// str = head + type + length + data + end;
|
||
// StartCoroutine(SendBody(str));
|
||
//}
|
||
|
||
//if (!string.IsNullOrEmpty(bodyNum.bloodPressure))//血压 低 高
|
||
//{
|
||
|
||
// str = head + type + length + data + end;
|
||
// StartCoroutine(SendBody(str));
|
||
|
||
//}
|
||
}
|
||
}
|
||
|
||
// Update is called once per frame
|
||
void Update()
|
||
{
|
||
//if (Input.GetKeyDown(KeyCode.A))
|
||
//{
|
||
// SendConnectSuccess();
|
||
//}
|
||
}
|
||
|
||
void SendConnectSuccess()
|
||
{
|
||
string head = Convert.ToString(255, 16) + Convert.ToString(0, 16) + Convert.ToString(255, 16)
|
||
+ Convert.ToString(0, 16) + Convert.ToString(255, 16);
|
||
string end = Convert.ToString(252, 16) + Convert.ToString(252, 16) + Convert.ToString(252, 16);
|
||
|
||
head = "ff 00 ff 00 ff ";//尾部+空格
|
||
string type = "5e ";
|
||
string length = "02 ";
|
||
string data = "ca 01 ";
|
||
end = "fc fc fc";
|
||
string str = head + type + length + data + end;
|
||
//string str = head + end;
|
||
tcpConnect.SendMessage(textWork16(str));
|
||
|
||
|
||
}
|
||
|
||
int counts = 1;
|
||
IEnumerator SendBody(string url)
|
||
{
|
||
yield return new WaitForSeconds(counts++);
|
||
tcpConnect.SendMessage(textWork16(url));
|
||
}
|
||
|
||
private byte[] textWork16(string strText)
|
||
{
|
||
strText = strText.Replace(" ", "");
|
||
byte[] bText = new byte[strText.Length / 2];
|
||
for (int i = 0; i < strText.Length / 2; i++)
|
||
{
|
||
bText[i] = Convert.ToByte(Convert.ToInt32(strText.Substring(i * 2, 2), 16));
|
||
}
|
||
return bText;
|
||
}
|
||
}
|