2. Contact information
Luis Enrique Gonzalez Moctezuma
luis.gonzalezmoctezuma@tut.fi
+358466831833
Application running on:
www.embeddedmonitor.com
3. Outline
User group
Traditional GSM enabled devices
GSM enabled devices with embeddedmonitor
Using your account
Quick start for testing the system
Emulate messages
From an Excel macro
4. User group
This application is intended for all those
areas of automation that use computational
devices for controlling or monitoring a
process and that would like to retrieve SMS
alerts without having GSM enabled devices
Areas
Home automation
Surveillance systems
Factories
Hobbyists etc.
5. Traditional GSM
enabled devices
•Devices requires GSM modem and at least serial
communication port
•Communication between the devices and the GSM
should be implemented using the adequate AT
commands
•A dedicated SIM card per each GSM modem is needed
•Programming the necessary logic has to be done in the
devices to avoid an overflow of SMS in case of repetitive
alarms in a short period of time.
•Different communication protocols involved (need for
gateways)
6. Traditional GSM enabled devices architecture
User side
Managing SMS
system
RS232
link
Message flow control has to
be programmed in the device
Contact lists and numbers
should be changed in the
Filed Serial device or gateways,
bus connecting directly to each of
protocol them
Communication protocols have to
be understood by gateway and
device (communication interface
coupling)
7. With
embeddedmonitor.com
•If
a device has Ethernet communication
capabilities then it can be enabled with
GSM communication with the proposed
architecture
•GSM communication capabilities can be
“embedded” virtually in Ethernet devices
8. Architecture description
Ethernet devices or any device that supports TCP/IP (WiFi, etc.) can be
implemented with HTTP so that it can post messages to a server.
Posted messages can be sent as SMS by using a mobile operator
server
Messages are sent to users who are subscribed to the messages sent
by the devices.
Messages are not send necessarily immediately when received. A
delay can be set so if an alarm is solved before its delay period, then
message in the SMS queue is cleared
When a SMS is going to be sent, it goes to an authorization stage that
authorizes or denies the SMS sending according to the SMS flow
control policies (Ex, Maximum number of SMS per account, user, etc.)
9. Proposed architecture
User side
Microcontroller Managing SMS
(arduino) system
embeddedmonitor.com
Industrial controller server
Internet
-Contacts
-Devices
-Subscriptions
-Messages flow control
-Messages log (monitor)
HTTP communication Sonera server
(SOAP,RPC,Web
LabView application
running on PC Services,simple posts)
10. Benefits of the proposed
architecture
All the elements speak the same protocol: HTTP
All the next tasks can be done from an unique
control point (embeddedmonitor.com server)
Manage contacts lists
Manage device lists
Subscriptions from contacts to devices
SMS flow control (restrictions)
Messages visualization and storage
No needs of SIM cards, GSM gateways/modems
Easy communication by posts to the server
11. Potential use of the platform
(1/2)
“By 2010, devices connected to the Internet will
reach 35 billion (nearly 6 devices per person on the
planet).” -Cerf, Vinton, "Cerf's Up: Social, Economic
and Regulatory Issues: Internet in the Next Five to
Ten Years." 2000 WorldCom, Inc.
“By 2020, so many appliances, vehicles, and
buildings will be online that it is likely there will be
more Internet devices than people online at any
given moment.” -Cerf, Vinton "Visions of the 21st
Century: What Will Replace the Internet." TIME.com
(June 19, 2000).
12. Potential use of the platform
(2/2)
Devices with Ethernet capabilities can be
found in the market like:
Arduino with ethernet shield (famous hobbyists
gadget)
S1000 industrial controller unit with ethernet
communication and web services (from INICO
technologies)
Chips like ENC624J600 give microcontroller
ethernet capabilities in an easy way.
Applications used in industry or laboratories
can be connected as any other device to the
platform, through a virtual device application
installed in a computer.
Ex. LabView from National Instruments
13. What is
embeddedmonitor.com ?
It is a website that implements the
described proposed architecture.
Its meant to be used as a platform
for developing applications that
require monitoring, SMS alerts, etc.
The application range depends on
the user needs. (Surveillance,
factory, home automation, etc.)
14. Technologies involved in
embeddedmonitor.com
HTTP communication
SOAP and URL encoded data transfer
XML documents (navigation and storage)
SQL queries
Publisher/subscriber asynchronous
communication schema
RESTful web services
Some principles of message brokers
18. Add SMS contacts
Add SMS contacts
The format of the mobile phone should be like
358XXXXXXXXX (don’t include +)
Clicking on the mobile
phone allows user to
call through skype or
send SMS to the
contact
19. Add subscriptions(1/2)
When a device (publisher) reports a
message, a contact (subscriber) will receive
the message if is subscribed to that device
and group
20. Add subscriptions(2/2)
Messages from devices can be targeted to specific
groups.
For example, if a device runs out of material it can
send a notification to the supplier group subscribed
person(s), or if a operational failure occurs it can
notify to the maintenance group subscribed persons.
Examples:
Luis receives messages targeted to
group B from all devices
Lalo receives all messages from
TempController_1 device
Marta receives messages targeted to
group C from tut14 device
21. Modify Settings(1/2)
Here it is possible to limit the flow of messages by
setting limits like: maximum number of SMS that
each device can send in one hour
It is possible to visualize the
current value of those
variables. Very often SMS
are not forwarded to users
because one of those
conditions has reached its
limits
22. Modify Settings(2/2)
For this application two conditions were implemented, but
more conditions could be set if a more strict SMS flow control
is required like:
Maximum number of SMS to a contact/group per hour/day etc.
Maximum number of SMS from messages with an specific ID
Maximum number of SMS per message
Maximum number of SMS for each device (some devices might
have bigger priorities)
All these conditions can be integrated in the same way to the
authorization block that decides if the system is allowed to
send the SMS
Customizing the SMS flow control can be done easily for each
device within the same framework
23. Messages log
Received messages (no matter if they are
targeted to an SMS contact) are shown in
this section Reset messages are
highlighted
Field tag names are
shown if they change
from the previous
message. So the user
can configure the
message field names
and number of them
whenever is required.
The system is flexible
to display those
changes
25. Real and virtual devices
The system was tested with a real device:
The S1000, a controller unit that has ethernet and web
services capabilities http://www.inicotech.com/
For debugging and testing purposes, a virtual
“device” was used. It is a website that sends the
same *SOAP message that the real unit sends. The
server does not know if the message comes from a
PC, a controller unit or a virtual device
Soon there will be a video on the website *SOAP protocol was used for this case but
of the system working with a S1000 it can be changed to any other protocol
over HTTP
26. Emulating the message
The message emulator or virtual device can
be accessed from:
http://www.embeddedmonitor.com/test/
Or from the link emulate message in the
navitagion bar:
27. Message emulator view
Message
emulator
embeddedmonitor.com
server
Internet
This message is the one that the ethernet
Industrial controller
device requesting the server services sends
28. Editing message body
Messages should contain the
Msg root element
The number, name of fileds and
value of fileds are flexible and
they are decisions of the user.
Recommended 5 fields.
The message body contains the
information the device needs to
log, or target to SMS contacts
29. Msg element attributes (1/3)
The Msg root element can have the next attributes:
Key: Generated in My devices when adding a new device.
5 length code used to identify the device unit sending
messages to the server. Ex. Key=“ViHFh”
Dly: (integer)Amount of minutes that the system is going
to wait before sending an SMS to the subscribed contact if
not Reset message is received. Ex.
Dly=“3” (if no reset message received within the next 3
minutes an SMS is sent)
Dly=“0” (an SMS is sent as soon as received)
30. Msg element attributes (2/3)
Grp: Group to which the SMS is targeted. Contacts
subscribed to this group and device will receive the
SMS.
Possible values: A,B,C,*
If * is chosen the message is targeted to all the groups
Ex. Grp=“A” or Grp=“*”
Reset: If this attribute is present with the value of
True, the message is a reset message and will
cancel all the messages in queue intended to be
sent as SMS
Ex. Reset="True"
31. Msg element attributes (3/3)
The next shows which parameters are
required for each type of message:
Message without SMS targets
Required: Key
Message with SMS targets
Required: Key,Dly,Grp
Reset message
Required: Key, Reset=“True”
32. Response from the server
In the response from the server it is possible to see some
useful data for debugging like:
contacts found as subscribed
Content of message (body)
If authorization fails it shows the reasons like in the last
red box (If messages are sent with Dly>0 the
authorization can not be visualized since it is computed
when the deadline arrives)
33. Message storage and SMS
targeting
Once the Message is received it is saved in
the database and they can be visualized in
the link of: Messages log in the user account
When the system sends SMS these changes
can be visualized in the link of: Settings .
If SMS are not being authorized most likely is
because the constrains are met. Recommended
to increase the constrain limits
34. Using embeddedmonitor.com
from an Excel file
A simple macro in an Excel file can post data in
embeddedmonitor.com
The data is encoded in the URL of the post (simple)
The message attributes described in the previous
example remains the same
Since the macro runs in VBA it can run in other
Microsoft Office programs like:
MS Access, Word