Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

materiel:esp8266:communications:accueil

Ceci est une ancienne révision du document !


http://www.adidas-eqt.us.com http://www.nikerosheone.co.uk http://www.nikemercurial.us.com http://www.lebron15.net http://www.balenciagashoes.us.com http://www.toryburchshoes.us http://www.hardenshoes.us.com http://www.air-max.us.com http://www.jordanshoes.uk http://www.adidassuperstar.us.com http://www.adidasonlineshop.us.com http://www.pradasunglasses.us.org http://www.adidasgazelle.us.com http://www.mlbjerseyscheap.us http://www.kobe-shoes.us.com http://www.kobebasketballshoes.us.com http://www.hoganoutlet.cc http://www.jordan13.us.com http://www.pandorabracelet.in.net http://www.lebron15shoes.us.com http://www.adidasstansmith.us.com http://www.adidasnmdrunner.us.com http://www.boostyeezy.us.com http://www.kobesneakers.com http://www.yeezy-shoes.us http://www.nikehuarache.co.uk http://www.outletonline-michaelkors.us.org http://www.nike-airmax90.uk http://www.linksoflondon.us.com http://www.offwhitehoodie.us.com http://www.nikerosheone.us.com http://www.adidas-tubular.us.com http://www.outletonlinekatespade.us.com http://www.nikehyperdunk2017.us.com http://www.rosherun.us.com http://www.lebron-soldier10.us.com http://www.cartierbracelet.us http://www.retro-jordans.us.com http://www.adidasyeezyshoes.us.org http://www.linksoflondonus.com http://www.michaelkors-outletsonline.us.com http://www.lacosteonlineshop.us.com http://www.nikeairforce1.us.com http://www.airmax90.us.org http://www.jordan-retro.us.com http://www.stephencurry-shoes.us.com http://www.monclersoutlet.us.com http://www.yeezyboost350v2shoes.us.com http://www.jordan6.us.com http://www.lebron13.us.com http://www.nikedunks.us.org http://www.outletlongchamp.us.com http://www.longchamphandbagsoutlet.us.org http://www.airjordan.us.com http://www.hermes-birkin.us.com http://www.goldengoose-outlet.us.com http://www.hermesbelts.co.uk http://www.chrome-hearts.us.org http://www.supremeclothing.us http://www.kevindurant-shoes.us.com http://www.adidasnmds.com http://www.nmdadidasus.com http://www.charmspandora.in.net http://www.nike-huarache.com http://www.bape-hoodie.us.com http://www.adidasoutletonline.us.com http://www.hermesbelts.com http://www.fitflops-saleclearance.us.com http://www.nike-hyperdunk.us.com http://www.goyard-handbags.us.com http://www.jewelrypandora.in.net http://www.outlettimberland.us.org http://www.michael--korsoutlet.us.org http://www.yeezy-shoes.uk http://www.kobebasketballshoes.net http://www.michaeljordanshoes.net http://www.adidassuperstar.org.uk http://www.offwhiteclothing.us.com http://www.ferragamobelt.us http://www.guccibelt.us.com http://www.chromehearts.com.co http://www.yeezyboost350v2.org.uk http://www.hermes-handbags.us.com http://www.paulgeorgeshoes.us http://www.cheapnbajerseys.us.org http://www.nike-airmax2017.us.com http://www.patriotsjerseys.us.com http://www.vancleefarpels.us.com http://www.michaelkorshandbags.net.co http://www.supremehoodie.us.com http://www.jordanshoes.com.co http://www.adidas-tubular.us.com http://www.longchamp-bags.us.org http://www.louboutinshoes.uk http://www.yeezy-shoes.us.org http://www.yeezy-boost350.us.com http://www.long-champhandbags.org.uk http://www.adidasultraboost.us.org http://www.curry3.in.net http://www.jordan11retro.us.com http://www.airjordanretro.uk http://www.thelightupshoes.us.com http://www.reebokoutlet.us.org http://www.goyardhandbags.us.com http://www.adidasstore.us.com http://www.nikezoom.us.com http://www.fitflops.cc http://www.cheap--jordans.us.com http://www.michaelkors-outletstore.us.com http://www.monclerjacketsale.us http://www.nikehuaracheshoes.us.com http://www.vans-shoes.us.org http://www.ledshoes.us.com http://www.converseoutlet.us.com http://www.nikezoom.me.uk http://www.bapehoodie.us http://www.adidasstansmith.uk http://www.kyrie3.us.com http://www.outletlacoste.us.com http://www.yeezys.org.uk http://www.truereligionjeans-outlets.us.com http://www.michaelkors-outletonlines.us.com http://www.yeezyboost.in.net http://www.michael-kors-handbags.org.uk http://www.authenticjordanscheap.us.com http://www.chromehearts.net.co http://www.michaelkors-outletfactory.us.org http://www.nikeairmax2018.us.com http://www.hermes-belt.us.com http://www.yeezy-boost.us.com http://www.nikefoamposite.us.com http://www.calvinkleinoutlet.us.com http://www.nikehuarache.uk http://www.adidasneo.us.com http://www.birkinbag.us.com http://www.nikebasketballshoes.us.com http://www.longchamphandbags.us.org http://www.asicsrunningshoes.us.org http://www.yslhandbags.org http://www.yeezy-shoes.org.uk http://www.goldengoose.us.com http://www.lebron14.us.com http://www.lebronjames-shoes.us.com http://www.adidastubular.co.uk http://www.goldengoose-snearkers.com http://www.cheapretro-jordans.com http://www.basketball-shoes.us.com http://www.longchampbags.us.org http://www.paulgeorgeshoes.us.com http://www.yeezys.us.org http://www.nikepolo.us http://www.adidasyeezy.co.uk http://www.michael-kors-handbags.com.co http://www.toryburchshoes.org.uk http://www.curry4shoes.us.com http://www.vibramfivefingers.us.com http://www.cheap-airjordans.us.com http://www.jordan12.us.com http://www.tomford-sunglasses.us.com http://www.kobeshoes.uk http://www.vans-outlet.us.com http://www.katespadehandbags-outlet.us.com http://www.adidas-nmds.us.com http://www.balenciagasneakers.com http://www.cheaprealjordans.us.com http://www.yeezyboost.com.co http://www.nfljerseys.us.org http://www.curry4.us.com http://www.adidasultra.us.com http://www.christian-louboutin.eu.com http://www.shoesjordan.us.com http://www.jordan4.us.com http://www.kyrie4.org http://www.nike-freerun.us.com http://www.atlantafalconsjerseys.us http://www.michaeljordanshoes.us.com http://www.kyrie4shoes.us.com http://www.converse-shoes.us.com http://www.yeezy-shoes.org http://www.ultraboost.us.com http://www.nhljerseys.us.org http://www.truereligion-outlets.us.com http://www.jordansforcheap.us.com http://www.lebron-soldier11.us.com http://www.adidasnmd.uk http://www.diorsunglasses.in.net http://www.adidasoutletonline.com http://www.nike-airforce1.us.com http://www.kyrieirving-shoes.us.com

