esp8266

L'ho cercata -praticamente ho smontato il pc-ma non la trovo!

Se vai nelle "Preferenze" del IDE (vedi l'immagine allegata), trovi un campo all'inizio che si chiama "Percorso della cartella degli sketch" ... quello è il percorso dove Arduino cerca le cose. Se vai in quella cartella, dentro troverai una cartella di nome "libraries" e li ci sono le librerie che usa.


Guglielmo

ok le ho trovate.
Sono moltissime,le ho sottocchio.Come consigliato le ho rinominate ,naturalmente non tutte ma solo quelle di cui sopra e si aprono dal disco. Allora come si diceva ho rinominato la libreria ESP8266 aggiungendovi una x.Poi su l’ide di arduino la volevo inserire nello sketch e mi è uscito questo messaggio(vedi allegato).

E’ tardi sarai stufo anche tu di seguirmi…che ne dici di risentirci?tanto che in tutti questi post quasi quasi ho dimenticato perchè ho cominciato il thread :slight_smile:

Catturalibreria modificata.PNG

'sera. Mi è venuto un dubbio(la butto lì...) non può dipendere da qualche driver che avrei dovuto installare tipo il CH340G di cui ho sentito parlare? ::)E poi sto pensando cosa centri quel ESP8266_WiFi.h per un orologio.

Ci incontriamo "da queste parti" sempre a quest'ora (ma da me sono una ora indietro). Allora, il driver CH340 serve per scaricare i dati da IDE ad Arduino e tu non hai questo problema. Poi, visto che hai trovato la libreria "quella giusta" fai le modifiche che ti aveva detto Guglielmo.

La libreria ESP8266WiFi serve per sapere l'ora da internet.

Infatti si connette ad un sito di ORA ESATTA e poi te la fa vedere su display.

Sì in effetti lo immaginavo l’ho tirata fuori per disperazione.
Ancora una cosa…si fa per dire…non capisco perchè nello sketch c’è quel int LedPin=13 quando i pin del esp sono diversi.

'Sta maled…SDD1306.h… >:(

Se sto al pinout dell' ESP8266, il D7 dovrebbe essere il tuo LED GPIO 13. Se lo cambi in GPIO 2 lampeggia il led a bordo.

Bon le ho provate tutte ma HIGHT INCORRECT non mi abbandona.

Sarà destino...non morirò per questo...o forse sì :sob:

Vi ringrazio e

alla prossima ....

Buonasera.
“A volte ritornano.”

C’ho ripensato,sono andato a riguardarmi il tutorial:"Analog Clock IoT NodeMCU ESP8266 - YouTube

e questo:Arduino fix Adafruitssd1306 usage error - YouTube

Ho modificato lo sketch

 #include <ESP8266WiFi.h>
#include <time.h>

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SSD1306_128_64 
:
Adafruit_SSD1306 display(OLED_RESET);

const char* ssid = "<your wifi ssid>";
const char* password = "<your wifi password>";

int ledPin = 13;

int timezone = 7 * 3600;
int dst = 0;
#define SSD1306_LCDHEIGHT 64
#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif



void setup() {

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);

  // Clear the buffer.
  display.clearDisplay();
  display.display();
  
  pinMode(ledPin,OUTPUT);
  digitalWrite(ledPin,LOW);

  Serial.begin(115200);

  display.setTextSize(1);
  display.setTextColor(WHITE);
  
  display.setCursor(0,0);
  display.println("Wifi connecting to ");
  display.println( ssid );

  WiFi.begin(ssid,password);
 
  display.println("\nConnecting");

  display.display();

  while( WiFi.status() != WL_CONNECTED ){
      delay(500);
      display.print("."); 
      display.display();       
  }

  // Clear the buffer.
  display.clearDisplay();
  display.display();
  display.setCursor(0,0);
  
  display.println("Wifi Connected!");
  display.print("IP:");
  display.println(WiFi.localIP() );

  display.display();

  configTime(timezone, dst, "pool.ntp.org","time.nist.gov");
  display.println("\nWaiting for NTP...");

  while(!time(nullptr)){
     Serial.print("*");
     
     delay(1000);
  }
  display.println("\nTime response....OK"); 
  display.display();  
  delay(1000);

  display.clearDisplay();
  display.display();
}

