采用的是esp32芯片和红外传感器,制作的硬件 
			
			
			- /*
 -  *  This sketch sends a message to a TCP server
 -  *
 -  */
 - 
 - #include <WiFi.h>
 - #include <WiFiMulti.h>
 - 
 - WiFiMulti WiFiMulti;
 - 
 - int k=1;
 - 
 - void setup()
 - {
 -     Serial.begin(115200);
 -     delay(10);
 -     pinMode(0, INPUT); 
 -     // We start by connecting to a WiFi network
 -     WiFiMulti.addAP("xxxx", "xxxxxxx");
 - 
 -     Serial.println();
 -     Serial.println();
 -     Serial.print("Waiting for WiFi... ");
 - 
 -     while(WiFiMulti.run() != WL_CONNECTED) {
 -         Serial.print(".");
 -         delay(500);
 -     }
 - 
 -     Serial.println("");
 -     Serial.println("WiFi connected");
 -     Serial.println("IP address: ");
 -     Serial.println(WiFi.localIP());
 - 
 -     delay(500);
 - }
 - 
 - 
 - void loop()
 - {
 - //    const uint16_t port = 80;
 - //    const char * host = "192.168.1.1"; // ip or dns
 -     const uint16_t port =10002;
 -     const char * host = "192.168.1.102"; // ip or dns
 - 
 -     Serial.print("Connecting to ");
 -     Serial.println(host);
 - 
 -     // Use WiFiClient class to create TCP connections
 -     WiFiClient client;
 - 
 -     if (!client.connect(host, port)) {
 -         Serial.println("Connection failed.");
 -         Serial.println("Waiting 5 seconds before retrying...");
 -         delay(5000);
 -         return;
 -     }
 - 
 -     // This will send a request to the server
 -     //uncomment this line to send an arbitrary string to the server
 -     //client.print("Send this data to the server");
 -     //uncomment this line to send a basic document request to the server
 -     //client.print("GET /index.html HTTP/1.1\n\n");
 -     if(k!=digitalRead(0))
 -     {
 -       k=digitalRead(0);
 -     client.write(k); 
 -     }
 -   int maxloops = 0;
 - 
 -   //wait for the server's reply to become available
 -   while (!client.available() && maxloops < 1000)
 -   {
 -     maxloops++;
 -     delay(1); //delay 1 msec
 -   }
 -   if (client.available() > 0)
 -   {
 -     //read back one line from the server
 -     String line = client.readStringUntil('\r');
 -     Serial.println(line);
 -   }
 -   else
 -   {
 -     Serial.println("client.available() timed out ");
 -   }
 - 
 -    // Serial.println("Closing connection.");
 -    // client.stop();
 - 
 -     //Serial.println("Waiting 5 seconds before restarting...");
 -     //delay(5000);
 - }
 
  复制代码 然后用processing做个服务器加播放软件 
- import processing.net.*;
 - import VLCJVideo.*;
 - 
 - VLCJVideo video;
 - int whatClientSaid=1;
 - PImage img;
 - 
 - int port = 10002;       
 - Server myServer;        
 - 
 - void setup()
 - {  
 -   fullScreen();
 -   noStroke();
 -    
 -   video = new VLCJVideo(this);
 -   video.open("1.mp4");
 -   video.play();
 -   
 -   img = loadImage("1.jpg");
 -  
 -   
 -   myServer = new Server(this, port);
 - }
 - 
 - void draw()
 - {
 -   // Get the next available client
 -   Client thisClient = myServer.available();
 -   // If the client is not null, and says something, display what it said
 -   if (thisClient !=null) {
 -      whatClientSaid = thisClient.read();
 -     //if (whatClientSaid != null) {
 -       println(whatClientSaid);
 -     //} 
 -   } 
 -   image(img, 0,0);
 -   if(whatClientSaid==0){
 -   image(video, 0, 0, width, height);
 -   if(video.isStopped()) video.play();
 -   }
 -   
 -   
 - }
 
  复制代码
  
 
 |