Add E1.31 example (too slow though)
This commit is contained in:
parent
f9e969e6e8
commit
44c2604855
96
microcontroller/e131/main.ino
Normal file
96
microcontroller/e131/main.ino
Normal file
@ -0,0 +1,96 @@
|
||||
/*
|
||||
* E131_Test.ino - Simple sketch to listen for E1.31 data on an ESP32
|
||||
* and print some statistics.
|
||||
*
|
||||
* Project: ESPAsyncE131 - Asynchronous E.131 (sACN) library for Arduino ESP8266 and ESP32
|
||||
* Copyright (c) 2019 Shelby Merrick
|
||||
* http://www.forkineye.com
|
||||
*
|
||||
* This program is provided free for you to use in any way that you wish,
|
||||
* subject to the laws and regulations where you are using it. Due diligence
|
||||
* is strongly suggested before using this code. Please give credit where due.
|
||||
*
|
||||
* The Author makes no warranty of any kind, express or implied, with regard
|
||||
* to this program or the documentation contained in this document. The
|
||||
* Author shall not be liable in any event for incidental or consequential
|
||||
* damages in connection with, or arising out of, the furnishing, performance
|
||||
* or use of these programs.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ESPAsyncE131.h>
|
||||
|
||||
#define UNIVERSE 1 // First DMX Universe to listen for
|
||||
#define UNIVERSE_COUNT 1 // Total number of Universes to listen for, starting at UNIVERSE
|
||||
|
||||
const char ssid[] = "dmx"; // Replace with your SSID
|
||||
const char passphrase[] = "DGqnu6p8ut6H2QQQ2LQH"; // Replace with your WPA2 passphrase
|
||||
|
||||
unsigned long packets_processed = 0;
|
||||
unsigned long last_update;
|
||||
|
||||
void on_packet(e131_packet_t *packet, IPAddress address)
|
||||
{
|
||||
/*
|
||||
Serial.printf("Universe %u / %u Channels | CH1: %u\n",
|
||||
htons(packet->universe),
|
||||
htons(packet->property_value_count) - 1,
|
||||
packet->property_values[1]);
|
||||
*/
|
||||
|
||||
packets_processed += 1;
|
||||
}
|
||||
|
||||
// ESPAsyncE131 instance with callback
|
||||
ESPAsyncE131 e131(on_packet);
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(500000);
|
||||
delay(10);
|
||||
|
||||
// Make sure you're in station mode
|
||||
WiFi.mode(WIFI_STA);
|
||||
|
||||
Serial.println("");
|
||||
Serial.print(F("Connecting to "));
|
||||
Serial.print(ssid);
|
||||
|
||||
if (passphrase != NULL)
|
||||
WiFi.begin(ssid, passphrase);
|
||||
else
|
||||
WiFi.begin(ssid);
|
||||
|
||||
while (WiFi.status() != WL_CONNECTED)
|
||||
{
|
||||
delay(500);
|
||||
Serial.print(".");
|
||||
}
|
||||
|
||||
Serial.println("");
|
||||
Serial.print(F("Connected with IP: "));
|
||||
Serial.println(WiFi.localIP());
|
||||
|
||||
// Choose one to begin listening for E1.31 data
|
||||
//if (e131.begin(E131_UNICAST)) // Listen via Unicast
|
||||
if (e131.begin(E131_MULTICAST, UNIVERSE, UNIVERSE_COUNT)) // Listen via Multicast
|
||||
Serial.println(F("Listening for data..."));
|
||||
else
|
||||
Serial.println(F("*** e131.begin failed ***"));
|
||||
|
||||
last_update = millis();
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
unsigned long now = millis();
|
||||
|
||||
if (now - last_update > 1000)
|
||||
{
|
||||
last_update = now;
|
||||
Serial.printf(
|
||||
"%lu %u packets processed.\n",
|
||||
now,
|
||||
packets_processed);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user