Diferència entre revisions de la pàgina «Trametre 3 floats en 12 bytes i visualitzar-los al NodeRED»
De Wiki d'en Jordi Binefa
m |
m (→Transmissió de 3 floats en 12 bytes) |
||
(Hi ha una revisió intermèdia del mateix usuari que no es mostren) | |||
Línia 1: | Línia 1: | ||
= Transmissió de 3 floats en 12 bytes = | = Transmissió de 3 floats en 12 bytes = | ||
− | A la línia 310 d'aquest [https://github.com/jordibinefa/arduino-IDE-codes/blob/master/esp32_lorawan_ttnEsp32_ttgo_multichannel_02b/esp32_lorawan_ttnEsp32_ttgo_multichannel_02b.ino codi per a trametre un float en 4 bytes emprant The | + | A la línia 310 d'aquest [https://github.com/jordibinefa/arduino-IDE-codes/blob/master/esp32_lorawan_ttnEsp32_ttgo_multichannel_02b/esp32_lorawan_ttnEsp32_ttgo_multichannel_02b.ino codi per a trametre un float en 4 bytes emprant The Things Network] hi surt: |
− | unsigned char data[4]; | + | unsigned char data['''4''']; |
A la línia 322: | A la línia 322: | ||
float2Bytes(fTc, data); | float2Bytes(fTc, data); | ||
− | for (int i = 0; i < 4 ; i++) { | + | for (int i = 0; i < '''4''' ; i++) { |
Serial.print("[0x"); | Serial.print("[0x"); | ||
Serial.print(data[i], HEX); | Serial.print(data[i], HEX); | ||
Línia 17: | Línia 17: | ||
A la línia 333: | A la línia 333: | ||
− | LMIC_setTxData2(1, data, 4, 0); | + | LMIC_setTxData2(1, data, '''4''', 0); |
Línia 25: | Línia 25: | ||
float2Bytes(fTc, data); | float2Bytes(fTc, data); | ||
− | '''float2Bytes(fP, data);''' | + | '''float2Bytes(fP, &data[4]);''' |
− | '''float2Bytes(fRH, data);''' | + | '''float2Bytes(fRH, &data[8]);''' |
for (int i = 0; i < '''12''' ; i++) { | for (int i = 0; i < '''12''' ; i++) { | ||
Serial.print("[0x"); | Serial.print("[0x"); | ||
Línia 38: | Línia 38: | ||
= Recollir els 12 bytes i reconstruir-los com a 3 floats = | = Recollir els 12 bytes i reconstruir-los com a 3 floats = | ||
− | [[File: | + | [[File:12bytes_2_3floats.png|caption]] |
[https://www.binefa.cat/IoT/nodeRed/04_nodeRed_12bytes_4floats/12bytes_2_3floats.nodered.txt Codi per a importar el flux anterior] | [https://www.binefa.cat/IoT/nodeRed/04_nodeRed_12bytes_4floats/12bytes_2_3floats.nodered.txt Codi per a importar el flux anterior] |
Revisió de 14:52, 4 feb 2020
Transmissió de 3 floats en 12 bytes
A la línia 310 d'aquest codi per a trametre un float en 4 bytes emprant The Things Network hi surt:
unsigned char data[4];
A la línia 322:
float2Bytes(fTc, data); for (int i = 0; i < 4 ; i++) { Serial.print("[0x"); Serial.print(data[i], HEX); Serial.print("]"); } Serial.println();
A la línia 333:
LMIC_setTxData2(1, data, 4, 0);
Per a trametre 12 bytes fem aquestes modificacions:
unsigned char data[12];
float2Bytes(fTc, data); float2Bytes(fP, &data[4]); float2Bytes(fRH, &data[8]); for (int i = 0; i < 12 ; i++) { Serial.print("[0x"); Serial.print(data[i], HEX); Serial.print("]"); } Serial.println();
LMIC_setTxData2(1, data, 12, 0);