Suggestions on how to use Meteor for this new IoT App I need


#1

Hi gang! I have a need to write a new application that has the following aspects, and I’m wondering if Meteor is a good fit. I think it is from my meager knowledge (via the Discover Meteor book and kicking Meteor tires for 2 years) – and if this IS a good fit, what “pieces parts” should I use to achieve this as things in Meteor land have progressed so much since I last looked! Yay!

Here is a high level “Functional Spec” for the App –

  • The basic goal of the App is to take in real-time data via a RESTFul (mostly anyway) set of POST calls and allow the user to view (and have some ability to control) various charts (Histograms, Box-Plots, Scatterplots, etc.)
  • The app will reside on the same machine (alas Windows something but that can’t be helped) as the process that is generating the data. Think IoT. Currently each machine will only display data about what its doing and generating (long term there will be a consolidation of the data to a central server)
  • The current requirement is for the graphs to refresh automatically every N seconds (selectable by user) with the minimum N being 2 seconds.
  • This data is all transient. Meaning when the machine/PC reboots or when they stop running this special test functionality on the machine, the data doesn’t need to persist. So in memory is fine.
  • Minimum overhead in terms of RAM and CPU as possible (they always say that don’t they?!?!)

My current thinking was to use iron:router to grab the POST data and keep everything in memory on the server, and use HighCharts for the charting part. I’ve seen some (old granted) examples of how to make some reactive charts when data changes … but that was mongo data, and without the need for data persistence not sure we need that overhead on the server… (hoping not).

So anyway, looking for thoughts / ideas / feasibility here before jumping into the deep pool on my first REAL Meteor app. If not Meteor, then what else?

Thanks!! Looking forward to joining the community …

/Steve


#2

Hi,

you may have a look at this post: Meteor and the Internet of Things (IoT) - whats best to use? Collection, Meteor-Streams, Streamy

There are also some ideas how to collect data from IoT and use them within meteor collections. It depends a bit on what you are looking for, but we have good success using rabbitMQ as an exchange for data delivery and subscription. If you do not make the Queues persistent data is just temporary handled.

Meteor ist a really good framework to build what you are looking for.

Here is some post about Real Time Charts and JS library http://c3js.org/

Good luck


#3

Tom,

Thanks for the great insights. Great information and I’m now down the path! Wether or not I get lost is a different issue. :slight_smile:

Cheers!


#4

Good luck to your project. If you have questions please stay in contact, maybe I could give you some advises.