Vai al contenuto

Esp8266: differenze tra le versioni

firmware stub
m Aggiunto die-shot
 
(6 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
=== Hardware ===
=== Hardware ===
Informazioni sulla famiglia NodeMCU: https://www.esp8266.com/wiki/doku.php?id=esp8266-module-family
Schematiche: https://github.com/nodemcu/nodemcu-devkit-v1.0/blob/master/NODEMCU_DEVKIT_V1.0.PDF
Schematiche: https://github.com/nodemcu/nodemcu-devkit-v1.0/blob/master/NODEMCU_DEVKIT_V1.0.PDF


Pinout: https://github.com/nodemcu/nodemcu-devkit-v1.0/blob/master/Documents/NODEMCU_DEVKIT_V1.0_PINMAP.png
Pinout: https://github.com/nodemcu/nodemcu-devkit-v1.0/blob/master/Documents/NODEMCU_DEVKIT_V1.0_PINMAP.png


Die shot: https://zeptobars.com/en/read/Espressif-ESP8266-wifi-serial-rs232-ESP8089-IoT


==== Caveat ====  
==== Caveat ====  
Riga 9: Riga 12:
* D4 (GPIO2) e D8 (GPIO15) all'avvio devono essere rispettivamente HI e LOW (tramite dei pull-up/down già presenti), per cui *dovrebbero* essere usati come output.
* D4 (GPIO2) e D8 (GPIO15) all'avvio devono essere rispettivamente HI e LOW (tramite dei pull-up/down già presenti), per cui *dovrebbero* essere usati come output.
* D9 (GPIO3) e D10 (GPIO1) sono condivisi con la seriale (RXD0 e TXD0).
* D9 (GPIO3) e D10 (GPIO1) sono condivisi con la seriale (RXD0 e TXD0).
* D11 (GPIO9) e D12 (GPIO10) sono sul lato opposto, ed etichettate come SD1 e SD2.
* D0 (GPIO16) è stupido, può essere solo scritto/letto, ma non supporta PWM o qualunque altra cosa. È usato per risvegliare il processore.
* D0 (GPIO16) è stupido, può essere solo scritto/letto, ma non supporta PWM o qualunque altra cosa. È usato per risvegliare il processore.
* D11 (GPIO9) e D12 (GPIO10) sono sul lato opposto, ed etichettate come SD2 e SD3.
* I pin etichettati con SD* (compresi SD2 e SD3) sono i pin SPI, e sono collegati internamente alla flash.
* SD3 (D12) può essere usato come PWM/interrupt (a proprio rischio e pericolo, visto che è connesso anche alla flash), mentre il medesimo uso di SD2 (D11) provoca un reset e riavvio del sistema.


Complessivamente vi sono 8 GPIO completamente funzionali, 10 se si rinuncia alla seriale, e 11 usando uno dei pin usati per la flash.


=== Installazione toolchain ===
=== Installazione toolchain ===
Si raccolgono qui le procedure di installazione della toolchain per programmare l'Esp8266, nei vari casi d'uso.
Si raccolgono qui le procedure di installazione della toolchain per programmare l'Esp8266, nei vari casi d'uso.


==== Linux generico ====
==== Linux generico ====
https://www.esp8266.com/wiki/doku.php?id=toolchain#how_to_setup_a_vm_to_host_your_toolchain
* https://www.esp8266.com/wiki/doku.php?id=toolchain#how_to_setup_a_vm_to_host_your_toolchain
Scaricare esptool.py per fare il flashing: https://github.com/espressif/esptool
* Scaricare esptool.py per fare il flashing: https://github.com/espressif/esptool


==== Arch Linux ====
==== Arch Linux ====
La procedura generica non funziona, almeno non con l'ultima versione di GCC.
La procedura generica non funziona, almeno non con l'ultima versione di GCC.
È disponibile un pacchetto aur.
È disponibile un [https://aur.archlinux.org/packages/esp-open-sdk-git/ pacchetto AUR]:
 
  $ git clone https://aur.archlinux.org/esp-open-sdk-git.git
  $ git clone https://aur.archlinux.org/esp-open-sdk-git.git
  $ makepkg -s
  $ makepkg -si
# pacman -U esp-open-sdk-git


Il PKGBUILD scaricherà e compilerà il toolchain. La procedura è decisamente lenta (>40 min).
Il PKGBUILD scaricherà e compilerà il toolchain. La procedura è decisamente lenta (>40 min).


Installare esptool:
Installare esptool:
  # pacman -S esptool
  # pacman -S esptool


Riga 42: Riga 45:


In questo modo, fra le altre cose si vedono le specifiche della scheda e le dimensioni della flash (typ. 4MB).
In questo modo, fra le altre cose si vedono le specifiche della scheda e le dimensioni della flash (typ. 4MB).
A questo punto è possibile compilare e flashare il firmware:
$ cd nodemcu-firmware
$ make
$ make flash4m
A questo punto il dispositivo dovrebbe essere pronto ad accogliere i file .lua!
A questo scopo si può usare esplorer (https://github.com/4refr0nt/ESPlorer), disponibile in AUR per Arch.
[[Categoria:Hardware]]
[[Categoria:HowTo]]
[[Categoria:Elettronica]]