1.在Arduino中安装AsyncTCP库
首先需要在Arduino中安装AsyncTCP库。可以在Arduino IDE中的“工具”菜单中选择“库管理器”,然后搜索“AsyncTCP”并按照提示进行安装。
2.编写Arduino代码
以下是一个简单的Arduino代码示例,它将等待从客户端发送的数据,并在接收到数据时打印它:
#include 
#include 
AsyncServer server(80);
void setup() 
{
  Serial.begin(115200);
  WiFi.begin("ssid", "password");
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  server.onClientConnected([](void* arg, AsyncClient* client) {
    Serial.println("Client connected");
  });
  server.onData([](void* arg, AsyncClient* client, void *data, size_t len) {
    Serial.println("Receiving data from client...");
    Serial.write((const uint8_t*)data, len);
  });
  server.onDisconnect([](void* arg, AsyncClient* client) {
    Serial.println("Client disconnected");
  });
  server.begin();
}
void loop() 
{
  // handle client connections
  server.handleClient();
}
  3.编写Unity C#代码
以下是一个简单的Unity C#代码示例,它将连接到Arduino,并向Arduino发送数据:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Net.Sockets;
using System.Text;
public class ArduinoCommunication : MonoBehaviour
{
    public string ip = "192.168.1.2";
    public int port = 80;
    private TcpClient client;
    void Start()
    {
        client = new TcpClient();
        client.Connect(ip, port);
    }
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            SendData("Hello from Unity");
        }
    }
    void SendData(string data)
    {
        byte[] bytes = Encoding.ASCII.GetBytes(data);
        NetworkStream stream = client.GetStream();
        stream.Write(bytes, 0, bytes.Length);
    }
}