2D et 3D PRIMITIVES

Cercle, carré, rectangle, sphère, cylindre, tore, cone, …

Adresse IP statique

La plupart des exemples fonctionnent en adressant automatiquement le module Wi-Fi. Il est possible de configurer aussi une adresse statique, c'est-à-dire que la connaît avec la fonction Wifi.config (ip1, ip2, ip3). Veillez à ne pas utiliser deux fois la même adresse. Pour cela, on peut choisir des adresses au-delà des 10 premières.

// Setup
char ssid[] = "linksys"; // Name of the Wi-Fi network
char pass[] = ""; // No password
IPAddress ip(192, 168, 0, 110);  // Local IP   
IPAddress gateway(192, 168, 0, 1); // Router IP
IPAddress subnet(255, 255, 255, 0);
//...
 
void setup() {
  WiFi.config(ip, gateway, subnet); // Choose the static IP Address
  WiFi.begin(ssid, pass);   // WiFi Connection
  //...
}
 
//...

Send OSC to Pure Data

/* 
 *  Send OSC messages to PD
 *  
 *  Examples : OSC/ESP8266SendMessages
 */
 
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <OSCMessage.h>
//#include <Streaming.h>
 
int status = WL_IDLE_STATUS;
char ssid[] = "linksys";
char pass[] = "";
WiFiUDP udp;
 
const IPAddress outIp(192,168,1,110); // MASTER IP 
const unsigned int outPort = 9999;    // MASTER PORT
 
void setup() {
  Serial.begin(115200);
  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("");
  printWifiStatus();
}
 
void loop() {
  // SEND OSC
  OSCMessage msg("/test");
  msg.add("Hello from ESP8266");
  udp.beginPacket(outIp, outPort);
  msg.send(udp);
  udp.endPacket();
  msg.empty();
  delay(500);
}
 
