Building a LCMS 
with the Joomla Framework 
the internet of things & Joomla
Open Source 
Parth Lawate 
Strategic Marketing Manger Joomla 
CEO, Techjoomla, Tekdi Web Solutions 
@parthlawate, @techjoomla 
www.techjoomla.com 
Cook 
Bookworm Gardener 
JUG Pune 
Joomla Freak 
Trekking 
Entrepreneur 
Joomla Day India 
Software Architecht 
Marketing 
Content Strategy 
Hiking
IOS Apps 
Joomla 
Android 
Tekdi Web Solutions 
@tekdinet 
tekdi.net 
CRM 
Magento 
CMS 
E Learning Ecommerce 
Custom Apps 
HTML5 
Social Networks
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
LCMS 
Our worst fears have come true ! 
Another CMS on the 
Joomla Framework !!
What's a LCMS ? 
How do I Build my Website with it ?
Lighting 
Control 
Management 
System
What does a LCMS do ? 
● Device Management 
● Device Grouping 
● Scheduling 
● Manufacturer Mgmt 
● User Management 
● Access Control 
● Reports & Analytics
Why are they Used ? 
● Control + Automation 
● Intelligent scheduling 
●Maximise energy 
savings 
● Comply with Building 
& energy regulations
Where are they used ? 
● University Campuses 
● Hotels 
● Industries 
● Street lighting 
● Any situation where 
volume ligting is 
implemented
What's a Web & Mobile Company 
doing in this space ? 
the key is to use our existing expertise in new areas of application
Enter Techventures 
Enventure Partners + Tekdi 
Technologies 
Hardware + Software
We're looking at making hardware 
integrations simpler by bringing web 
services into the picture. 
Less of embeded programming, more of web
A Little Background 
● Replacing Proprietery hardware with Open H/W 
solutions 
● Replacing Proprietory LCMs built by Billion
Challenges 
● Control Thousands of devices 
● Support Multiple transport 
protocols & formats 
● Support new devices & 
retrofits 
● Extremely light footprint 
● Scale as needed
Simplified Representation 
HTML5 Browser UI 
Application Server 
+ 
Gateway 
Gateway 
Web Services Gateway 
Gateway 
DEVICES
Base 
Architecture 
Device Drivers ( LED lights/Motors/ Air Conditioning etc) 
JSON over Power line / Wireless/ Zigby/Bluetooth … 
Device Subnet 
Controller 
JSON over XMPP/HTTP 
DB 
Device Gateway 
Raspberry Pis 
/resource-id/action/value || ds344/dim/10 
Cloud/Hosted Webserver 
Currently Hosted on Pi 
LAMP Stack 
LCMS Backend on Joomla FW 
Webservices JSON over XMPP/HTTP 
HTML5 Browser UI Mobile App 
#Python
The Blue Box 
The Joomla Framework 
(Bluebox) is being used as 
a Cloud based server that 
communicates to several 
"gateways" 
LAMP Stack 
LCMS Backend on Joomla FW
The Green Box 
Currently running 
Raspberry Pi's for the 
gateways running python 
among other things for the 
application code 
Device Subnet 
Controller 
DB
Multi Gateway 
Access Pt 
Controller 
JSON over Power line / Wireless/ Zigby … 
Access Pt 
Controller 
Blue Box 
Access Pt 
Controller 
Horizontal scaling for volume is achieved by adding more gateways to the network
The Framework App 
Joomla Framework 
xmpphp package 
https://packagist.org/packages/tyrola/xmpphp 
bootstrap package 
Twig package
APIs with the Framework 
● The Framework app 
outputs both human 
consumable views as well 
as Web Services 
● Currently we are using 
only the Webservices
The App in Action 
HTML5 Web App working off Framework Webservices
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
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
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
Scheduling 
● Create schedules and 
automate 
● Schedule for individuals 
or groups 
● Eg: Dim porch lights at 
6am, Turn off porch 
lights at 9am.
Override when needed 
Each device's state can 
also be overridden, which 
will override it's state 
defined by a schedule.
Device Mapping 
Maps Integration for mapping devices
User Management 
Manage Users, Grant access, delegate responsobility.
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.
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.
Before – > After
A look at the Prototype 
● Working Prototype hardware with live demo launched ! 
● Production devices go live very soon !
J! Framework Contributions 
● Full CRUD Example with 
Add/Edit/List Views & 
REST Webservices 
● Router that simplifies 
RESTful URLs 
https://github.com/coolbung/framework-app/tree/FW1.0
What Else ? What Next ?
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
M2M & M2E Communications 
The architechture allows 
for Machine to machine 
connectivity as well as 
Machine to Enterprise 
communications
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.
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

