Catégories
Liens
Ceci est une ancienne révision du document !
Utiliser une wemos d& pour balancer en wifi vers un ordi du signal en osc. Il faudra bien sur noter l'ip de l'ordi et se connecter sur le meme reseau, si possible via un routeur de bonne qualité pour eviter les delai et crash…
Attention a bien choisir dans Outils dans Arduino (logiciel):
mettre un delai de 50ms si entree analogique utilisé dans la loop… sinon crash de l'osc ! pour une entree digital 1ms suffit .
pour un bouton et un analogique avec un delay dans la loop de 50ms
#include <ESP8266WiFi.h> #include <WiFiUdp.h> #include <OSCMessage.h> char ssid[] = "****"; // your network SSID (name) char pass[] = "****************"; // your network password WiFiUDP Udp; // A UDP instance to let us send and receive packets over UDP const IPAddress outIp(192,168,43,20); // remote IP of your computer const unsigned int outPort = 9999; // remote port to receive OSC const unsigned int localPort = 8888; // local port to listen for OSC packets (actually not used for sending) void setup() { pinMode(D1, INPUT_PULLUP); 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");{{ :projets:esposc:screen_shot_12-24-18_at_02.46_pm.jpg?nolink | Udp.begin(localPort); Serial.print("Local port: "); Serial.println(Udp.localPort()); } void loop() { int sensorValue = analogRead(A0); int buttonState = digitalRead(D1); OSCMessage msg("/analog"); msg.add(sensorValue); msg.add(buttonState); Udp.beginPacket(outIp, outPort); msg.send(Udp); Udp.endPacket(); msg.empty(); delay(5); }
dans pd :