#include <HX711.h>
#include <WiFi.h>
float calibration_factor = 420;
//Wlan Name + Passwort
const char* ssid = "Wokwi-GUEST";
//const char* password = "Hier kommt das Wlan Passwort hin";
const char* host = "10.111.2.27";
const int port = 3000;
const int DT_PIN = 40; //der Pin an dem Hx711 DT angeschlossen ist
const int SCK_PIN = 39; //der Pin an dem Hx711 SCK angeschlossen ist
HX711 scale;
WiFiClient client;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid);
Serial.println("Connecting to WiFi");
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting...");
}
scale.begin(DT_PIN, SCK_PIN);
scale.set_scale(calibration_factor);
scale.tare(); // Die aktuelle Gewichtsbelastung wird auf Null gesetzt
}
void loop(){
if (!client.connect(host, port)) {
Serial.println("Connection failed");
return;
}
float weight = scale.get_units(10); // Lies das Gewicht (in Kilogramm)
Serial.print("Weight: ");
Serial.print(weight);
Serial.println(" kg");
if (WiFi.status() == WL_CONNECTED) {
// Sende das Gewicht an den Server
client.print("GET /?weight=");
client.print(weight);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(host);
client.println("Connection: close");
client.println();
delay(500); // Warte kurz, um sicherzustellen, dass alle Daten gesendet werden
delay(500);
while (client.available()) {
String line = client.readStringUntil('\r');
Serial.print(line);
}
client.stop();
Serial.println();
} else {
Serial.println("WiFi not connected");
}
delay(5000); // Warte 5 Sekunden, bevor du das nächste Mal das Gewicht liest und sendest
}