Using the joomla framework for internet of things (io t) case for lighting control

  • 1.
    Building a LCMS with the Joomla Framework the internet of things & Joomla
  • 2.
    Open Source ParthLawate Strategic Marketing Manger Joomla CEO, Techjoomla, Tekdi Web Solutions @parthlawate, @techjoomla www.techjoomla.com Cook Bookworm Gardener JUG Pune Joomla Freak Trekking Entrepreneur Joomla Day India Software Architecht Marketing Content Strategy Hiking
  • 3.
    IOS Apps Joomla Android Tekdi Web Solutions @tekdinet tekdi.net CRM Magento CMS E Learning Ecommerce Custom Apps HTML5 Social Networks
  • 4.
    Techjoomla. For Allthings 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.
    LCMS Our worstfears have come true ! Another CMS on the Joomla Framework !!
  • 6.
    What's a LCMS? How do I Build my Website with it ?
  • 7.
  • 8.
    What does aLCMS do ? ● Device Management ● Device Grouping ● Scheduling ● Manufacturer Mgmt ● User Management ● Access Control ● Reports & Analytics
  • 9.
    Why are theyUsed ? ● Control + Automation ● Intelligent scheduling ●Maximise energy savings ● Comply with Building & energy regulations
  • 10.
    Where are theyused ? ● 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
  • 12.
    Enter Techventures EnventurePartners + Tekdi Technologies Hardware + Software
  • 13.
    We're looking atmaking hardware integrations simpler by bringing web services into the picture. Less of embeded programming, more of web
  • 14.
    A Little Background ● Replacing Proprietery hardware with Open H/W solutions ● Replacing Proprietory LCMs built by Billion
  • 15.
    Challenges ● ControlThousands of devices ● Support Multiple transport protocols & formats ● Support new devices & retrofits ● Extremely light footprint ● Scale as needed
  • 16.
    Simplified Representation HTML5Browser UI Application Server + Gateway Gateway Web Services Gateway Gateway DEVICES
  • 17.
    Base Architecture DeviceDrivers ( LED lights/Motors/ Air Conditioning etc) JSON over Power line / Wireless/ Zigby/Bluetooth … Device Subnet Controller JSON over XMPP/HTTP DB Device Gateway Raspberry Pis /resource-id/action/value || ds344/dim/10 Cloud/Hosted Webserver Currently Hosted on Pi LAMP Stack LCMS Backend on Joomla FW Webservices JSON over XMPP/HTTP HTML5 Browser UI Mobile App #Python
  • 18.
    The Blue Box The Joomla Framework (Bluebox) is being used as a Cloud based server that communicates to several "gateways" LAMP Stack LCMS Backend on Joomla FW
  • 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 AccessPt Controller JSON over Power line / Wireless/ Zigby … Access Pt Controller Blue Box Access Pt Controller Horizontal scaling for volume is achieved by adding more gateways to the network
  • 21.
    The Framework App Joomla Framework xmpphp package https://packagist.org/packages/tyrola/xmpphp bootstrap package Twig package
  • 22.
    APIs with theFramework ● The Framework app outputs both human consumable views as well as Web Services ● Currently we are using only the Webservices
  • 23.
    The App inAction HTML5 Web App working off Framework Webservices
  • 24.
    Polling based DeviceDiscovery ● 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
  • 27.
    Scheduling ● Createschedules and automate ● Schedule for individuals or groups ● Eg: Dim porch lights at 6am, Turn off porch lights at 9am.
  • 28.
    Override when needed Each device's state can also be overridden, which will override it's state defined by a schedule.
  • 29.
    Device Mapping MapsIntegration for mapping devices
  • 30.
    User Management ManageUsers, Grant access, delegate responsobility.
  • 31.
    Multiple transport optionsfor 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.
  • 33.
  • 34.
    A look atthe Prototype ● Working Prototype hardware with live demo launched ! ● Production devices go live very soon !
  • 35.
    J! Framework Contributions ● Full CRUD Example with Add/Edit/List Views & REST Webservices ● Router that simplifies RESTful URLs https://github.com/coolbung/framework-app/tree/FW1.0
  • 36.
    What Else ?What Next ?
  • 37.
    The Internet ofThings (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 & M2ECommunications 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