Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Collegamento NodeMCU - PMS5003

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto UtenteBrunoValente, Foto UtenteDirtyDeeds, Foto Utentecarloc, Foto UtenteIsidoroKZ, Foto Utenteg.schgor

0
voti

[1] Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentelodovico » 27 mar 2019, 14:12

Ciao a tutti,
finalmente mi è arrivato dalla Cina il sensore polvere PMS5003 che avevo ordinato tempo fa.

Ora vorrei capire come collegarlo alla mia scheda NodeMCU ESP8266

Ho trovato questa libreria

https://github.com/riverscn/pmsx003

che contiene alcune indicazioni sui collegamenti hardware, le riporto qui:

Install Pmsx003 library.

Let's use EspSoftwareSerial Library. Install it.

Make some connections:

Important: Pmsx003 uses 3.3V logic. Make sure your Arduino board uses 3.3V logic too, use converters if required.
Pmsx003 Pin 1: Vcc
Pmsx003 Pin 2: GND
Pmsx003 Pin 4: Your defined swsTX in Pmsx003(int8_t swsRX, int8_t swsTX)
Pmsx003 Pin 5: Your defined swsRX in Pmsx003(int8_t swsRX, int8_t swsTX)


Qui ho trovato alcune indicazioni su come fisicamente collegare i cavi, dopo averli preparati

https://ourairquality.org/index.php/bui ... y-monitor/

però nel precedente articolo dice di non collegare il cavo RX... non mi è chiaro il perché

ed infine qui, è indicato come si effettua il collegamento a un modulo ESP, non necessariamente NodeMCU

https://www.letscontrolit.com/wiki/index.php/PMSx003

PMSx003_Schematics.jpg


Non mi è chiara la differenza, perché nella prima libreria non si fa riferimento ai pin SET e RESET, ed invece qui si?

Poi il condensatore per stabilizzare i 5V di alimentazione è necessario anche nel primo caso?

Grazie!
Ciao
O_/
Avatar utente
Foto Utentelodovico
1.704 2 4 6
Expert EY
Expert EY
 
Messaggi: 1859
Iscritto il: 24 feb 2014, 12:54

1
voti

[2] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentexyz » 27 mar 2019, 15:39

I motivi sono tutti spiegarti in modo chiaro (almeno per me) nei link indicati, basta leggere con molta attenzione.

The RX pin is not currently used due to software limitations (the Nodemcu software currently writes debug information on its UART output), but it might be useful in future to command the sensor to sleep ...

E' inutile tradurlo (spero), in pratica il software non gestiste lo stato di sleep quindi RX in questo caso non serve.

SET - Standby function, when pulled down the module does not send information over serial and goes into a low power state.
RESET - Reset the module, similar to power-up, it takes ~30 seconds before data is received

SET e RESET servono per gestire lo stato di sleep se il software lo supporta.

The capacitor covers the high current consumption of the laser pulses avoiding influence to the power supply of the circuit.

La capacità previene problemi in caso di consumo eccessivo di corrente.
Avatar utente
Foto Utentexyz
5.945 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1582
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[3] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentelodovico » 27 mar 2019, 16:06

capito, grazie
ma mi pareva di aver inteso che la prima libreria che ho elencato gestisce anche lo sleep mode , comandando il sensore via RX

nota che io ho messo tutto nello stesso post, ma gli articoli sono presi da fonti diverse, quindi non sono sicuro che la lib indicata nel primo link sia la stessa utilizzata nel secondo (li spiega solo come adattare i fili, e non parla di software mi pare...)

esempio, ho trovato anche questo:

http://arduinosensor.tumblr.com/post/157168123230/pms5003-sensor-in-action
che indica un'altra lib, che fa riferimento allo schema:
tumblr_inline_olabck7Y6S1tpqui5_1280.png


insomma ho un po di confusione ed e' per questo che ho aperto il thread... :mrgreen:

il mio dubbio attuale piu importante sta nelle funzionalita di set e reset , anche in relazione al RX
nel primo link del primo post, per quel che riguarda i collegamenti, vedo:

Pmsx003 Pin 4: Your defined swsTX in Pmsx003(int8_t swsRX, int8_t swsTX)
Pmsx003 Pin 5: Your defined swsRX in Pmsx003(int8_t swsRX, int8_t swsTX)


quindi suppongo che anche RX venga usato nel software...
Avatar utente
Foto Utentelodovico
1.704 2 4 6
Expert EY
Expert EY
 
Messaggi: 1859
Iscritto il: 24 feb 2014, 12:54

