In this Instructable I will show you how to use the NodeMCU and an LCD to retrieve Weather Information downloaded from the National Data Buoy Center's website.
The National Data Buoy Center or NDBC is part of NOAA and the NWS
The NDBC designs, develops, operates, and maintains a network of data collecting buoys and coastal stations.
The stations measure wind speed, wind direction, wind gust, atmospheric pressure, and air temperature
Some stations also measure sea surface temperature, wave height and period.
This program downloads the Buoy Data from the NDBC website line by line and parses that information so that calculations can be made and the information is displayed to the Serial Monitor and an LCD.
Each line of the information is sent from the NDBC in the form of a String, some of this must be converted to Integers or Floats so that calculations can be made; for instance, to convert Knots to MPH or Celcius into Fahrenheit.
The display will blink when the Wind Speed reaches a set Speed (windSpeedAlert), alerting the Person to favorable conditions for Wind Surfing, or other sports.
Step 1: Hooking Up the LCD Display
First you will need to hookup the LCD display to the Nodemcu, you can see how to do this in my YouTube video here. It's easy, only four wires. You will need a NodeMCU and a 4 x 20 LCD display. Also, Check the I2C address of Your LCD mine is 0x3F - use an I2C scanner tool to determine yours.
Step 2: Download the Software From Github
Go to the Github Website to download the INO file and upload it to the Nodemcu.
This is where you will need to go https://github.com/mkconer/NDBC
Upload the code to the Nodemcu.
Make sure that you have selected the Nodemcu as you current board, mine is the nodemcu 1.0 (ESP-12e module)
Step 3: Enter Your Router Information
For the Final step you will need to tell the program your SSID and Password in order for the Nodemcu to connect to the Internet and download the weather data from the NDBC.
Where it says yourrouter and yourpassword enter that information there, be sure to leave the quotation marks!
Also, you will need to enter which Buoy you would like to get data from. Enter that where it says buoyID, it's currently set to "41008".
Remember! Not all buoy's are available all the time, some are out of service and many do not carry all the information you may want; for example, many do not have wave height information.
You can go directly to the data file at the NDBC and see which buoy's have the information you want.
Finally upload the program to the Nodemcu and good luck!
Step 4: How It Works! Youtube Video
I uploaded a YouTube video describing how the program works here...
If you do this project upload you video too!