Using the Joomla Framework for Internet of Things (IoT) Case for Lighting Control

Preview:

DESCRIPTION

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

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 ! contact@techjoomla.com

Twitter @techjoomla | @parthlawate

Recommended