1
voti

[4] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentexyz » 27 mar 2019, 17:21

Se uno ha dei dubbi si legge (bene) il datasheet del sensore e della board utilizzata, è sempre tutto scritto.

Se uno decide di usare una determinata libreria usa le indicazioni di collegamento di quella libreria, non di un'altra.
Avatar utente
Foto Utentexyz
5.945 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1582
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[5] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentelodovico » 27 mar 2019, 20:54

Siamo d'accordo .
Il problema e' che io leggo bene ma non ne so abbastanza per capire quello che sta scritto, o faccio molta fatica :D :
probabilmente dovrei leggere anche tante cose prima di quelle, per capirle, ma come detto non ho tutto questo tempo...
guardando un po di qua e un po di la cercavo i punti in comune , per essere sicuro di cio che devo fare
comunque se non arrivano suggerimenti, non importa, in qualche modo mi arrangero' sicuramente... (magari leggendo molto molto bene :mrgreen: )
Avatar utente
Foto Utentelodovico
1.704 2 4 6
Expert EY
Expert EY
 
Messaggi: 1859
Iscritto il: 24 feb 2014, 12:54

0
voti

[6] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentelodovico » 29 mar 2019, 14:24

Eccomi qua, dopo aver approfondito un po l'argomento.
Oltre alla libreria che ho indicato nel primo post, cioè:
https://github.com/riverscn/pmsx003
ho trovato quest'altra:
https://github.com/fu-hsi/PMS
che a quanto pare è piu 'standard' , nel senso che è già inclusa nel set di librerie predefinite dell'Arduino IDE.
Questa seconda include anche uno schema di collegamento:
Schematic.png
.
Se ho ben capito, questa seconda utilizza per la comunicazione con il sensore l'hardware seriale condiviso con USB (pin RX,TX) e per il display dei messaggi sul monitor seriale sfrutta un pin aggiuntivo, che è solo di output.
Viceversa, la prima libreria, per la comunicazione seriale non utilizza i pin RX, TX condivisi con USB ma ne definisce altri , attraverso l'uso di un'altra apposita libreria che consente di definire altri pin per la comunicazione seriale ( software serial )
Io tenderei ad utilizzare la seconda.
Avatar utente
Foto Utentelodovico
1.704 2 4 6
Expert EY
Expert EY
 
Messaggi: 1859
Iscritto il: 24 feb 2014, 12:54

0
voti

[7] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentexyz » 29 mar 2019, 15:16

L'integrato ESP8266 NON ha USB, ha una UART LVTTL detta anche seriale a 3.3 V. Molte board (come NodeMCU) hanno un chip per adattare la seriale LVTLL a una seriale USB HID, di solito si usa un chip della FTDI (ad esempio FT231X) o altre marche cinesi (come CH3330N).

Lo schema elettrico usa la board ESP-12E, molto minimale, la quale non ha il chip per adattare la seriale al USB.

Parlare di seriale condivisa con USB è errato, è semplicemente connessa.

Se guardi i sorgenti dell'esempio il programma legge i dati del sensore e le stampa sulla seriale, niente di più.
Avatar utente
Foto Utentexyz
5.945 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1582
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[8] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentelodovico » 29 mar 2019, 16:52

grazie per i chiarimenti.
ecco si mi sarebbe utile (anche se non necessario per i miei scopi, forse) sapere un po di piu sull'hardware che sto utilizzando, perche' nelle descrizioni degli shop online si trova un po di tutto per identificare alla fine la stessa cosa, forse...
in specifico, questa e' la descr della mia board:
AZDelivery ⭐⭐⭐⭐⭐ ESP8266 NodeMCU Amica V2 Modulo ESP-12E WiFi Development Board con CP2102 per Arduino con eBook

e questa l'immagine:
IMG_20190329_154908-1024x509.png

mi potresti indicare qual'e' in questo caso il convertitore cui ti riferisci?
Avatar utente
Foto Utentelodovico
1.704 2 4 6
Expert EY
Expert EY
 
Messaggi: 1859
Iscritto il: 24 feb 2014, 12:54

1
voti

[9] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto UtentePraticamente » 29 mar 2019, 17:04

Cattura.JPG
Cattura.JPG (38.17 KiB) Osservato 800 volte
giralo...
Avatar utente
Foto UtentePraticamente
152 1 3
Frequentatore
Frequentatore
 
Messaggi: 117
Iscritto il: 11 gen 2019, 15:37

0
voti

[10] Re: Collegamento NodeMCU - PMS5003