void loop() {
  
  time_t now = time(nullptr);
  struct tm* p_tm = localtime(&now);
  int r = 35;
  // Now draw the clock face 
  
  display.drawCircle(display.width()/2, display.height()/2, 2, WHITE);
  //
  //hour ticks
  for( int z=0; z < 360;z= z + 30 ){
  //Begin at 0° and stop at 360°
    float angle = z ;
    
    angle=(angle/57.29577951) ; //Convert degrees to radians
    int x2=(64+(sin(angle)*r));
    int y2=(32-(cos(angle)*r));
    int x3=(64+(sin(angle)*(r-5)));
    int y3=(32-(cos(angle)*(r-5)));
    display.drawLine(x2,y2,x3,y3,WHITE);
  }
  // display second hand
  float angle = p_tm->tm_sec*6 ;
  angle=(angle/57.29577951) ; //Convert degrees to radians  
  int x3=(64+(sin(angle)*(r)));
  int y3=(32-(cos(angle)*(r)));
  display.drawLine(64,32,x3,y3,WHITE);
  //
  // display minute hand
  angle = p_tm->tm_min * 6 ;
  angle=(angle/57.29577951) ; //Convert degrees to radians  
  x3=(64+(sin(angle)*(r-3)));
  y3=(32-(cos(angle)*(r-3)));
  display.drawLine(64,32,x3,y3,WHITE);
  //
  // display hour hand
  angle = p_tm->tm_hour * 30 + int((p_tm->tm_min / 12) * 6 );
  angle=(angle/57.29577951) ; //Convert degrees to radians  
  x3=(64+(sin(angle)*(r-11)));
  y3=(32-(cos(angle)*(r-11)));
  display.drawLine(64,32,x3,y3,WHITE);

  display.setTextSize(1);
  display.setCursor((display.width()/2)+10,(display.height()/2) - 3);
  display.print(p_tm->tm_mday);
  
   // update display with all data
  display.display();
  delay(100);
  display.clearDisplay();

}

Praticamente ho aggiunto:#define OLED_RESET LED_BUILTIN , ho decomentato #define SSD1306 e salvato…

Bene ho pensato sono a posto;faccio i collegamenti, Strumenti->Generic ESP8266 module,verifico e:
ERRORE DURANTE LA COMPILAZIONE Per la scheda Generic ESP8266 module!
Ho provato tutte le schede presenti tra gli Strumenti ma niente da fare.Eppure ho usato gli stessi oggetti

Allego foto

Avete qualche idea?
Grazie e scusate l’insistenza

Catturaesp.PNG

Catturaoled.PNG

Vai nel menù file, scegli impostazioni e dove c'è "mostra un output dettagliato durante" metti una spunta su compilazione.

Stamperà un sacco di righe ma ti dirà quale librerie sta usando e dove sono. Dovrebbe trovarsi nella cartella libraries che a sua volta sta nella cartella dove sono tutti gli sketch.

La libreria ESP8266Wifi.h fa parte delle librerie standard dell'ESP8266, e non si trova sotto libraries ma nella cartella dove sta il compilatore per ESP8266. Serve per la connessione WiFi.

'<giorno.
sulle mie impostazioni non c’è mostra output dettagliato…
allego la foto della scheda impostazioni.

Guarda BENE che c'è eccome ... ... partendo da "Lingua dell'Editor", la 5 riga verso il basso ! Sono due box di spunta, selezionali tutti e due.

Guglielmo

scusa non so come ho fatto a non vederli. :(

Ho provato lo sketch e, fatta la modifica, mi viene compilato senza problemi. La libreria sta in libraries ed è stata installata usando il library manager.

eh no da qui non scappi! :smiling_imp: (scherzo)

Quale modifica?

Ti prego spiegami passo passo la modifica che hai fatto plz,plz.

karafasta:
Quale modifica?

Immagino quella che ti abbiamo detto dall’inizio …
… t’ho detto che hai problemi sulla tua installazione ::slight_smile:

Guglielmo

Scusa Guglielmo,
ma non capisco quali sarebbero i problemi sulla mia installazione.

Non avrà nessuna importanza ma da un po’ in fondo allo sketch vedo questo(vedi allegato).

karafasta: Scusa Guglielmo, ma non capisco quali sarebbero i problemi sulla mia installazione.

Cattiva o duplicata installazione delle librerie ... è dall'inizio che te lo sto dicendo !

Vuoi fare una prova? ... scarica l'ultima versione dell'IDE in formato .zip (quindi non l'eseguibile), scompattala in una cartella dove puoi leggere/scrivere, cambia nome alla cartella da "Arduino" a "Arduino_Portable" (così la riconosci), vai dentro a questa cartella e crea una nuova cartella di nome "portable" ... hai così creato un'installazione "sandboxed" che NON vede nulla e NON scrive nulla al di fuori di se stessa.

Ora, lancia arduino che si trova in detta cartella (Arduino_Portable), vai nelle preferenze e, nelle board addizionali (in fondo), aggiungi, come hai fatto in passato :

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Già che ci sei metti i due segni di spunta per avere i dettagli, come hai già visto.

Vai nel gestore delle "board" ed installa il "core" per ESP8266.

Fatto quanto sopra, vai nel "gestore di librerie" (menu Sketch -> Includi Libreria, prima voce in alto) e li dentro cerca e da li installa le necessarie librerie (NON le installare in alcun altro modo, mi raccomando!).

Fatto questo, prova ad aprire il tuo .ino e compila ... dovrebbe darti il solito errore ... quando sei a questo punto torna e conferma che andiamo avanti.

Guglielmo

lo faccio senz'altro e veramente non so come ringraziarti per la pazienza Fulvio

karafasta: lo faccio senz'altro e veramente non so come ringraziarti per la pazienza Fulvio

Mi raccomando, passo passo quanto ti ho scritto ... è importante non saltare nulla ! ;)

Guglielmo