54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include <Artnet.h>
 | |
| 
 | |
| // WiFi stuff
 | |
| const char* ssid = "your-ssid";
 | |
| const char* pwd = "your-password";
 | |
| const IPAddress ip(192, 168, 1, 201);
 | |
| const IPAddress gateway(192, 168, 1, 1);
 | |
| const IPAddress subnet(255, 255, 255, 0);
 | |
| 
 | |
| ArtnetWiFiReceiver artnet;
 | |
| uint32_t universe1 = 1;
 | |
| uint32_t universe2 = 2;
 | |
| 
 | |
| void callback(uint8_t* data, uint16_t size)
 | |
| {
 | |
|     // you can also use pre-defined callbacks
 | |
| }
 | |
| 
 | |
| void setup()
 | |
| {
 | |
|     Serial.begin(115200);
 | |
| 
 | |
|     // WiFi stuff
 | |
|     WiFi.begin(ssid, pwd);
 | |
|     WiFi.config(ip, gateway, subnet);
 | |
|     while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); }
 | |
|     Serial.print("WiFi connected, IP = "); Serial.println(WiFi.localIP());
 | |
| 
 | |
|     artnet.begin();
 | |
| 
 | |
|     // if Artnet packet comes to this universe, this function (lambda) is called
 | |
|     artnet.subscribe(universe1, [&](uint8_t* data, uint16_t size)
 | |
|     {
 | |
|         Serial.print("lambda : artnet data (universe : ");
 | |
|         Serial.print(universe1);
 | |
|         Serial.print(", size = ");
 | |
|         Serial.print(size);
 | |
|         Serial.print(") :");
 | |
|         for (size_t i = 0; i < size; ++i)
 | |
|         {
 | |
|             Serial.print(data[i]); Serial.print(",");
 | |
|         }
 | |
|         Serial.println();
 | |
|     });
 | |
| 
 | |
|     // you can also use pre-defined callbacks
 | |
|     artnet.subscribe(universe2, callback);
 | |
| }
 | |
| 
 | |
| void loop()
 | |
| {
 | |
|     artnet.parse(); // check if artnet packet has come and execute callback
 | |
| }
 |