Image

Balance pour surveiller le poids des ruches pour moins de 150€

Balance pour surveiller le poids des ruches

Je vais vous montré dans cette article comment j’ai réaliser une balance ( DIY) a faire sois même.

Depuis un bon moment j’avais envie de trouver une balance pour surveiller les miellées,

surtout quand nous nous trouvons a plusieurs kilomètres de de notre exploitation.

Les solutions qui sont proposé sont toute très évoluer et il faut bien l’avouer un peu cher pour le nombre de balance que nous devrions mettre en place.

J’en profite pour dire que je ne suis pas la pour critiquer ce qui ce fait déjà ou pour apporter une solution total à votre envie, cela fait plus-rot partie d’un tripe personnel et utilité pour notre exploitation.

Cela bien-sur ne remplace pas les visites mais peux nous orienter sur des visites qui devrai être plus rapprocher ou faite avant certain ruchers.

De plus cela est je trouve très intéressant de pouvoir suivre l’évolution d’une ruche.

Nous avons rajouter une petite option pour les température et hydrométrie histoire de liée tous cela à une futur interface pour étudier cela convenablement avec toutes les données.

Ah oui nous rajoutons une idée : Le prix de l’ensemble ne doit pas dépasser 150€ pour rester concurrentiel au offre actuel ( sinon pourquoi s’embetter la vie )

Autre points aussi sa doit pas mettre une plombe à faire.

Aller go on commence !

Le matériel nécessaire et les prix environs :

En gros environs – 150€ et sans passer par alliexpresssss etc  ce qui peux baisser encore les prix aux plus bas …..

A quoi vont servir tous ces éléments :

  • Le Arduino mkrfox1200 sigfox est une carte de transmission de basse donnée via le réseaux sigfox  avec un arduino qui a été inventer pour apprendre l’électronique comme la raspberry en gros cela est un petit ordinateur que nous allons programmer pour effectuer des taches prés conçu pour répondre a nos attente
  • Le carteur HX711 est une petit carte relié a des  sondes pour mesuré le poids
  • DHT11 ou DHT22  sont ici pour mesuré la chaleur et l’hydrométrie ( module optionnel si l’on ne veux que le poids

Assemblage des éléments

Electronique de la balance
Support en H

Support en H

Le montage électronique

Voici le code pour l’arduino

#include <SigFox.h>
#include <ArduinoLowPower.h>
#include <Adafruit_Sensor.h>
#include <HX711.h>

// /////////////////// temperature
#include <DHT.h>

#define DHTPIN 4
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

// ////////////////////////// balance
#define DOUT 3
#define CLK 2
HX711 scale(DOUT, CLK);
float calibration_factor = 13200;
String poidslimite;
String poids;
String dec;
// /////////

typedef struct __attribute__ ((packed)) sigfox_message {
// int16_t moduleTemperature;
float poids;
float t;
float h;
} SigfoxMessage;

// stub for message which will be sent
SigfoxMessage msg;

// =================== UTILITIES ===================
void reboot() {
NVIC_SystemReset();
while (1);
}
// =================================================

void setup() {

scale.set_scale(calibration_factor); //Calibration Factor obtained from first sketch
scale.tare(); /////////////////////////////////////////

}

void loop() {
// rajouter les envoi avec heure dans le programme via sigfox interrogation
dht.begin();
float t = dht.readTemperature();
float h = dht.readHumidity();

Serial.begin(115200);
delay(100);
// while (!Serial);

if (!SigFox.begin()) {
Serial.println("SigFox error, rebooting");
reboot();
}

// poids.print("poids: ");
float poids = (scale.get_units())*0.453592;
// poids.print(" kg");
delay(100); // Wait at least 30ms after first configuration

// Enable debug prints and LED indication
SigFox.debug();
msg.t = (float) (t);
msg.h = (float) (h);
msg.poids = (float) (poids);
Serial.print(msg.poids);

// Clears all pending interrupts
SigFox.status();
delay(1);

// Send the data
SigFox.beginPacket();
SigFox.write((uint8_t*)&msg, sizeof(SigfoxMessage));
// SigFox.write((uint8_t*)&poids);
// Serial.print(msg);
Serial.print("Status: ");
Serial.println(SigFox.endPacket());

SigFox.end();
//Sleep for 60 minutes
LowPower.sleep(4000000);
// Normal version
// delay(5000); // 1000000 = 15 minutes 2000000 = 30 minutes 4000000 = 1 heures

}
 

LES DIFFÉRENTS CODE

Voici le code que j’ai réaliser pour envoyer les données sur une page php avec une base de donnée mysql pour rendre mes donnée plus visible sur mon site internet.

Cela dit vous pouvez tous simplement envoyer vos données sur votre boite mail

Donc pour configuré l’envoi de donnée sur le backend de sigfox il faut vous rendre dans CALLBACKS  et cré avec le bouton New en haut a droite un UPLINK.

Mon code PHP pour réaliser l’enregistrement sur un serveur avec mysql ( peux être amélioré pour la sécurité cette un exemple 🙂 ) :

Pour le code qui rend les donnés un peu plus  visuel le voici :

Et voici le rendu ( live quand la balance est active ) 

Image