CODE

#include "config.h"
#include "Wire.h"
#include "ESP8266WiFi.h"
#include "Adafruit_HTS221.h"
#include "Adafruit_Sensor.h"

#define DATA_PIN1 15
#define DATA_PIN2 0
#define DATA_PIN3 12

#define HTS_SCK 5
#define HTS_MISO 4 //SDA
#define HTS_MOSI 2 //SDA through a 1K resistor

Adafruit_HTS221 hts1;
Adafruit_HTS221 hts2;
Adafruit_HTS221 hts3;

AdafruitIO_Feed *temperature = io.feed("temperature");
AdafruitIO_Feed *humidity = io.feed("humidity");

AdafruitIO_Feed *temperature2 = io.feed("temperature2");
AdafruitIO_Feed *humiditytwo = io.feed("humidity2");

AdafruitIO_Feed *temperature3 = io.feed("temperature3");
AdafruitIO_Feed *humiditythree = io.feed("humidity3");

void setup(void) {
Serial.begin(115200);
while (!Serial) delay(10);

Serial.println("Adafruit HTS221 test!");

if (!hts1.begin_SPI(DATA_PIN1, HTS_SCK, HTS_MISO, HTS_MOSI)) {
Serial.println("Failed to find Sensor 1 chip");
while (1) { delay(10); }
}
Serial.println("Sensor 1 Found!");

if (!hts2.begin_SPI(DATA_PIN2, HTS_SCK, HTS_MISO, HTS_MOSI)) {
Serial.println("Failed to find Sensor 2 chip");
while (1) { delay(10); }
}
Serial.println("Sensor 2 Found!");

if (!hts3.begin_SPI(DATA_PIN3, HTS_SCK, HTS_MISO, HTS_MOSI)) {
Serial.println("Failed to find Sensor 3 chip");
while (1) { delay(10); }
}
Serial.println("Sensor 3 Found!");

Serial.print("Data rate set to: ");
switch (hts1.getDataRate()) {
case HTS221_RATE_ONE_SHOT: Serial.println("One Shot"); break;
case HTS221_RATE_1_HZ: Serial.println("1 Hz"); break;
case HTS221_RATE_7_HZ: Serial.println("7 Hz"); break;
case HTS221_RATE_12_5_HZ: Serial.println("12.5 Hz"); break;
}
switch (hts2.getDataRate()) {
case HTS221_RATE_ONE_SHOT: Serial.println("One Shot"); break;
case HTS221_RATE_1_HZ: Serial.println("1 Hz"); break;
case HTS221_RATE_7_HZ: Serial.println("7 Hz"); break;
case HTS221_RATE_12_5_HZ: Serial.println("12.5 Hz"); break;
}
switch (hts3.getDataRate()) {
case HTS221_RATE_ONE_SHOT: Serial.println("One Shot"); break;
case HTS221_RATE_1_HZ: Serial.println("1 Hz"); break;
case HTS221_RATE_7_HZ: Serial.println("7 Hz"); break;
case HTS221_RATE_12_5_HZ: Serial.println("12.5 Hz"); break;
}

Serial.print("Connecting to Adafruit IO");
io.connect();

while(io.status() < AIO_CONNECTED) {
Serial.print(".");
delay(3000);
}

Serial.println();
Serial.println(io.statusText());
}

void loop() {

io.run();

sensors_event_t temp1;
sensors_event_t humidity1;
hts1.getEvent(&humidity1, &temp1);

Serial.print("Temperatur Außen: "); Serial.print(temp1.temperature); Serial.println("°C");
temperature->save(temp1.temperature);
Serial.print("Luftfeuchtigkeit Außen: "); Serial.print(humidity1.relative_humidity); Serial.println("%");
humidity->save(humidity1.relative_humidity);

sensors_event_t temp2;
sensors_event_t humidity2;
hts2.getEvent(&humidity2, &temp2);

Serial.print("Temperatur Oben: "); Serial.print(temp2.temperature); Serial.println("°C");
temperature2->save(temp2.temperature);
Serial.print("Luftfeuchtigkeit Oben: "); Serial.print(humidity2.relative_humidity); Serial.println("%");
humiditytwo->save(humidity2.relative_humidity);

sensors_event_t temp3;
sensors_event_t humidity3;
hts3.getEvent(&humidity3, &temp3);

Serial.print("Temperatur Unten: "); Serial.print(temp3.temperature); Serial.println("°C");
temperature3->save(temp3.temperature);
Serial.print("Luftfeuchtigkeit Unten: "); Serial.print(humidity3.relative_humidity); Serial.println("%");
humiditythree->save(humidity3.relative_humidity);

delay(3000);

Serial.println("Going into deep sleep for 10 min");
ESP.deepSleep(600e6);
}

Adafruit io

Related Projects

Interested? Let's get in touch.