Upload
parth-lawate
View
4.349
Download
0
Embed Size (px)
Citation preview
Building a LCMS with the Joomla Framework
the internet of things & Joomla
Parth LawateStrategic Marketing Manger Joomla
CEO, Techjoomla, Tekdi Web Solutions
@parthlawate, @techjoomla
www.techjoomla.com
Cook
Bookworm Gardener
JUG Pune
Joomla Freak
Trekking
EntrepreneurJoomla Day India
Open Source
Software ArchitechtMarketing
Content Strategy
Hiking
Tekdi Web Solutions @tekdinet
tekdi.net
IOS Apps
CRM
Magento
E Learning Ecommerce
Joomla
Custom Apps
Android
CMS
HTML5
Social Networks
Techjoomla. For All things Joomla @techjoomla
techjoomla.com
jGive
People Suggest
jomLikeJTicketing
J!Bolo
Broadcast
Invitex
Email Beautifier
SocialAds
J!MailAlerts
REST APIPayments API
Social API
Quick2Cart
Our worst fears have come true !Another CMS on the Joomla Framework !!
LCMS
What's a LCMS ?
How do I Build my Website with it ?
LightingControlManagement 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
+
Web Services Gateway
Gateway
Gateway
Gateway
DEVICES
BaseArchitecture
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 …
ControllerDB
Device GatewayRaspberry Pis
Cloud/Hosted WebserverCurrently Hosted on Pi
#Python
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
The Green Box
Currently running
Raspberry Pi's for the
gateways running python
among other things for the
application code
Device Subnet
ControllerDB
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
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 ! [email protected]
Twitter @techjoomla | @parthlawate