using the joomla framework for internet of things (iot) case for lighting control
Post on 17-Aug-2014
1.893 views
Embed Size (px)
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 protocolsTRANSCRIPT
- Building a LCMS with the Joomla Framework the internet of things & Joomla
- 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 Open Source Software Architecht Marketing 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 jomLike JTicketing J!Bolo Broadcast Invitex Email Beautifier SocialAds J!MailAlerts REST API Payments 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 ?
- 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 + Web Services Gateway Gateway Gateway Gateway D E V I C E S
- 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
- 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 Controller DB
- 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