Author Topic: Project Cyclone - teaser  (Read 2345 times)

0 Members and 1 Guest are viewing this topic.

Offline Josiah

  • Add-InWx Software Author
  • Forecaster
  • *****
  • Posts: 449
    • Add-InWx
Project Cyclone - teaser
« on: October 31, 2017, 08:59:42 PM »
Project Cyclone: Brings all your sensor data together!
note: this software is not available just yet.

Supports thousands of weather stations!
Each station can have any mixture (and in any quantity) of any type(s) of sensors.
It also fully supports logging, and charting of all those sensors.

Cyclone functions as a http server and runs on Windows and Linux (Raspberry Pi in this case). The technologies that Cyclone uses should allow it to be complied for the MacOS, but I do not have a Mac so I have not been able to do any testing in this area.
Right now, installation is easy! Simply unzip a file and start the main executable!

If you want to do something with your sensor data, Cyclone provides access to it via a REST http api. All server responses are in JSON format so it's easy to work with in any language.
The front end is setup as a website that is accessible via a web browser and is written in HTML, CSS, JavaScript and jQuery.
One of the ideas behind using web languages is it gives everyone the ability to completely replace the default frontend with something they create. This is made possible because Cyclone works as a http file host for the folder the website files are located in.
What this means is that you can replace the contents of that folder with your own creation and use client-side scripting languages to pull weather data from the api. Server-side scripting is not possible.

Custom station(s)? No problem! The above features show that Cyclone can handle whatever sensors you throw at it!
Want to build a custom display, or display weather in multiple locations? Yup, you can do that to!

Attached are a few screen captures (the last 2 are showing temporary data which is there for testing purposes)

What do you guys think?

Offline Old Tele man

  • Singing in the rain...
  • Forecaster
  • *****
  • Posts: 1365
Re: Project Cyclone - teaser
« Reply #1 on: November 01, 2017, 03:58:20 PM »
Q: "How" are you getting the sensor data 'into' the program? Off-the-air (via receiver) or from already received & archived digital data files, etc.?
SYS: Davis VP2 Vue/WL-IP & Envoy8X/WL-USB;
DBX2 & DBX1 Precision Digital Barographs
CWOP: DW6988 - 2 miles NNE of Cortaro, AZ
WU - KAZTUCSO202, Countryside

Offline Josiah

  • Add-InWx Software Author
  • Forecaster
  • *****
  • Posts: 449
    • Add-InWx
Re: Project Cyclone - teaser
« Reply #2 on: November 02, 2017, 12:32:58 AM »
Ahh, I knew there was something I forget to mention.

Sensor data is currently feed into to the program thru the same http api that you use for getting data out. The api expects the sensor data to be sent in a JSON format via an http POST method.

As for getting the sensor data in the first place, Cyclone will launch and monitor one sub-program for each weather station that has been specified in it's configuration.
Each sub-program is designed to read sensor data from a specific brand and\or model series of station and just one station at a time. For example, there's one sub-program designed for reading from a Davis station and a separate sub-program that's been designed for reading from a Peet Brothers station.

These sub-programs are designed to take weather station connection settings, such as serial port or tcp connection parameters, when they launch. So in the cases where you have say, 2 or more Davis weather stations, Cyclone will run multiple instances of the "Davis" sub-program but pass each one different connection settings to use. Cyclone handles mapping the configured stations to the appropriate sub-programs.

While not the most elegant solution, it does allow people to create their own sub-programs for reading from weather station(s) while still allowing full management of the configuration for it from the web gui\frontend.

If you wanted to get sensor data from off-the-air (via receiver) it would just be a matter of writing a sub-program for reading from the receiver and pushing that to the http api.

Since the Cyclone http api supports pushing archive type data to it, a similar type of sub-program can be written for converting and uploading say, a .csv file.
My plan is to have these "utilities" manually executable from the web gui\frontend. The idea here is that over time there could potentially be many utilities (even somewhat specialized ones) for manually doing various things.

Eventually these utility programs\scripts could be run on specified schedule. Which would be useful for stuff like uploading to weather networks, running reports, maybe sending weather info via email or SMS, posting to social media... the list is endless.
« Last Edit: November 02, 2017, 12:37:11 AM by Josiah »