void printWifiStatus() {
  // print the SSID of the network you're attached to:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());
 
  // print your WiFi shield's IP address:
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
 
  // print the received signal strength:
  long rssi = WiFi.RSSI();
  Serial.print("signal strength (RSSI):");
  Serial.print(rssi);
  Serial.println(" dBm");
 
  Serial.println("Starting UDP");
  udp.begin(localPort);
  Serial.print("Local port: ");
  Serial.println(udp.localPort());
}

Receive OSC from Pure Data

Pure Data controls the ESP8266.

// Pd > bundle and typed message > packOSC > udpsend > routeur Wi-Fi
// ESP8266 > OscBundle 
 
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
#include <OSCMessage.h>
#include <OSCBundle.h>
#include <OSCData.h>
 
int status = WL_IDLE_STATUS;
char ssid[] = "linksys";          // your network SSID (name)
char pass[] = "";                 // your network password
 
// A UDP instance to let us send and receive packets over UDP
WiFiUDP Udp;
 
const unsigned int localPort = 8888;        // local port to listen for UDP packets (here's where we send the packets)
 
OSCErrorCode error;
unsigned int ledState = LOW;              // LOW means led is *on*
 
void setup() {
  pinMode(BUILTIN_LED, OUTPUT);
  digitalWrite(BUILTIN_LED, ledState);    // turn *on* led
  WiFi.begin(ssid, pass); // Connect to WiFi network
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }
  Udp.begin(localPort);
}
 
void ledOut(OSCMessage &msg) {
  ledState = msg.getInt(0);
  digitalWrite(BUILTIN_LED, ledState);
}
 
void loop() {
  OSCBundle bundle;
  int _size = Udp.parsePacket();
  if (_size > 0) {
    while (_size--) {
      bundle.fill(Udp.read());
    }
    if (!bundle.hasError()) {
       bundle.dispatch("/led", ledOut);
    } else {
      error = bundle.getError();
    }
  }
}

Receive UDP Packets from Pure Data

/* 
 *  Receive UDP Packets from Pure Data with [netsend]
 *  
 *  Connect the ESP8266 to the "linksys" Wi-Fi router
 * 
 */
 
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
 
const boolean DEBUG = false;
 
// WIFI
char ssid[] = "linksys";
char pass[] = "";
const unsigned int localPort = 8888;  // port
char packetBuffer[255]; // incoming
String data[3]; // data
int status = WL_IDLE_STATUS;
WiFiUDP udp;
 
void setup() {
 
  // Output
  pinMode(14,OUTPUT);
  pinMode(12,OUTPUT);
  pinMode(13,OUTPUT);
  digitalWrite(14,HIGH);
  digitalWrite(12,HIGH);
  digitalWrite(13,HIGH);
 
  // WiFi Connection
  WiFi.begin(ssid, pass);
  while (WiFi.status() != WL_CONNECTED) 
  {
   delay(500);
  }
 
  // UDP Connection
  udp.begin(localPort);
 
  if (DEBUG) 
  {
    Serial.begin(115200);
    Serial.print("IP: ");
    Serial.println(WiFi.localIP());
  }
}
 
void loop() {
 
  // Read data if available
  int packetSize = udp.parsePacket();
  if (packetSize) 
  {
    // Read the packet into packetBuffer
    int len = udp.read(packetBuffer, 255);
    if (len > 0) {
      packetBuffer[len] = 0;
    }
 
    // Parse with space delimiter ' ' and fill data[]
    String strData(packetBuffer);
    splitString(strData, ' ');
 
    analogWrite(data[0].toInt(), data[1].toInt() * 4);
 
    if (DEBUG) 
    {
      Serial.println(data[0]);
      Serial.println(data[1]);
     // Serial.println(data[2]);
    }
  }
}
 
 
// Méthode pour découper le message avec un séparateur (ou "parser")
void splitString(String message, char separator) {
  int index = 0;
  int cnt = 0;
    do {
      index = message.indexOf(separator); 
      // s'il y a bien un caractère séparateur
      if(index != -1) { 
          // on découpe la chaine et on stocke le bout dans le tableau
          data[cnt] = message.substring(0,index); 
          cnt++;
          // on enlève du message le bout stocké
          message = message.substring(index+1, message.length());
      } else {
         // après le dernier espace   
         // on s'assure que la chaine n'est pas vide
         if(message.length() > 0) { 
           data[cnt] = message.substring(0,index); // dernier bout
           cnt++;
         }
      }
   } while(index >=0); // tant qu'il y a bien un séparateur dans la chaine
}
/home/resonancg/www/wiki/data/attic/materiel/esp8266/communications/accueil.1516254993.txt.gz · Dernière modification: 2018/01/18 06:56 de chenjianwei