Wemos wifi uno development (Arduino D1)

Salve a tutti. Ho acquistato una scheda Wemos Wifi uno Development. Quindi una scheda Arduino con WiFi Integrato. Lo scopo del mio acquisto è:

Ho già un progettino funzionante che sfrutta lo shield LAN di Arduino per accettare dati tramite Http. Volevo ora passare dal LAN al WiFi. Per farlo avevo approcciato diverse strade, l’acquisto di uno shiedl basato su ESP826 ma non sono riuscito a integrarlo. Adesso mi chiedevo se con l’acquisto di questo D1, potrei riuscire senza tanti casini ad utilizzare il WiFi invece che la LAN.

Detto ciò allego un pò di codice:

#include <String.h>
#include <SPI.h>
#include <Ethernet.h>
#include <dht11.h>
#include "EmonLib.h"                   // Include Emon Library
EnergyMonitor emon1;                   // Create an instance

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; 
byte ip[] = { 192, 168, 110, 177 }; // indirizzo IP della shield
byte gateway[] = { 192, 168, 110, 1 }; // indirizzo ip del router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); 

int pin1 = 1; // LED pin
int pin2 = 2; // LED pin
int pin3 = 3; // LED pin
int pin4 = 4; // LED pin
int pin5 = 5; // LED pin
int pin6 = 6; // LED pin
int pin7 = 7; // LED pin
int pin8 = 8; // LED pin
int pin9 = 9; // LED pin
int pin10 = 10; // LED pin
int pin11 = 11; // LED pin
int pin12 = 12; // LED pin
int pin13 = 13; // LED pin
String readString; 
boolean LEDON = false; 

/*-----( Declare objects )-----*/
dht11 DHT11;

/*-----( Declare Constants, Pin Numbers )-----*/
#define DHT11PIN 4

  void setup(){
    Ethernet.begin(mac, ip, gateway, subnet);
     for (int i=2; i<=9; i++) {
        pinMode(i, OUTPUT);
        digitalWrite(i, LOW);
    }    
    Serial.begin(9600);
    Serial.begin(9600);
    emon1.current(1, 11.8);             // Current: input pin, calibration.
  }
  
  void loop(){

    EthernetClient client = server.available();
    if (client) {
     boolean currentLineIsBlank = true;
     while (client.connected()) {
      
       //TO DO
    }//FINE WHILE 
      client.stop();
   }//FINE IF PRINCIPALE 
  }//FINE LOOP
  
  void sendHeader(EthernetClient client) {
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println();
   // client.print("<html><head><title>");
   // client.print(title);
   // client.println("</title><body>");
  }

Avevo visto che le differenze tra Arduino Uno e Arduino D1, sono che i pin si chiamano D1 invece che 1… quindi penso che il classico

digitalWrite(1,LOW)

si trasformi in

digitalWrite(D1,LOW)

“immagino”. Ora mi chiedevo la parte WiFi come potevo gestirla. Qualcuno mi può dare qualche suggerimento ?

Beh primo, la WeMos D1 NON è una "Arduino con WiFi". E' una ESP8266 che programmi con l'IDE come se fosse una Arduino. La differenza principale è quella che hai detto, devi indirizzare i pin come "D1" e non "1", poi non ha che una Analog, per il resto la programmi praticamente allo stesso modo. Cambiano però le librerie, per dire devi usare ESP8266WiFi.h e non Ethernet. Costano poco , prendine una e sperimenta.

Ma ricorda che questo è il forum di Arduino, non delle WeMos per cui eventuali altre domande le devi fare o nel thread ESP8266 o sui forum WeMos.

e comunque il pin D1 non corrisponde al pin 1, ma al 5