Mango M2M Software
In the past I had come across this open source M2M software platform. I meant to do a write up on this but got delayed due to a variety of reasons. I still have not done a write up but here is the input on Mango M2M that I received from MattĀ - Thanks to Matt for providing this write up..
Users first create “data sources”, which are typically based upon a protocol (currently Modbus, but others will be bundled with coming releases). Data sources define “points”, which are representations of single pieces of dataand are configurable in many ways including data logging, text rendering,and chart rendering. (There are two pages to view: data point details - readonly - and data point editing.) Both of these objects allow user permissionsto be set in very granular ways. These points can be monitoring on the”watch list”, or users can build graphical views using drag-and-dropfunctionality on uploaded background images.Users could stop there and only use the system for manual monitoring,
control, and data logging, but the automation power of Mango is in the event subsystem. Events are split into two parts: the detection and the handling. These parts can be arbitrarily paired in a one-to-many fashion, and can also be chained.
An event detector can be something like a high limit (for analog data) or a
binary/multi-state state. For example, you can define conditions such as
“when the humidity exceeded 60% for more than 1 hour”. (Conditions depend on
the data type of the point, so you will not see all of them on a single
point editing page. I can provide you with a list if you are interested.)
There are also hard-coded event detectors for data source exceptions, system
exceptions, and other things like new Mango version notifications.
On the handler side, users decide what should happen when an event is
raised. Currently there are two handlers: email notification and set point.
When the event is raised, email notifications are sent to specified email
addresses, users, or mailing lists. Optionally, if an event is still active
at some timeout, the event can also be sent to an escalation list. Finally,
upon event deactivation, notifications can optionally be sent to all event
participants.
The set point handler allows the user to define how a point should be set
upon the raising of an event. This is how conditions can be chained
together.
There are certainly pieces of functionality that should be added to the
system - and Serotonin has plans to do so - including new data sources,
“meta” data points, scheduled events, inter-Mango communication, a scripting
language, multi-point event detection, etc.
*** End of Overview ***
On to your questions:
A> What does Serotoninsoftware.com do?
Serotonin Software comes from a software development and consulting
background, mostly in the web development vertical. We started building
Mango mid-last year because we found the concept of an Ajax-based controls
system too compelling.
B> What was the driver behind starting this company?
I’ll assume that given the above you mean Mango. In addition to the geeky
answer above, there were a number of other reasons, including personal
usage. But based on market research we found that there was an obvious
opportunity in the industry for a product like Mango. Every other product
that we are aware of suffers from at least one of the following problems:
- Too expensive
- Too complicated
- Assumes too much prior knowledge from the users
- Uses old technologies that do not adapt to modern application standards
- Depends upon “closed” or proprietary technologies
Mango was created specifically to bring powerful controls technology to
technical and non-technical people alike. Every aspect of Mango - the user
interface, the integrated architecture, right down to nomenclature - was
carefully considered to appeal to the widest possible range of users. As
someone said, we aim to be the Google of the controls market.
C> Who do you see as your customers?
Mango is very generalized at the moment. Marketers that we speak to
inevitably suggest that we should be targeting a specific vertical. We will
likely address this by creating customizations of Mango (”mango salad”?,
“mango grove”?, “mango tarts”?), but for the moment we are deliberately
casting a wide net. We understand that there are risks in doing so (i.e.
being ignored my potential users in specific verticals), but the feedback
that we are getting is helping us determine our next moves.
D> What are the some of the challenges that you see in the M2M Space?
Challenges in general, or for Mango? In general, the controls industry is
expensive, proprietary, and evolves at a rate that is, compared with the
internet, glacially slow. With Mango we want to bring the mentality of the
internet to the controls space, i.e. open standards, collaborative
development, easy access to information… all of it. It’s a tall order for
a small company in a massive and entrenched industry, but we think that it
will inevitably happen anyway and we’re excited to be a part of it.
E> Anything that you would like to share with our readers?
Mango is now slightly over two weeks old (i.e. since release), and we are
very encouraged by the response we have received. There is a great deal of
work still to do, though, to bring the product to where we really want it to
be. Early adopters who get involved in the Mango community have the
opportunity to strongly influence its development. Now is the time to get
involved!
Posted on 27th February 2008
Under: Articles | No Comments »




