DIY Boat Monitoring WiFi
I have wanted to do something like this for several years but my marina WiFi always stopped me. To log in you have to go to a web page and enter a password. It is not enough to just sign onto the local hot spot, you have to agree to the terms, enter your password, and click ACCEPT. You also have to do this every time you sign on. I worked for several days with some decoding software trying to figure out how to do this from the little ESP. The only reason I kept at it was my friend in The Netherlands really wanted to do his Mobile network based one and needed help on the overall code. He kept encouraging me. I contacted my harbor master who was new. He gave a few suggestions that were not helpful. In the process of trying to solve the issue, I noticed there was another access point that was secure. That is what I wanted access to. I reformed my question to ask for permission to have an account on that access point. I think the question was now such that the IT person would have to answer it and low and behold that access point had been created for another boater in a similar situation. After agreeing never to tell anyone my user name or password I had network credentials and was able to send a test message to my home.
Ah, but nothing is really that simple. What I did was create a new Gmail account with a new user name. Then I set that account to accept insecure traffic so it can listen to the lowly ESP. Then I set up an auto forward to send the email to my normal email address. In use the process is completely transparent. You just do not want to switch your normal email account to accept insecure traffic and having the intermittent account solves that problem. There is an excellent tutorial that goes through the entire process HERE.
One of the issues is that the clock on the ESP32 is not very accurate so if you want and email at 6AM, before long it will start coming at 6PM. To avoid this, I needed to know what time it was. Since I have an Internet connection I could contact the Network Time Protocol (NTP) to read the time. I modified the email code to read the time and calculate how many seconds until it is time to send the email. I could add that to the current reading of the system clock and get a target system time for the next email. This keeps the messages coming between 6:00 and 6:30 every morning. There is another excellent tutorial HERE that I used as the basis of reading the time. I just had to add the code to calculate the next send time. That got a little messy as if the timing is off and the message is sent at 5:59 because the internal clock thinks it is already 6:00 I needed to make sure it would not send another message one minute later although that would not be a huge problem.
I do not sell or share any user data or anything else for that matter. The only personal information I save is in the site log which has a line for each page view which includes the IP address your browser sends in the header as well as which page you requested. I use this to block hackers and other bad actors. I do not use this raw data to create profiles on users. I periodically delete the log files. Google supplies the ads on this site. Because I do not track who you are, I cannot customize how these ads are served. They may be personalized to improve the ad experience. If you do not want personalized ads, please adjust the settings on the Google site HERE. NOTE: The best I can determine, this site is not subject to CCPA but I am doing my best to comply anyway.
The information on this web site has not been checked for accuracy. It is for entertainment purposes only and should be independently verified before using for any other reason. There are five sources. 1) Documents and manuals from a variety of sources. These have not been checked for accuracy and in many cases have not even been read by anyone associated with L-36.com. I have no idea of they are useful or accurate, I leave that to the reader. 2) Articles others have written and submitted. If you have questions on these, please contact the author. 3) Articles that represent my personal opinions. These are intended to promote thought and for entertainment. These are not intended to be fact, they are my opinions. 4) Small programs that generate result presented on a web page. Like any computer program, these may and in some cases do have errors. Almost all of these also make simplifying assumptions so they are not totally accurate even if there are no errors. Please verify all results. 5) Weather information is from numerous of sources and is presented automatically. It is not checked for accuracy either by anyone at L-36.com or by the source which is typically the US Government. See the NOAA web site for their disclaimer. Finally, tide and current data on this site is from 2007 and 2008 data bases, which may contain even older data. Changes in harbors due to building or dredging change tides and currents and for that reason many of the locations presented are no longer supported by newer data bases. For example, there is very little tidal current data in newer data bases so current data is likely wrong to some extent. This data is NOT FOR NAVIGATION. See the XTide disclaimer for details. In addition, tide and current are influenced by storms, river flow, and other factors beyond the ability of any predictive program.