here my specs:
Arduino Nano
Nano V3 Ethernet Shield W5500 (V3)
9DOF Sensor
Status:
Sending OSC Values over Ethernet Works
Sending Acceleration values over Serial USB Works
Sending Acceleration values over Ethernet OSC doesnt work
I tried so many different variations and can't find the mistake.
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <SPI.h>
#include <OSCBundle.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_LSM303_U.h>
#include <Adafruit_L3GD20_U.h>
#include <Adafruit_9DOF.h>
/* Assign a unique ID to the sensors */
Adafruit_LSM303_Accel_Unified accel = Adafruit_LSM303_Accel_Unified(30301);
Adafruit_LSM303_Mag_Unified mag = Adafruit_LSM303_Mag_Unified(30302);
Adafruit_L3GD20_Unified gyro = Adafruit_L3GD20_Unified(20);
EthernetUDP Udp;
//the Arduino's IP
IPAddress ip(192, 168, 8, 177);
//destination IP
IPAddress outIp(192, 168, 8, 62);
const unsigned int outPort = 8000;
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // you can find this written on the board of some Arduino Ethernets or shields
void setup() {
Ethernet.begin(mac,ip);
Udp.begin(8888);
}
void loop(){
//declare the bundle
OSCBundle bndl;
sensors_event_t event;
mag.getEvent(&event);
//BOSCBundle's add' returns the OSCMessage so the message's 'add' can be composed together
bndl.add("/analog/0").add((float)event.magnetic.x);
bndl.add("/analog/1").add((float)analogRead(1));
// bndl.add("/digital/5").add((digitalRead(5)==HIGH)?"HIGH":"LOW");
//bndl.add("/mouse/step").add((float)analogRead(0)).add((float)analogRead(1));
//bndl.add("/units").add("pixels");
Udp.beginPacket(outIp, outPort);
bndl.send(Udp); // send the bytes to the SLIP stream
Udp.endPacket(); // mark the end of the OSC Packet
bndl.empty(); // empty the bundle to free room for a new on
delay(100);
}
#include <Ethernet.h>
#include <EthernetUdp.h>
#include <SPI.h>
#include <OSCBundle.h>
EthernetUDP Udp;
//the Arduino's IP
IPAddress ip(128, 32, 122, 252);
//destination IP
IPAddress outIp(128, 32, 122, 125);
const unsigned int outPort = 9999;
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // you can find this written on the board of some Arduino Ethernets or shields
void setup() {
Ethernet.begin(mac,ip);
Udp.begin(8888);
}
void loop(){
//declare the bundle
OSCBundle bndl;
//BOSCBundle's add' returns the OSCMessage so the message's 'add' can be composed together
bndl.add("/analog/0").add((int32_t)analogRead(0));
bndl.add("/analog/1").add((int32_t)analogRead(1));
bndl.add("/digital/5").add((digitalRead(5)==HIGH)?"HIGH":"LOW");
Udp.beginPacket(outIp, outPort);
bndl.send(Udp); // send the bytes to the SLIP stream
Udp.endPacket(); // mark the end of the OSC Packet
bndl.empty(); // empty the bundle to free room for a new one
delay(1000);
}