Messaggioda Foto Utentelodovico » 29 mar 2019, 18:02

grazie, Foto UtentePraticamente,
ma la mia board non è questa che hai indicato, ma quella che ho postato, mi interesserebbe quella che ho postato... :D

lasciami comunque completare le domande che stavo scrivendo, riporto qui il post, perché prima non sono riuscito a completarlo :
----

Ecco si mi sarebbe utile (anche se non necessario per i miei scopi) sapere un po di piu sull'hardware che sto utilizzando, perche' nelle descrizioni degli shop online si trova un po di tutto per identificare alla fine la stessa cosa (forse).

In specifico, questa e' la descr della mia board:
AZDelivery ESP8266 NodeMCU Amica V2 Modulo ESP-12E WiFi Development Board con CP2102 per Arduino con eBook

e questa l'immagine:

IMG_20190329_154908-1024x509.png


mi potresti indicare qual'e' in questo caso il convertitore cui ti riferisci (ammesso che sia visible e non incorporato in qualche altro componente)?

Vedo nell'immagine stampato sull'integrato piu grande:
- ESP8266MOD AI-THINKER
ma non vedo ESP-12E , forse la definizione corretta è ESP8266-12E?

poi stando alle cose macroscopiche dell'immagine vedo che c'è:
- CP2102 (e questo appare nella descrizione)
- AMS1117 (e questo non appare, cos'è?)

sempre stando agli elementi della descrizione dell'oggetto,
'Amica V2' credo corrisponda al modello (e quindi non mi aspetto di trovarlo stampato su un chip :D )

ed infine 'NodeMCU', dal punto di vista hardware, da cosa è rappresentato? dall'insieme?

Potresti aiutarmi a fare un po di chiarezza sui componenti che vedo, sinteticamente?

Esempio:
- lo sketch dove viene caricato...CP2102 è la memoria, viene caricato li?
- dove gira il programma?

Infine, per quel che riguarda lo schema del precedente post ed il software di esempio allegato alla libreria, mi sono soffermato un po su questa parte, riferita all'esempio 'Basic.ino':


void setup()
{
Serial.begin(9600); // GPIO1, GPIO3 (TX/RX pin on ESP-12E Development Board)
Serial1.begin(9600); // GPIO2 (D4 pin on ESP-12E Development Board)
}



e nella parte loop():

if (pms.read(data))
{
Serial1.print("PM 1.0 (ug/m3): ");
Serial1.println(data.PM_AE_UG_1_0);

Serial1.print("PM 2.5 (ug/m3): ");
Serial1.println(data.PM_AE_UG_2_5);

Serial1.print("PM 10.0 (ug/m3): ");
Serial1.println(data.PM_AE_UG_10_0);

Serial1.println();
}



Differentemente dagli sketch che ho utilizzato per il sensore temperatura, nel setup c'è in piu' quell'inizializzazione Serial1.begin, e nel loop le stampe avvengono richiamando appunto Serial1

Quindi suppongo (correggimi se sbaglio) che invece questa volta 'Serial' venga utilizzato dalla libreria per comunicare con il sensore, e 'corrisponda' ai pin TX ed RX che sono anche connessi , non condivisi , con USB (attraverso il convertitore, come dici tu)

SET e RESET non sono collegati ad alcun pin della board, ma non è necessario collegarli perché sono 'implementati' via software, attraverso comandi impartiti via comunicazione seriale, è corretto?

Quindi ecco i collegamenti che mi appresto a fare:

NODEMCU -- PMS5003:
VIN -- PIN1
GND -- PIN2
RX -- PIN5 (TXD)
TX -- PIN4 (RXD)

La mia idea era caricare il 'Basic.ino' e stare a guardare cosa veniva stampato sul serial monitor, però adesso ripensandoci
ho un dubbio: appena dopo caricato lo sketch, essendo a quel punto la USB 'impegnata' (perché connessa) dalla comunicazione tra la board e il sensore, vedrò qualcosa sul serial monitor?
dove vengono indirizzate le stampe Serial1.println??

E poi visto che a quel punto USB è 'impegnata' (suppongo sempre, eh...), riuscirò ancora ad utilizzarla per caricare altri sketch?

Grazie!
O_/
Ultima modifica di Foto Utentelodovico il 29 mar 2019, 18:19, modificato 3 volte in totale.
Avatar utente
Foto Utentelodovico
1.704 2 4 6
Expert EY
Expert EY
 
Messaggi: 1859
Iscritto il: 24 feb 2014, 12:54

Prossimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 74 ospiti