/* -----------------------------------------------------------------
------------------------- Codigo MultiHardWare ---------------------
----------------------------------------------------------------- */
#if defined(ESP8266)                      //definicion de la placa que se trabajara
#include <ESP8266WiFi.h>                  //si la placa es esp8266
#include <ESP8266WiFiMulti.h>             //configuracion wifi
ESP8266WiFiMulti wifiMulti;
#pragma message "Codigo para ESP8266!"

#elif defined(ESP32)                     //si la placa es esp32
#include <WiFi.h>                        //configuracion wifi
#include <WiFiMulti.h>
WiFiMulti wifiMulti;
#pragma message "Codigo para ESP32!"

#elif defined(ARDUINO)                  //si la placa es arduino
#pragma message "Codigo para Arduino basado AVR (UNO, MEGA, etc)!"

#else
#pragma message "No es ni ESP32 o ES8266 o AVR, que es?"

#endif


/* -----------------------------------------------------------------
-------------------------- Librerias y Objetos ---------------------
----------------------------------------------------------------- */
template<class T> inline Print &operator <<(Print &obj, T arg) {//configuracion con base al signo << para generar un serial println con menos lineas de codigo
  obj.print(arg);
  return obj;
}

void setup(){
  Serial.begin(9600);//comunicacion serial

  int value = 10;//a la variable value se le asigna el valor de 10

  Serial.print("hola a todos, mi numero de la suerte es: ");//imprimir saludo
  Serial.println(value);//imprimir valor

  Serial << "hola a todos, mi numero de la suerte es: " <<  value;//impresion rapida  con el signo <<

  


}

void loop(){

}


$abcdeabcde151015202530354045505560fghijfghij