Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Appello a chi è interessato al ESP8266 [risolto]

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

6
voti

[11] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteTardoFreak » 18 apr 2017, 9:04

Per Foto Utenteluxinterior ed altri interessati.
Ricapitolando:
- Andare all'indirizzo http://www.esp8266.com/viewtopic.php?f=9&t=820
- Seguire le istruzioni alla lettera
- Tenere presente i due post sopra.

Buona sperimentazione (finalmente con un sistema di sviluppo serio)! :ok:
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

1
voti

[12] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtentePaolino » 18 apr 2017, 11:13

Foto UtenteTardoFreak, ma la procedura che indichi è valida solo per ESP8266 o anche per NodeMCU?
Grazie.

Paolo.

P.S. Ottimo lavoro :ok:
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

1
voti

[13] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteTardoFreak » 18 apr 2017, 11:28

E' valida per tutti i tipi di moduli/schede che usano ESP8266.
Io principalmente uso ESP01 perché è minuscolo, e NodeMCU perché è completo di tutto, convertitore USB-seriale compreso.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

3
voti

[14] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteTardoFreak » 18 apr 2017, 12:56

Man mano che installo o scopro qualcosa di utile lo posto qui.
Una delle funzionalità molto comode è il terminale seriale. Io ho già diversi emulatori ma l'idea di averne uno integrato mi stuzzica assai. Dopo diverse ricerche sono riuscito ad installarlo.
- Andare su help -> install new software.
- Nel campo "Work with" selezionare dal menù a tendina "All avilable sites", aspettare fino a quando non viene visualizzato l'elenco.
- Espandere "Mobile and Device Development
- Spuntare la casella TM terminal
- Premere il tasto in basso "Next" e seguire l'installazione.
Sembrerebbe tutto pronto ma manca ancora qualcosa (che mi ha fatto dannare). Io lavoro in winzozz ed eclipse ha bisogno del pacchetto RxTx. Per installarlo:
- Andare su help -> install new software.
- Nel campo "Work with" premere il pulsante "Add" sulla destra
- Nel campo "name" io ho scritto RxTx, nel campo "Location" inserire questo link http://rxtx.qbang.org/eclipse
- Compaiono due pacchetti: RXTX 2.1-7r3 e RXTX 2.1-7r4, selezionare quest'ultimo
- Premere il tasto in basso "Next" e seguire l'installazione.

Per visualizzare la scheda del terminale
- andare su Window -> Show view -> Other..
- aprire la cartella Terminal e selezionare l'unica voce "Terminal"

