Go Down

Topic: Rain Gauge with Data Logger and more... (Read 2502 times) previous topic - next topic

Techno500

Mar 30, 2019, 01:27 pm Last Edit: Oct 12, 2019, 05:02 pm by Techno500 Reason: attachmen
Features of "Rain_Gauge_Two.ino". Version 2.0

New in this version:  All customizing edits are now in file; located in "variableInput.h."
Additional comments in the "variableInput.h" file.

1. NTP Time; used for 15 minute time interval and date-time stamping;
"LOG. file gets created daily. File name is in the format "LOGxxyyzzzz" xx being the DATE and yy
beining the MONTH and zzzz being the YEAR; a new log file is created after every file renaming.

2. Dynamic web page of current observations showing Last update time and date, humidity,  
temperature, barometric pressure, rainfall by five minutes, hour, and day.

3. Only LOG files are listed as web links; for download.  

4. LOGXXYYZZZZ file is appended every 15 minutes with the latest update; storing data to Dynamic,
web page.

5. URL file names other than ones defined in the Sketch produce "404 Page not found." Methods
other than "GET," produce "405" message and exits current request.

6. Optional; Audible alert from Piezo electric buzzer when there is Barometric Pressure difference
of.020 inches of Mercury. I am interested in sudden drop of Barometric Pressure in a 15 minute
interval. Serve weather more likely with a sudden drop. Difference of .020 inches of Mercury
point is set for my observations to log and sound audible alert; not based on any known value
to be associated with serve weather.

7. Optional; two-line LCD Display of Barometric Pressure, in both inches of Mercury and millibars.

8. Temperature, Humidity, Barometric Pressure, and Dew Point have four embedded "ThinkSpeak.com"
graphs on one web page. Graphs are created from Iframes provided by "ThingSpeak.com"

9. HTTPClient library is used to POST data to the Domain, hosted website. Function
"webInterface" function sends data to Domain website.

10. Free, "000webhost powered by HOSTINGER" may be used for Domain, hosted website.

11. "dataCollector.php" needs to be uploaded to your Domain, Hosted web site.

12 Simple FTP file transfer; allows for easy file maintenance, preventing too many log log files.
Tested with Filezilla client.

13. Built-in OTA update; remote sketch update by web interface; ota function.

14. Two websites,one sketch: "Rain_Gauge_Two.ino"

ES32 Server https://bit.ly/2FiuNE5 Dynamic web page, file browser (selected file can be downloaded),
and graphs. Note this project is in development; maybe offline or log files may be affected. Server
is online 24/7; except during periods of testing. Sensor is currenty located inside of house..

-----------------------------------------------------------------------------------

Server is an "Adafruit, Espressif ESP32 Development Board - Developer Edition," PRODUCT ID: 3269.
Development board, GY-BME280 breakout board, purchased from "Ebay.com," NEO m8n GPS Module,and a
"tipping bucket" rain gauge are required for project.

Development board is "Arduino" friendly; can be programed using the Arduino IDE.

"Rain_Gauge_Two.zip" includes files related to Sketch.

William


Techno500

#1
Apr 04, 2019, 06:18 am Last Edit: Jun 27, 2019, 11:36 pm by Techno500
04/04/2019

Found "LOGxxyyzzzz.TXT" was ending at 20:00:00 instead of 23:45:00 and starting "LOGxxyyzzzz.TXT" at 20:15:00 instead of 00:15:00.  xxyyzzzz being DATE, MONTH, and YEAR of filename.

6v6gt explained the issue to me with corrected code for the getDate_Time function..

Corrected project code is attached.

William


Techno500

#2
Jun 08, 2019, 08:16 am Last Edit: Jun 27, 2019, 11:37 pm by Techno500 Reason: Modified attachment
Update 6/8/2019

Current version has rain5min, rainHour, and rainDay working correctly.  rain5min "bucket" dumps are counted during 5 minutes period; rainHour and rainDay both update at 5 minute period.  rainHour resets to zero every hour.  rainDay resets to zero at Midnight.

Project includes the previous "Internet Weather Data Logger and Dynamic Web server," two web sites in one sketch; now with "Tipping Bucket" Rain Gauge functionality!

Attachment includes sketch, dataCollector.php, and readme file,

There is a print statement; easily commented out, that was used for seeing each interrupt as it is triggered.

Project was developed using an "Adafruit," Espressif ESP32 Development Board - Developer Edition, PRODUCT ID: 3269

William

Techno500

#3
Jun 16, 2019, 08:03 am Last Edit: Jun 27, 2019, 11:38 pm by Techno500 Reason: Added Project URL.
Update 6/16/2019, Version 1.3


No new features; fixed unixtime time setting of the DS3231.  Thank you for the fix Haroon552, of the "Arduino.cc Community."

Formated sketch, made a few minor changes,  Credited Haroon552 with fixing unixtime setting of the RTC.

Project Web Site


William

Techno500

#4
Jun 20, 2019, 12:25 pm Last Edit: Jun 27, 2019, 11:38 pm by Techno500 Reason: Corrected attachment
Version 1.4

Fixed issue with WiFi reconnects --every time "Five Minute Routine" executed; caused entries in WIFI.txt file.

Included files related to project in attached file.

William

Power_Broker

