/*--------------------------------------------------------------------------------------------- Open Sound Control (OSC) library for the ESP8266 Example for receiving open sound control (OSC) bundles on the ESP8266 Send integers '0' or '1' to the address "/led" to turn on/off the built-in LED of the esp8266. This example code is in the public domain. --------------------------------------------------------------------------------------------- */ #include #include #include #include #include char ssid[] = "*****************"; // your network SSID (name) char pass[] = "*******"; // your network password // A UDP instance to let us send and receive packets over UDP WiFiUDP Udp; const IPAddress outIp(10,40,10,105); // remote IP (not needed for receive) const unsigned int outPort = 9999; // remote port (not needed for receive) const unsigned int localPort = 8888; // local port to listen for UDP packets (here's where we send the packets) OSCErrorCode error; unsigned int ledState = LOW; // LOW means led is *on* void setup() { pinMode(BUILTIN_LED, OUTPUT); digitalWrite(BUILTIN_LED, ledState); // turn *on* led Serial.begin(115200); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, pass); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); Serial.println("Starting UDP"); Udp.begin(localPort); Serial.print("Local port: "); Serial.println(Udp.localPort()); } void led(OSCMessage &msg) { ledState = msg.getInt(0); digitalWrite(BUILTIN_LED, ledState); Serial.print("/led: "); Serial.println(ledState); } void loop() { OSCBundle bundle; int size = Udp.parsePacket(); if (size > 0) { while (size--) { bundle.fill(Udp.read()); } if (!bundle.hasError()) { bundle.dispatch("/led", led); } else { error = bundle.getError(); Serial.print("error: "); Serial.println(error); } } }