message (14)
message (14)
#include <ESP8266WiFi.h>
#include <ESP8266HTTPClient.h>
#define SENSOR D3
void initSerial();
void initWiFi();
void httpRequest(String path);
void enviadados();
void criaIP();
// ############### OBJECTS ################# //
void setup() {
Serial.begin(115200);
initSerial();
initWiFi();
criaid();
criaIP();
pinMode(SENSOR, INPUT_PULLUP);
pulseCount = 0;
flowRate = 0.0;
flowMilliLitres = 0;
totalMilliLitres = 0;
previousMillis = 0;
attachInterrupt(digitalPinToInterrupt(SENSOR), pulseCounter,FALLING);
enviadados();
}
void ICACHE_RAM_ATTR pulseCounter()
{
pulseCount++;
}
void loop() {
httpRequest("sensors");
vazao();
Serial.println("");
delay(1000);
if (!payload) {
return;
}
if (httpCode < 0) {
Serial.println("request error - " + httpCode);
return "";
if (httpCode != HTTP_CODE_OK) {
return "";
}
return response;
}
// ###################################### //
// implementacao dos prototypes
void initSerial() {
Serial.begin(115200);
}
void initWiFi() {
delay(10);
Serial.println("Conectando-se em: " + String(SSID));
WiFi.begin(SSID, PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.println();
Serial.print("Conectado na Rede " + String(SSID) + " | IP => ");
Serial.println(WiFi.localIP());
}
void enviadados(){
criaid();
criaIP();
sensor();
http.begin(wifiClient,"http://34.238.145.139:3000/sensors");
http.addHeader("content-type", "application/x-www-form-urlencoded");
String body = "id="+ String(id) +
"/nlocal=cozinha"+"/nVazao=10"+"/nVolume=5"+"/nIP=" + WiFi.localIP().toString();
}
void sensor(){
void vazao(){
currentMillis = millis();
if (currentMillis - previousMillis > interval) {
//detachInterrupt(SENSOR);
pulse1Sec = pulseCount;
Serial.print(pulse1Sec);
Vazao = ((1000.0 / (millis() - previousMillis)) * pulse1Sec) /
calibrationFactor;
previousMillis = millis();
Volume = (Vazao / 60);
totalMilliLitres +=Volume;
// Print the flow rate for this second in litres / minute
Serial.print(pulseCount);
Serial.print("Flow rate: ");
Serial.print(int(Vazao)); // Print the integer part of the variable
Serial.print("L/min");
Serial.print("\t"); // Print tab space
// Print the cumulative total of litres flowed since starting
Serial.print("Output Liquid Quantity: ");
Serial.print(Volume);
Serial.print("L / ");
}
}
}
void criaid(){
id = ESP.getFlashChipId();
/*
Serial.print("Chip Real Size: ");
Serial.println(ESP.getFlashChipRealSize());