This case study presentation shows how we have used the #joomla framework in building a IoT infrastructure for Lighting control systems. The infra provides a way to control various smart devices via web & mobile devices and also mash up other APIs. Its designed to scale easily both in terms of numbers as well as in terms of protocols
4. Techjoomla. For All things
Joomla
@techjoomla
techjoomla.com
jGive
People Suggest
jomLike
JTicketing
J!Bolo
Broadcast
Invitex
Email Beautifier
SocialAds
J!MailAlerts
REST API
Payments API
Social API
Quick2Cart
5. Our worst fears have come true !
Another CMS on the
Joomla Framework !!
LCMS
8. What does a LCMS do ?
●
Device Management
●
Device Grouping
●
Scheduling
●
Manufacturer Mgmt
●
User Management
●
Access Control
●
Reports & Analytics
9. Why are they Used ?
●
Control + Automation
●
Intelligent scheduling
●
Maximise energy
savings
●
Comply with Building
& energy regulations
10. Where are they used ?
●
University Campuses
●
Hotels
●
Industries
●
Street lighting
●
Any situation where
volume ligting is
implemented
11. What's a Web & Mobile Company
doing in this space ?
the key is to use our existing expertise in new areas of application
15. Challenges
●
Control Thousands of devices
●
Support Multiple transport
protocols & formats
●
Support new devices &
retrofits
●
Extremely light footprint
●
Scale as needed
17. Base
Architecture
Device Drivers ( LED lights/Motors/ Air Conditioning etc)
Device Subnet
LCMS Backend on Joomla FW
LAMP Stack
JSON over XMPP/HTTP
Webservices JSON over XMPP/HTTP
HTML5 Browser UI Mobile App
/resource-id/action/value || ds344/dim/10
JSON over Power line / Wireless/ Zigby/Bluetooth …
Controller
DB
Device Gateway
Raspberry Pis
Cloud/Hosted Webserver
Currently Hosted on Pi
#Python
18. The Blue Box
The Joomla Framework
(Bluebox) is being used as
a Cloud based server that
communicates to several
"gateways"
LCMS Backend on Joomla FW
LAMP Stack
19. The Green Box
Currently running
Raspberry Pi's for the
gateways running python
among other things for the
application code
Device Subnet
Controller
DB
20. Multi Gateway
Access Pt
Controller
JSON over Power line / Wireless/ Zigby …
Blue Box
Access Pt
Controller
Access Pt
Controller
Horizontal scaling for volume is achieved by adding more gateways to the network
22. APIs with the Framework
●
The Framework app
outputs both human
consumable views as well
as Web Services
●
Currently we are using
only the Webservices
23. The App in Action
HTML5 Web App working off Framework Webservices
24. Polling based Device Discovery
●
Imaging you have Building with 1000 lights installed on various
floors
●
Auto Discovery via polling lets the system 'auto discover' devices
connected to that g/w
25. Discover available services
●
Discover the services
supported by the devices
via polling
●
In case of lights it can be
ON/OFF/DIM
●
Depending on device
type this can vary
26. Group the Devices
●
Managing one by Sucks ! Group devices into logical groups
●
You can create as many groups as you want & assign devices to groups
●
Each device can be in multiple functional groups. - Eg: 1 group per
storey, decorative & functional light groups etc
31. Multiple transport options for G/ws
●
Choose to Connect
gateways via different
transport methods
●
Choose between XMPP
or COAP
*Constrained Application Protocol (CoAP) is a software protocol intended to be used in
very simple electronics devices that allows them to communicate interactively over the
Internet.
32. Device – Asset & Manufacturer mgmt
Makes it easier to manage
devices & warranties as
well as maintainance from
multiple manufactures
with asset management
done via the same unified
system.
37. The Internet of Things (IoT)
●
LCMS Is a sub case IoT
●
The Infrastructure for LCMS
can be used many many IoT
applications
●
The Infrastructure is
completely scalable both
from a hardware & software
perspective
38. M2M & M2E Communications
The architechture allows
for Machine to machine
connectivity as well as
Machine to Enterprise
communications
39. Term Glossary
●
API - Application Programing Interface
●
LCMS - Lighting control Management System
●
XMPP - Extensible Messaging and Presence Protocol is a communications
protocol for message oriented middleware base protocol based on
XML(Extensible Markup Language). The protocol was originally named Jabber.
●
RPi - Raspberry pi
●
COAP - Constrained Application Protocol (CoAP) is a software protocol
intended to be used in very simple electronics devices that allows them to
communicate interactively over the Internet.
40. Thank You !
●
Questions ?
●
Interested in an implementation like this or anything that
deals with intesting web/mobile/hardware mashups ?
Drop us an email ! contact@techjoomla.com
Twitter @techjoomla | @parthlawate