j'essaie d'envoyer un poids en kg avec 3 chiffre après la virgule mais je reçois des chiffres énorme,
j'ai utilisé comme config sur le backend poids:float:32.
code
#include <RTCZero.h>
#include <ArduinoLowPower.h>
#include "HX711.h"
#include <SigFox.h>
#define LED 6
//HX711 scale; // This is the built_in led
void setup() {
pinMode(LED,OUTPUT);
digitalWrite(LED,LOW);
Serial.begin(9600);
while (!Serial);
if ( ! SigFox.begin() ) {
Serial.println("Error ... rebooting");
NVIC_SystemReset();
while(1);
scale.begin(A1, A0);
scale.set_scale(23150.f);
scale.tare();
}
SigFox.reset();
delay(100);
SigFox.debug();
SigFox.end();
// We need to have to time to program the Arduino after a reset
// Otherwise it does not respond when in low-power mode
Serial.println("Booting...");
digitalWrite(LED,HIGH);
delay(5000);
digitalWrite(LED,LOW);
}
typedef struct __attribute__ ((packed)) sigfox_message {
float Poids= scale.get_units();
} SigfoxMessage;
void loop() {
// put your main code here, to run repeatedly:
SigFox.begin();
Serial.print("Poids :\t");
Serial.print(scale.get_units(), 3);
scale.power_down(); // put the ADC in sleep mode
delay(5000);
scale.power_up();
SigFox.status();
SigfoxMessage msg;
msg.Poids = (float);
;
SigFox.beginPacket();
SigFox.write((uint8_t*)&msg,sizeof(msg));
SigFox.endPacket(false);
SigFox.end();
// Wait for 10 minutes.
// Low Power version - be carefull of bug
// LowPower.sleep(10*60*1000);
// Normal version
delay(10*60*1000);
}