OSC in Arduino: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
== | |||
==Download OSCuino Library== | |||
Download OSCuino library from github: https://github.com/CNMAT/OSC | Download OSCuino library from github: https://github.com/CNMAT/OSC | ||
Code –> Download ZIP | Code –> Download ZIP | ||
== | ==Install OSCuino Library== | ||
Arduino Menu: Sketch –> Include Library –> Add .ZIP Library | Arduino Menu: Sketch –> Include Library –> Add .ZIP Library | ||
select .ZIP file | select .ZIP file | ||
== | ==Code Example: send OSC message== | ||
Example for sending data from one device to another in the same network. | |||
Could be from an ESP to a computer or from and ESP to another ESP. | |||
<source lang="js" line start="2" highlight="4-6"> | <source lang="js" line start="2" highlight="4-6"> | ||
Zeile 98: | Zeile 100: | ||
</source> | </source> | ||
== | ==Code Example: receive OSC message== | ||
==Upload Sketch== | |||
Tip: sometimes you need to press and hold the BOOT button on the ESP while the Arduino IDE is trying to program. | Tip: sometimes you need to press and hold the BOOT button on the ESP while the Arduino IDE is trying to program. | ||
“Hard resetting via RTS pin…” means the upload was successful | “Hard resetting via RTS pin…” means the upload was successful |
Version vom 3. Mai 2022, 17:36 Uhr
Download OSCuino Library
Download OSCuino library from github: https://github.com/CNMAT/OSC Code –> Download ZIP
Install OSCuino Library
Arduino Menu: Sketch –> Include Library –> Add .ZIP Library select .ZIP file
Code Example: send OSC message
Example for sending data from one device to another in the same network. Could be from an ESP to a computer or from and ESP to another ESP.
/////////////////////////////////////////////////
// Code for
// ESP32 DEVKIT V1 38pin version
/////////////////////////////////////////////////
// reads an analog value and sends it as OSC message
/////////////////////////////////////////////////
// when uploading code: sometimes necessairy
// to presss&hold the "BOOT" button
// when you see the following lines:
// "Connecting........_____....._____....."
/////////////////////////////////////////////////
#include <WiFi.h>
#include <WiFiUdp.h>
#include <OSCBundle.h>
#define SENSOR_PIN_1 36
// OSC-Stuff ----------------------------------------------------------
///////////////////// VARIABLES TO EDIT /////////////////////////////
IPAddress outIp = {192, 168, 236, 90}; // IP Adress of Receiver PC
const char *ssid = "Ladenlokal"; // wifi name
const char *password = "puppe2010"; // wifi password (min. 8 characters)
const char *hostName = "myName"; // choose a name for your device
const char *oscAddress = "/myAddress/mySubAddress"; // choose an OSC address for sending your messages to
int sendFrequencyMillis = 40; // send new OSC message every somany milliseconds
/////////////////////////////////////////////////////////////////////
WiFiUDP Udp;
const unsigned int localPort = 9000; // not needed
const unsigned int destPort = 6448;
float s1; // variablee for storing sensor value
unsigned long millisOld; // variable for keeping track of time passed
void setup() {
Serial.begin(115200); // begin serial connection
WiFi.setHostname(hostName);
WiFi.mode(WIFI_STA); // WiFi mode station (connect to wifi router only)
WiFi.begin(ssid, password); // begin wifi connection
// Wait for connection:
uint16_t timeOut = 0;
while ((WiFi.status() != WL_CONNECTED) && (timeOut < 10)) {
delay(500);
timeOut++;
Serial.println(timeOut);
}
Serial.print("local IP address: ");
Serial.println(WiFi.localIP());
Udp.begin(localPort);
Serial.print("Listening at port: ");
Serial.println(localPort);
}
void loop() {
s1 = analogRead(SENSOR_PIN_1); // read sensor value
if (millis() >= (millisOld + sendFrequencyMillis)) {
millisOld = millis(); // update millisOld to be able to keep track of time
Serial.println(s1); // print sensor value
// publish sensor value over OSC:
if (WiFi.status() == WL_CONNECTED)
{
OSCMessage msg(oscAddress);
msg.add(s1);
Udp.beginPacket(outIp, destPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
}
}
}
Code Example: receive OSC message
Upload Sketch
Tip: sometimes you need to press and hold the BOOT button on the ESP while the Arduino IDE is trying to program.
“Hard resetting via RTS pin…” means the upload was successful