Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const char* ssid = "VTR-5738907"; //nombre de la red
- const char* password = "Figpach7311" ; //contraseña
- #include <ESP8266WiFi.h>
- #include <Ticker.h>
- Ticker blinker;
- WiFiServer server(1534); //1534 es el puerto al que se conecta pd
- IPAddress staticIP(192, 168, 0, 20); //esta es la IP a la que se debe conectar pd
- IPAddress gateway(192, 168, 0, 1);
- IPAddress subnet(255, 255, 255, 0);
- const int nChannels = 50;
- byte dmxvalues[nChannels];
- byte receptor[2];
- void dmxseo()
- {
- pinMode(4, OUTPUT);
- digitalWrite(4, LOW); //break;
- delayMicroseconds(120);
- digitalWrite(4, HIGH); //MAB
- delayMicroseconds(20);
- pinMode(4, INPUT);
- Serial1.write(0);
- Serial1.write(dmxvalues, nChannels);
- }
- void setup() {
- Serial.begin(115200);
- if (WiFi.config(staticIP, gateway, subnet)) Serial.println("se configuró");
- delay(10);
- // Connect to WiFi network
- Serial.println();
- Serial.println();
- Serial.print("Connecting to ");
- Serial.println(ssid);
- WiFi.begin(ssid, password); //esta es para conectarse a una red con contraseña
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.println("WiFi connected");
- // Start the server
- server.begin();
- server.setNoDelay(true);
- Serial.println("Server started");
- // Print the IP address
- Serial.print("Use this URL to connect: ");
- Serial.print("http://");
- Serial.println(WiFi.localIP());
- Serial.println("/");
- Serial1.begin(250000, SERIAL_8N2); //el objeto Serial1 controla la señal dmx
- pinMode(4, OUTPUT); //pin de truco (es el D2) , este pin va hacia el DI del MAX485 y se conecta a TX1 del nodemcu con una resistencia de 100 o 330 ohms
- for (int i = 0; i < nChannels; i++) dmxvalues[i] = 0; //reseteo de valores
- blinker.attach(0.01, dmxseo);
- }
- void loop() {
- WiFiClient client = server.available();
- client.setNoDelay(true);
- if (client)
- {
- client.setNoDelay(true);
- Serial.println("hay cliente");
- for (int i = 0; i < nChannels; i++) dmxvalues[i] = 0; //reseteo de valores
- while (1)
- {
- while (client.available())
- {
- client.readBytes(receptor, 2);
- dmxvalues[receptor[0] - 1] = receptor[1]; //se resta 1 , para que el byte 1 desde pd sea el index 0 y asi controle el canal 1 dmx
- Serial.print(receptor[0]);
- Serial.print(" ");
- Serial.println(receptor[1]);
- }
- if (!client.connected()) break;
- }
- }
- if (WiFi.status() != WL_CONNECTED)
- {
- //si se deconectó
- Serial.println("Se perdió la conexión");
- WiFi.begin(ssid);
- while (WiFi.status() != WL_CONNECTED) {
- delay(500);
- Serial.print(".");
- }
- Serial.println("");
- Serial.println("WiFi connected");
- // Start the server
- server.begin();
- server.setNoDelay(true);
- Serial.println("Server started");
- // Print the IP address
- Serial.print("Use this URL to connect: ");
- Serial.print("http://");
- Serial.println(WiFi.localIP());
- Serial.println(WiFi.hostname());
- Serial.println("/");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement