Navigation | AeonLabs Main Index >> Open Source Code Software >> APRS CWOP Library
Change Language
Last update: 27-12-2023
current project Total: > 16 work.h
This is a simple C++ class library I maintain to speed up firmware code development on all my smart electronics for weather stations reporting to the Citizen Weather Observer Program (CWOP) using APRS . This is still an early code development. Is memory intensive and lacks many code optimizations.
The current code development is heavily based on the code by cstroie found on this github repository: https://github.com/cstroie/WxUno
Current Status: No syntax errors
The Citizen Weather Observer Program (CWOP) is part of the USA's national oceanic and atmospheric administration (NOAA) composed of a network of privately owned electronic weather stations concentrated in the United States and also in over 150 countries. The CWOP was originally set up by amateur radio operators experimenting with packet radio, but now contains a majority of Internet-only connected stations, with more than 10,000 stations worldwide report regularly to the CWOP network (July 2015). This network allows volunteers with computerized weather stations to send automated surface weather observations to the National Weather Service in the USA. This data is then used by the Rapid Refresh forecast model to produce short term forecasts (3 to 12 hours into the future) of conditions across the United States' lower 48 states or in any other country. CWOP Observations are also re-distributed to the public. Before being used, there's an extensive set of quality control verifications, assigns a data quality rating and makes suggestions before is considered for modelling and forecasting the weather.
How to connect to the CWOP Network
First one needs to signup at https://madis.ncep.noaa.gov/madis_cwop.shtml and when the token ID arrives it needs to be added to the firmware code. An easy way to submit weather reports to the NOAA Citizen's Weather Observer Program is by using the cwop.rest API or the Ambient Weather API. Those looking into a vanilla C++ code implementation one can find it on GitHub on this repository and on Costin Stroie's repository: https://github.com/cstroie/WxUno. To test if your hardware setup if is sending APRS packets and to ensure that everything is working properly one can look at a site like https://aprs.fi/ to see if it was received by the terrestrial network.
Important links
- HX1 APRS Transmitter Hookup Guide by Sparkfun
- APRS Specification
- Telemetry format and app notes on Github
- Sparkfun's Trackuino
- Arduino ARPS by handiko
If you're using Arduino Studio for windows, download this repository and unzip it to the "Arduino/libraries" folder located in "Documents".
Next rename the unziped folder "AeonLabs-APRS-CWOP-Library-main" to "AeonLabs_APRS_CWOP".
Restart Arduino Studio, and the Aeonlabs library is now ready to be used.
- ✓ ESP32 C++ Base Firmware Libraries view
Arduino ESP8266/ESP32 Exception Stack Trace Decoder
You can get in touch with me on my LinkedIn Profile:
You can also follow my GitHub Profile to stay updated about my latest projects:
Hire me
See here how to hire AeonLabs.
The PCB design Files I provide here for anyone to use are free. If you like this Smart Device or use it, please consider buying me a cup of coffee, a slice of pizza or a book to help me study, eat and think new PCB design files.
Make a donation on PayPal and get a TAX refund*.
Liked any of my PCB KiCad Designs? Help and Support my open work to all by becoming a GitHub sponsor.
Before proceeding to download any of AeonLabs software solutions for open-source development and/or PCB hardware electronics development make sure you are choosing the right license for your project. See AeonLabs Solutions for Open Hardware & Source Development for more information.