Go Down

Topic: Rain Gauge, BME280, GPS, Data Logger plus OTA and FTP (Read 422 times) previous topic - next topic

Techno500

Features of "Weather_View_Timezone.ino," ESP32 Project.

1. RTC with GPS update; used for 15 minute time interval, date-time stamping, and dayofweek;
every 6th day, Log file gets renamed, every day.  Rrenamed in the format "LOGxxyyzzzz"
xx being the Date, yy being the Month and zzzz being the Year.

2. Dynamic web page of current observations for Last update time and date, humidity, dew
point, temperature, heat index, barometric pressure (both inches of Mercury and millibars.)

3. Server files are listed as web links; clicking link prompts for "Open with/Save as."
"FAVICON.ICO", and "ACCESS.TXT" are listed; however, they are for internal use and are restricted.
"Opened with/Save as," result of clicking link produces "404 Page not found."

4. LOGxxyyzzzz file is appended every 15 minutes with the latest update.

5. DIFFER.TXT stores the difference in Barometric Pressure for the last fifteen minutes. Only
a difference of equal to or greater than .020 inches of Mercury are logged with difference,
date and time.

6. 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.

7. 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.

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

9. Tempature, 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"

10. ESP32HTTPClient library is used to POST data to the hosted, Domain website.  Function
webInterface sends data to hosted, domain website.

11. Free, "000webhost powered by HOSTINGER" is used for "Domain hosted" website.
 
12. "dataCollector.php" needs to be uploaded to your Hosted web site to use "webInterface" function.

13. Simple FTP file transfer; allows for easy file maintence, preventing too many log log files.
tested with Filezilla client.

14. Built-in OTA update; remote sketch update by web interface.

Two websites,one sketch: "Weather_View_Timezone.ino"

ESP32 Server https://bit.ly/2FiuNE5--this has a file browser, selected file
can be downloaded directly without FTP transfer.

Domain Hosted website:  https://bit.ly/2M5NBs0  --no file browser due to hosted,
domain server restrictions (free hosting service). Hosted server "sleeps" one hour every 24
hours.

----------------------------------------------------------------------------------
Note this is a project is in development; maybe offline or log files may be affected.
Server is online 24/7; except during periods of testing.

Server is a ""Adafruit, Espressif ESP32 Development Board - Developer Edition." Development
Board,  and GY-BME280 breakout board, purchased from "Ebay.com" ; both are required for
project. Sensor is located indoors, currently.

Development board is Arduino friendly; can be programmed using the Arduino IDE.
Under $20.00 with shipping, is the project cost for Development Board and one,
GY-BME280 breakout board, sensor used for Barometric Pressure, Humidity, and Temperature.


William


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 08, 2019, 05:11 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 16, 2019, 02:33 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 23, 2019, 07:43 am 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 22, 2019, 12:45 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: Jun 23, 2019, 07:44 am by Techno500
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

Go Up