Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
/* * Copyright Kris Occhipinti December 2, 2021 * License GPLv3 - https://www.gnu.org/licenses/gpl-3.0.txt * https://filmsbykris.com * */ #include "DHTesp.h" // Click here to get the library: http://librarymanager/All#DHTesp #include
//https://github.com/esp8266/Arduino //needed for library #include
#include
//https://github.com/tzapu/WiFiManager #include
#include
DHTesp dht; char url[]="http://yoururl.com/submit.php"; //TEMP SENSOR PIN int pin=14; //D5 on WeMos //amount to wait before loop start int wait=10000; //amount to wait each loop int loop_wait=5000; void request(); void setup() { WiFi.mode(WIFI_STA); // explicitly set mode, esp defaults to STA+AP // put your setup code here, to run once: Serial.begin(115200); Serial.println(); String thisBoard= ARDUINO_BOARD; Serial.println(thisBoard); // Autodetect is not working reliable, don't use the following line // dht.setup(17); // use this instead: dht.setup(pin, DHTesp::DHT11); // WiFi.mode(WiFi_STA); // it is a good practice to make sure your code sets wifi mode how you want it. //WiFiManager, Local intialization. Once its business is done, there is no need to keep it around WiFiManager wm; //reset settings - wipe credentials for testing //wm.resetSettings(); // Automatically connect using saved credentials, // if connection fails, it starts an access point with the specified name ( "AutoConnectAP"), // if empty will auto generate SSID, if password is blank it will be anonymous AP (wm.autoConnect()) // then goes into a blocking loop awaiting configuration and will return success result bool res; // res = wm.autoConnect(); // auto generated AP name from chipid res = wm.autoConnect("Wifi_Tempature"); // anonymous ap // res = wm.autoConnect("AutoConnectAP","password"); // password protected ap if(!res) { Serial.println("Failed to connect"); // ESP.restart(); } else { //if you get here you have connected to the WiFi Serial.println("connected...yeey :)"); request(url); } delay(wait); } void request(char *URL){ WiFiClient client; HTTPClient http; Serial.print("[HTTP] begin...\n"); if (http.begin(client, URL)) { // HTTP Serial.print("[HTTP] GET...\n"); // start connection and send HTTP header int httpCode = http.GET(); // httpCode will be negative on error if (httpCode > 0) { // HTTP header has been send and Server response header has been handled Serial.printf("[HTTP] GET... code: %d\n", httpCode); // file found at server if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) { String payload = http.getString(); Serial.println(payload); } } else { Serial.printf("[HTTP] GET... failed, error: %s\n", http.errorToString(httpCode).c_str()); } http.end(); } else { Serial.printf("[HTTP} Unable to connect\n"); } } void get_temp(){ delay(dht.getMinimumSamplingPeriod()); float humidity = dht.getHumidity(); float temperature = dht.getTemperature(); float f = dht.toFahrenheit(temperature); float index_c = dht.computeHeatIndex(temperature, humidity, false); float index_f = dht.computeHeatIndex(dht.toFahrenheit(temperature), humidity, true); Serial.print(humidity, 1); Serial.print(" humidity\t\t"); Serial.print(temperature, 1); Serial.print("°C\t\t"); Serial.print(f, 1); Serial.print("°F\t\tHeat Index:"); Serial.print(index_c, 1); Serial.print("°C\t\t"); Serial.print(index_f, 1); Serial.println("°F"); String h = String(humidity, 1);// using a float and the decimal places String c = String(temperature, 1);// using a float and the decimal places String ft = String(f, 1);// using a float and the decimal places String ic = String(index_c, 1);// using a float and the decimal places String iF = String(index_f, 1);// using a float and the decimal places String d = h+"|"+c+"|"+ft+"|"+ic+"|"+iF; char URL[100]; strcpy(URL, url); strcat(URL, "?data="); strcat(URL, d.c_str()); Serial.println(URL); request(URL); } void loop() { get_temp(); //request(url); delay(loop_wait); }
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)