Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

projets:esposc:accueil

Ceci est une ancienne révision du document !


Table des matières

ESP OSC

  • Porteur du projet : fenshu resonance
  • Date : 2018
  • Licence : libre !
  • Contexte :
  • Fichiers : lien
  • Lien : lien vers un site éventuellement

le projet

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):

  • Wemos D1 R2 & mini
  • baudrate 115200

mettre un delai de 50ms si entree analogique utilisé dans la loop… sinon crash de l'osc ! pour une entree digital 1ms suffit .

code

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);
}

recuperation du signal pour ce code

dans pd :

/home/resonancg/www/wiki/data/attic/projets/esposc/accueil.1545659347.txt.gz · Dernière modification: 2018/12/24 14:49 de resonance