Bonjour,
je reviens vers vous concernant l'envoi de données (l'eternel poids d'une ruche) vers sigfox.
j'ai eu des soucis que je croyais d'emission/reception pour finalement decouvrir que j'envoyer des données de type "25000", cela créait une erreur de data et donc pas de retour.
j'ai modifié mon poids avec 2 chiffres apres la virgule, multiplié par 100 pour l'envoi.
le poids actuel restant dans une plage de 4 chiffres (equivalent 2 octets) tout va bien.
mais pour des raisons pratiques, je voudrais obtenir en grammes et la forcement, plus de données.
j'ai trouvé un article ou la donnée est verifiée et un zero est ajouté à gauche..........mais je rame.
voici mon programme de base :
#include "HX711.h"
#include <SoftwareSerial.h>
// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 2;
const int LOADCELL_SCK_PIN = 3;
#define RxNodePin 10
#define TxNodePin 11
HX711 scale;
SoftwareSerial Sigfox = SoftwareSerial(RxNodePin, TxNodePin);
void setup() {
Serial.begin(9600);
//Serial.println("HX711 Demo");
pinMode(RxNodePin, INPUT);
pinMode(TxNodePin, OUTPUT);
scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
scale.set_scale(35010.f); // cette valeur est obtenue en calibrant la balance avec des poids connus
scale.tare(); // remettre la balance à 0
//scale.set_offset(485518);
}
void loop() {
Sigfox.begin(9600);
delay(100);
float pesee = (scale.get_units(5), 3); // moyenne de 5 pesées avec 3 chiffres apres la virgule
int pesee_finale = (scale.get_units())*1000; je multiplie pour me debarasser de la virgule ( conversion Kg en gr)
Serial.print("Envoi de données vers le site Sigfox, j'envoie : ");
// Serial.print(", Valeur envoyée: ");
Serial.println(pesee_finale);
Sigfox.print("AT$SF=");
Sigfox.println(pesee_finale);
scale.power_down(); // met l'ADC en mode veille
delay(900000);
scale.power_up();
}
je n'ai pas de librairy particuliere, j'utilise le module LSM100A
mes données sont recuperées dans une application de gestion de ruches.
J'espere etre clair.
Merci pour votre retour.
Cordialement