1x Adafruit HUZZAH32 – ESP32 Feather Board
3x Adafruit HTS221 - Temperature & Humidity Sensor
2x 1K resistor
1x Li-Ion 4400mAh 3.7V
1x 6V 6W Solar Panel
1x Solar Lithium Ion charger
2x Cable Glands
1x DC Power Plug
1x Junction Box
1x 2,54mm Female Header
1x 2,54mm Pin Header
1x Cables
1x Circuit Board
#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);
}