Looks like a super cool project. You should, though, use GitHub to host/version control your project code. It would make it a little easier than constantly reposting zip files.
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Techno500

#6
Jun 21, 2019, 05:29 am Last Edit: Jun 27, 2019, 11:39 pm by Techno500
Thank you Power_Broker!  Already have a presence on Github.com.  How does Github track the number downloads?  This is a feature of Github.com I find missing.

William

Power_Broker

You can track it by going to your repo, click the "Insights" tab, then click on the "Traffic" button on the left hand side. There will be a number on the screen associated with "Clones". That will be the total number of clones of your repo. I'm not sure if this counts zip downloads, though.

Can you post a link to the repo for this project? You seem to have several repos whose names closely resemble each other and this project.
"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

Techno500

#8
Jun 22, 2019, 02:20 pm Last Edit: Oct 24, 2019, 10:28 pm by Techno500 Reason: Corrected url
Features of "Rain_Gauge_One.ino". Version 1.4

1. RTC with GPS update; used for 15 minute time interval, date-time stamping, and dayofweek;
"LOG. file gets created daily. File name is in the format "LOGxxyyzzzz" xx being the DATE and yy
beining the MONTH and zzzz being the YEAR; a new log file is created after every file renaming.

2. Dynamic web page of current observations showing Last update time and date, humidity, dew
point, temperature, heat index, barometric pressure, rainfall by five minutes, hour, and day..

3. Files on server are listed as web links; clicking link prompts for: "FAVICON.ICO", and "ACCESS.TXT"
are listed; however, they are for internal use and are restricted; result of clicking link produces
"404 Page not found."

4. LOGXXYYZZZZ file is appended every 15 minutes with the latest update; storing data from Dynamic
web page.

5. URL file names other than ones defined in the Sketch produce "404 Page not found." Methods
other than "GET," produce "405" message and exits current request.

6. Optional; Audible alert from Piezo electric buzzer when there is Barometric Pressure difference
of.020 inches of Mercury. I am interested in sudden drop of Barometric Pressure in a 15 minute
interval. Serve weather more likely with a sudden drop. Difference of .020 inches of Mercury
point is set for my observations to log and sound audible alert; not based on any known value
to be associated with serve weather.

7. Optional; two-line LCD Display of Barometric Pressure, in both inches of Mercury and millibars.

8. Temperature, Humidity, Barometric Pressure, and Dew Point have four embedded "ThinkSpeak.com"
graphs on one web page. Graphs are created from Iframes provided by "ThingSpeak.com"

9. HTTPClient library is used to POST data to the hosted, Domain website. Function
"webInterface" function sends data.

10. Free, "000webhost powered by HOSTINGER" may be used for "Domain hosted" website.

11. "dataCollector.php" needs to be uploaded to your Hosted web site.

12 Simple FTP file transfer; allows for easy file maintenance, preventing too many log log files.
Works with Filezilla client.

13. Built-in OTA update; remote sketch update by web interface. Used with "webInterface" function.

14. Two websites,one sketch: "Rain_Gauge_One.ino"

ESP32 Server  Dynamic web page, file browser (selected file can be downloaded),
and graphs. Note this project is in development; maybe offline or log files may be affected. Server
is online 24/7; except during periods of testing.

-----------------------------------------------------------------------------------

Server is an "Adafruit, Espressif ESP32 Development Board - Developer Edition," PRODUCT ID: 3269.
Development board, GY-BME280 breakout board, purchased from "Ebay.com," NEO m8n GPS Module,and a
"tipping bucket" rain gauge are required for project.

Development board is "Arduino" friendly; can be programed using the Arduino IDE.

William

Power_Broker

"The desire that guides me in all I do is the desire to harness the forces of nature to the service of mankind."
   - Nikola Tesla

mortenx

is it possible to confirm data upload when using HTTP POST or GET to post data to cloud?

all other sensors are unimportant when some data is lost because there are graph line that shows what is happened

but in rain data is important that all "tip" s are counted and uploaded..

Techno500

#11
Aug 22, 2019, 12:35 am Last Edit: Aug 22, 2019, 12:44 am by Techno500 Reason: Correction
DataCollector.php file on Domain server echoes back what get sent by POST method.

If you watch Serial Monitor; you will see what gets echoed back from Domain server.

Thank you for your interest in the project.


William

Techno500

#12
Sep 24, 2019, 08:26 pm Last Edit: Oct 24, 2019, 10:30 pm by Techno500 Reason: Corrected url
9/24/2019

Version 2.0 of project is online for testing.   "Rain Gauge Two.ino," takes Weather observations of Temperature, Humidity, Barometric Pressure and measures rainfall using a tipping bucket rain gauge.  NTP time is used to record data at 15 minute intervals.  Watchdog timer has been added.  Also added Server restart; which, re establish WiFi connection.  Events of Watchdog restart, Server restart are logged to SPIFFS.  

Project supports OTA (over-the-air)  firmware updates and FTP (tested using "Filezilla.")

Files for Download; directly from the ESP32 Webserver are limited to only listing filenames with the first four character "/LOG."  

Website for ESP32 project


William  

mortenx

is it possible to download and try this 2.0 version?

Techno500

Hope to have it completed soon.  Will post it here; planning to add a config file to simplify setup, currently requires several edits prior to use, after downloading.

Thank you for your interest.  Please, continue testing website...

William

Go Up