Per usare il terminale, in basso a destra delle schede ("Problems, Tasks, Console, Properties, Terminal) c'è un icona che assomiglia ad un monitor, è quella del terminale. Premere e si apre il pannello per la configurazione del terminale.

Se non si riescono a vedere le porte seriali nel menù a tendina "Port" vuol dire che l'installazione di RxTx ha avuto dei problemi.

Per ulteriori informazioni visitare il sito a questo link: https://mcuoneclipse.com/2015/04/20/ser ... ipse-luna/
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

2
voti

[15] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteTardoFreak » 18 apr 2017, 21:38

Ed infine ho trovato il modo per integrare anche progetti "arduino flavour" in Eclipse. E' un po' macchinoso da fare ma funziona. Lo stile è lo stesso di arduino ma supportato da un IDE di tutto rispetto.
Quindi si può programmare il micro utilizzando i due SDK oppure le librerie e l'impostazione di arduino.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

2
voti

[16] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteTardoFreak » 19 apr 2017, 13:29

E vabbè, oramai questa discussione è diventata un diario di quello che sto facendo.
Ho abbandonato l'idea di usare il plugin di Arduino per sviluppare programmi. All'inizio sembrava una semplificazione ma, alla prova dei fatti, è risultato essere solo una complicazione per cui sono tornato alle origini.

SDK della expressif.
Ci sono due SDK: uno su cui non è implementato il sistema operativo freeRTOS e l'altro con il sistema implementato. Il secondo è più ricco di possibilità ma ho preferito pertire dal primo che basa tutto il funzionamento di funzioni di callback, timers ed eventi.
Questo vuol dire che non si usa più la struttura canonica di un ciclo infinito di funzionamento, ma l'operatività è affidata alle chiamate a funzioni consecutive e governate dagli eventi e stati del sistema.

Nota sulle funzioni.
L'ESP8266 secondo me è una genialata perché non ha flash interna ma usa una flash seriale esterna. Questo, se da una parte permette di avere un enorme spazio disponibile per il programma, dall'altro porta ad un'inevitabile riduzione del tempo di accesso. Ma quelli della Espressif non sono stupidi ed hanno implementato un sistema di cache per le funzioni che necessitano di alta velocità di esecuzione e/o che sono chiamate di frequente.
Come riportato dalla documentazione bisogna decorare la dichiarazioni delle funzioni normali con un modificatore (una macro) specifica. Es:
Codice: Seleziona tutto
static void ICACHE_FLASH_ATTR gestConnessione(void)

ICACHE_FLASH_ATTR è come dire al compilatore "questa è una normale funzione che risiede nella FLASH e che non deve essere caricata nella cache".
La documentazione raccomanda di usare funzioni senza questa decorazione, a meno che non sia strettamente necessario.
Le funzioni di servizio delle interrupt non devono avere questo modificatore! Il perché è semplice da capire: devono essere più brevi possibile.

Nota sulla programmazione.
La prima funzione che viene chiamata è la user_init. Ma quando viene chiamata non si ha ancora la certezza che tutto il sistema sia stato inizializzato. Per esserne sicuri bisogna chiamare una funzione apposita e fornirgli il puntatore ad una funzione di callback che rappresenta così il vero inizio del programma. Es:
Codice: Seleziona tutto
// Questa funzione parte solo quando il sistema (SKD) è pronto
// e completamente inizializzato.
// Di fatto il vero programmma parte da questo punto
// Con l'avvio del gestore della connessione
static void ICACHE_FLASH_ATTR sistemaPronto(void)
{
  ets_uart_printf("\r\nSistema pronto\r\n");
  // Inizializza il timer che chiama la funzione per la gestione della connessione
  os_timer_disarm(&timerConnessione);
  os_timer_setfn(&timerConnessione, (os_timer_func_t *)gestConnessione, NULL);
  os_timer_arm(&timerConnessione, DELAY_GEST_CONNESSIONE, 1);
  // Imposta il modulo come stazione
  wifi_set_opmode(STATION_MODE);
}

// Punto di partenza del programma
void ICACHE_FLASH_ATTR user_init(void)
{
   // Configura la UART
   uart_init(BIT_RATE_115200, BIT_RATE_115200);
   // Attende che il sistema sia pronto
   system_init_done_cb(sistemaPronto);
}
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[17] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto Utenteluxinterior » 19 apr 2017, 16:40

E vabbè, oramai questa discussione è diventata un diario di quello che sto facendo.


Tardofreak mi stai asfaltando....
Io sono ancora alla lettura del book pdf sull'esp8266
Per me sono informazioni preziose quindi se vuoi continuare... mi fa molto piacere.
Troverò il modo di ricambiare.
Avatar utente
Foto Utenteluxinterior
4.311 3 4 9
Master EY
Master EY
 
Messaggi: 2690
Iscritto il: 6 gen 2016, 17:48

0
voti

[18] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteTardoFreak » 19 apr 2017, 16:49

Purtroppo mi sono bloccato sul filesystem interno.
Se arduino fornisce una buona API ed una utility per caricare il files nel filesystem interno, altrettanto facilmente non lo si può fare con il sistema di sviluppo. O meglio, si può fare ma è veramente un gran casino.
Il problema non è tanto quello di creare (all'interno del programma che gira nel micro) e scrivere files, ma quello di riuscire a caricarli dall'esterno, magari mediante una utility di flash.
Da quello che ho capito si sua sempre esptools ma bisogna creare un segmento da caricare nella flash.
Non ho idea di come fare.
Nel forum della Espressif http://bbs.espressif.com/viewtopic.php?t=1396 dicono di fare riferimento a questo link https://github.com/xlfe/spiffy
Da qui in poi ... nebbia. :(
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[19] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto UtenteSjuanez » 19 apr 2017, 17:06

Segnare come [risolto] un argomento è una buona idea! :D

O_/ O_/ O_/
Più so e più mi accorgo di non sapere.

Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Avatar utente
Foto UtenteSjuanez
11,3k 6 8 13
G.Master EY
G.Master EY
 
Messaggi: 3479
Iscritto il: 18 mar 2015, 13:48

1
voti

[20] Re: Appello a chi è interessato al ESP8266 [risolto]

Messaggioda Foto Utentexyz » 19 apr 2017, 17:47

Si tratta del SPIFFS (SPI Flash File System), il codice è incorporato nel RTOS SDK, nel firmware per NodeMcu e nel API di Arduino per ESP8266 ma non nel SDK senza FreeRTOS, si deve compilare a parte.

Il codice originale è questo con la documentazione su come funziona:

https://github.com/pellepl/spiffs
https://github.com/pellepl/spiffs/wiki/Using-spiffs

Nel porting per RTOS SDK esiste utility per crearlo e poi con esptool si usa per scriverlo nella zona di memoria scelta come destinazione:

https://github.com/SuperHouse/esp-open- ... s/mkspiffs
https://github.com/SuperHouse/esp-open- ... ras/spiffs

Per IDE di Arduino esiste un programma per automatizzare i passaggi ma non ho mai provato.
Avatar utente
Foto Utentexyz
6.864 2 4 6
G.Master EY
G.Master EY
 
Messaggi: 1778
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

PrecedenteProssimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti