75 lines
2.8 KiB
C++
75 lines
2.8 KiB
C++
#include <ArduinoJson.h>
|
|
#include <ArduinoJson.hpp>
|
|
|
|
//de library van de tempratuur en vochtisheid sensor er bij pakken.
|
|
//moet je instaleren via linker tabje moet boeken en dan dht11 op te zoeke n in het zoek veld en daarna de dht11 extensie te installeren
|
|
#include <DHT11.h>
|
|
#include <WiFi.h>
|
|
#include <WiFiMulti.h>
|
|
#include <HTTPClient.h>
|
|
|
|
|
|
// LDR = 12, geeft gaan dat het variable LDR terugwijst naar 12.
|
|
#define LDR 17
|
|
#define Rood 6
|
|
#define Geel 4
|
|
#define Groen 5
|
|
//tegen DHT11 library zeggen dat we het variabel TLV(Temparatuur LuchtVochtigheid) willen geven en dat het de informatie van pin 18 kan halen.
|
|
DHT11 TLV(18);
|
|
WiFiMulti wifiMulti;
|
|
HTTPClient http;
|
|
|
|
|
|
void setup() {
|
|
|
|
|
|
//hoeveel bits er per seconden worden gestuurd naar de pc, moet je ook instellen in arduino IDE anders krijg je gibberish terug in je serial monitor.
|
|
Serial.begin(9600);
|
|
pinMode(Rood, OUTPUT);
|
|
pinMode(Geel, OUTPUT);
|
|
pinMode(Groen, OUTPUT);
|
|
digitalWrite(Rood, HIGH);
|
|
|
|
//print het hardware ID van de esp32S3
|
|
Serial.print("mac adress:");
|
|
Serial.println(WiFi.macAddress());
|
|
//verbinden met wifi
|
|
WiFi.mode(WIFI_STA);
|
|
wifiMulti.addAP("ObsidianAmstelveen", "drijversstraatmaastricht");
|
|
wifiMulti.addAP("iotroam", "BcgrFpX3kl");
|
|
//een loop zodat het script wacht tot de esp32s3 verbind met het internet
|
|
while (wifiMulti.run() != WL_CONNECTED) {
|
|
}
|
|
//print het ip adress van de esp32s3 naar de console
|
|
Serial.println(WiFi.localIP());
|
|
|
|
//gebruikt deze website om posts requests naar toe te sturen
|
|
http.begin("http://hva-onto.nl/api/ti/map/measurements/add?api-key=efffc47610ea6282a3416f71b51b3a");
|
|
//lampje aan om aan te geven dat esp32S3 is verbonden met internet
|
|
digitalWrite(Geel, HIGH);
|
|
}
|
|
|
|
void loop() {
|
|
digitalWrite(Groen, LOW);
|
|
|
|
//int geeft aan dat het een geheeld nummer moet zijn, als je float gebruikt kan het ook nog decimalen hebben
|
|
// eerste 2 zijn van DHT om data van af te lezen en op te slaan in het variabel
|
|
//laatste is om de lichtsensor analoog af te lezen en op te slaan in een variabel
|
|
float Luchtvochtigheid = TLV.readHumidity();
|
|
float Temparatuur = TLV.readTemperature();
|
|
float Lichtsterkte = analogRead(LDR);
|
|
//hier worden alle variabelen in de serial monitor uitgespuugt, en websites kunnen ook de Serial.print lezen.
|
|
String JsArray = String("[") + Temparatuur + "," + Luchtvochtigheid + "," + Lichtsterkte +"]\n";
|
|
|
|
Serial.print(JsArray);
|
|
|
|
//voeg een header toe aan de post request
|
|
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
|
|
//de data stoppen in een variabel voor de post request
|
|
String httpRequestData = "type=temperature&value=" + String(Temparatuur);
|
|
//stuur de post request naar de server toe
|
|
int httpResponseCode = http.POST(httpRequestData);
|
|
//wacht x aanal miliseconden
|
|
digitalWrite(Groen, HIGH);
|
|
delay(400);
|
|
} |