Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ESP8266ESP12 send OSC command
08-05-2016, 02:59 PM (This post was last modified: 08-05-2016 03:42 PM by jusalyso.)
Post: #1
ESP8266ESP12 send OSC command
He intentado enviar datos desde un ESP8266ESP12 al BRobot pero no consigo hacer bien el envio del dato numerico con la libreria OSCLib-for-ESP8266 para que el brobot se despace la primera parte del mensaje si la envia e intenta ir hacia delante o girar pero no cuanto lo debe hacer, si le paso el valor como un float me da error la compilacion, por eso esta dentro del string por probar pero no funciona asi como es logico. Si alguien me puede ayudar se lo agradeceria.

I tried to send data from a ESP8266ESP12 to Brobot but I can not do well sending numeric data to the library OSCLib-for-ESP8266 for the brobot the first part of the message to move if the send and try to go forward or turn but not as it must do, if I pass the value as a float gives me error compilation, so this within the string to try but does not work well as it is logical. If someone can help me I would be so thankful.

library::
libreria:
https://github.com/SMC-AAU-CPH/OSCLib-for-ESP8266

codigo que estoy usando:

#include <mem.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <OSCMessage.h>
#include <OSCBundle.h>
#include <OSCData.h>
long sendCount = 0;
const char* ssid = "JJROBOTS";
const char* password = "12345678";
#define PIN_ADC A0

// A UDP instance to let us send and receive packets over UDP
WiFiUDP Udp;
const IPAddress outIp(192, 168, 1, 1);
const unsigned int outPort = 2222;
float fader1=0.0;

void setup() {
Serial.begin(115200);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");

}

void delante() {
OSCMessage msg("/1/fader1 &0.6");
//msg.add("f");
//msg.add(0.6);
Udp.beginPacket(outIp, outPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
delay(500);
}

void detras() {
OSCMessage trig("/1/fader1 &0.4");
Udp.beginPacket(outIp, outPort);
trig.send(Udp);
Udp.endPacket();
trig.empty();
}

void derecha() {
OSCMessage msg("/1/fader2 &0.6");
Udp.beginPacket(outIp, outPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
delay(500);
}

void izquierda() {
OSCMessage msg("/1/fader2 f 0.6");
Udp.beginPacket(outIp, outPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
delay(500);
}

void quieto1() {
OSCMessage msg("/1/fader1 f0.41");
Udp.beginPacket(outIp, outPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
delay(500);

}

void quieto2() {
OSCMessage msg("/1/fader2 f0.41");
Udp.beginPacket(outIp, outPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
delay(500);

}


void loop() {
int dato0;
dato0 = analogRead(A0);// Leeemos el sensor de proximidad
delay(200);
Serial.println(dato0);
//if (dato0 >=400){
// detras();
//if (dato0 <=200){
detras();
// }

// }

}
Find all posts by this user
Quote this message in a reply
08-05-2016, 04:41 PM
Post: #2
RE: ESP8266ESP12 send OSC command
ok ya esta solucionado habia que indicarle que el dato era float y sumarlo al mensaje con msg.add() por si a alguien le sirve.

ok it had already solved that indicate that the data was float and add it to the message msg.add () if someone serves.

void delante() {
OSCMessage msg("/1/fader1 f");
msg.add(float(0.5));
Udp.beginPacket(outIp, outPort);
msg.send(Udp);
Udp.endPacket();
msg.empty();
delay(500);
}
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)