From 3c23bfa0c9d825e649742568bca5d26fcbb05b98 Mon Sep 17 00:00:00 2001 From: starcalc Date: Thu, 13 Sep 2018 21:44:51 +0200 Subject: [PATCH] Voltage measuring included --- esp-temperature/esp-temperature.ino | 32 ++++++++++++++++++----------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/esp-temperature/esp-temperature.ino b/esp-temperature/esp-temperature.ino index 8297a12..6d3e78c 100644 --- a/esp-temperature/esp-temperature.ino +++ b/esp-temperature/esp-temperature.ino @@ -12,13 +12,14 @@ #include #include -const char* ssid = "ENTER_YOUR_SSID_HERE"; -const char* password = "ENTER_YOUR_WLAN_PASS_HERE"; +const char* ssid = "CTDO-IoT"; +const char* password = "12345678"; -#define DEVICENAME "maintopic/devicename" +#define DEVICENAME "haus/bad" #define TOPIC DEVICENAME"/temperature" +#define TOPICVOLTAGE DEVICENAME"/voltage" #define ONLINETOPIC DEVICENAME"/online" -#define MQTTSERVER IPAddress(37, 187, 106, 16) // test.mosquitto.org = 37.187.106.16 +#define MQTTSERVER IPAddress(195, 160, 169, 11) // test.mosquitto.org = 37.187.106.16 const int sleepTimeS = 300; // Reduce this value for debugging. Increase if you want more battery life #define VCCPIN D7 @@ -36,6 +37,10 @@ float tempC; AsyncMqttClient mqttClient; uint16_t packetId1Pub; bool packet1Ack = false; +uint16_t packetId2Pub; +bool packet2Ack = false; +float voltage = 0.0; +int raw = 0; bool ready = false; @@ -52,16 +57,16 @@ char *ftoa( double f, char *a, int precision) itoa(desimal, a, 10); return ret; } - + void onMqttPublish(uint16_t packetId) { - Serial.println("** Publish acknowledged **"); - Serial.print(" packetId: "); - Serial.println(packetId); - // TODO: Only when both packages were acknowledged... + // TODO: Only when both packages were acknowledged... if (packetId == packetId1Pub) { packet1Ack = true; } - if (packet1Ack) { + if (packetId == packetId2Pub) { + packet2Ack = true; + } + if (packet1Ack && packet2Ack) { ready = true; } } @@ -69,9 +74,9 @@ void onMqttPublish(uint16_t packetId) { void onMqttConnect(bool sessionPresent) { char buf[7]; packetId1Pub = mqttClient.publish(TOPIC, 1, true, ftoa(tempC, buf, 2)); + packetId2Pub = mqttClient.publish(TOPICVOLTAGE, 1, true, ftoa(voltage, buf, 2)); } - - + void setup() { pinMode(GNDPIN, OUTPUT); pinMode(VCCPIN, OUTPUT); @@ -92,6 +97,9 @@ void loop() { // 0 refers to the first IC on the wire Serial.println("Requesting Temperature from Device 0"); tempC = sensors.getTempCByIndex(0); + raw = analogRead(A0); // 2.428V = 739 + // Je Tick = 0,003285521V + voltage = raw * 0.003285521; Serial.println("Connecting to WIFI"); // Connect to WiFi