{"id":2870,"date":"2018-12-01T22:50:30","date_gmt":"2018-12-01T17:20:30","guid":{"rendered":"http:\/\/navveenbalani.dev\/?p=2870"},"modified":"2019-12-18T23:03:26","modified_gmt":"2019-12-18T17:33:26","slug":"connected-elevator-solution-using-predix-iot-stack","status":"publish","type":"post","link":"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/","title":{"rendered":"Connected elevator solution using Predix IoT Stack"},"content":{"rendered":"\n<p>This article is part of IoT Architecture Series &#8211; <a href=\"https:\/\/navveenbalani.dev\/index.php\/articles\/internet-of-things-architecture-components-and-stack-view\/\">https:\/\/navveenbalani.dev\/index.php\/articles\/internet-of-things-architecture-components-and-stack-view\/<\/a><\/p>\n\n\n\n<p>In <a href=\"https:\/\/navveenbalani.dev\/index.php\/articles\/building-application-with-ge-predix-iot-platform\/\">previous article<\/a> we went through the Predix IoT Stack.  In this article, we will go through implementing the <a href=\"https:\/\/navveenbalani.dev\/index.php\/applications\/internet-of-things-application-of-iot-in-manufacturing\/\">connected elevator solution <\/a>using Predix IoT Stack<\/p>\n\n\n\n<h4><a>Hardware and Connectivity<\/a> <\/h4>\n\n\n\n<p>In this section, we would discuss the hardware and connectivity approach for the elevator use case. We will realize the elevator use case using Predix IoT stack through the following phases we described in <a href=\"https:\/\/navveenbalani.dev\/index.php\/applications\/internet-of-things-application-of-iot-in-manufacturing\/\">earlier article <\/a> &#8211; viz. monitoring (which includes asset management), condition maintenance and finally predictive maintenance.&nbsp; <\/p>\n\n\n\n<p>We would not go into the details of each phase again but only talk about the implementation steps. The manufacturer as part of his connected design exercise adds various new sensors to the existing elevator control unit to realize the requirements as mentioned in earlier article. The elevator manufacturer as a first step leverages its existing investment and tries to keep the connectivity and communication protocol between elevator control unit and rest of components same and installs the Predix Machine on the elevator machine controller. The Predix Machine acts as a gateway providing local storage, analytics, and filtering of events and also provides secured communication with the Predix Cloud.&nbsp; The Predix Machine component wraps the filtered data into JSON data and sends it over MQTT protocol to Predix Cloud platform. Through the Predix EdgeManager Web interface, the device is remotely monitored and managed.<\/p>\n\n\n\n<h4><a>Software Implementation Overview<\/a><\/h4>\n\n\n\n<p>The following are the high-level steps that needs\nto be performed to build the IoT application<\/p>\n\n\n\n<ol><li>Generate the Predix Machine OSGI container artifact containing\nthe required features using Predix\nMachine SDK. <\/li><li>Register devices and get access\ncredentials through EdgeManager.<\/li><li>Provision devices (elevator\ncontrol device) through EdgeManager and install the Predix Machine OSGI container from Step 1 on the devices.<\/li><li>Create storage services (Create\nthe asset model and store the model and instances using Asset Data service and\ncreate Time Series service for storing raw time series data from devices).<\/li><li>Configure Message Topics for\ncommunication from devices to Cloud and various Cloud services.<\/li><li>Create Analytical Code.<\/li><li>Deploy Analytics code in\nAnalytics Catalog.<\/li><li>Create Analytics Orchestration\nconfiguration for the analytical code and execute analytics orchestration using\nAnalytics runtime.<\/li><li>Create web dashboards and\/or create Mobile applications using Mobile\nSDK for remote monitoring and management.<\/li><\/ol>\n\n\n\n<p><em>\n\n\n\n<\/em><\/p>\n\n\n\n<p><em>Note \u2013\nWe choose to use an example of running elevator machinery 24*7, instead of\npicking up a complex industrial use case like oil machinery or water management\nplant. The steps outlined would be pretty much the same as described above with\nthe addition of complexities around integration with existing industrial\ndevices using protocols like ModBus or setting up a secured compliant network\ninfrastructure from existing manufacturing plants to Predix Cloud.<\/em><em>\n\n\n\n<\/em><\/p>\n\n\n\n<p>The above implementation steps are just one of the approaches for building end to end IoT application. The following shows the connected elevator solution using Predix cloud platform and services.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" width=\"1024\" height=\"840\" src=\"https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2-1024x840.jpg\" alt=\"\" class=\"wp-image-2871\" srcset=\"https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2-1024x840.jpg 1024w, https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2-300x246.jpg 300w, https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2-768x630.jpg 768w, https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2.jpg 1512w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The RabbitMQ service in Predix Cloud receives\nthe data from the connected elevator (controller device) over MQTT protocol.\nThe controller device has Predix Machine software stack installed and uses the\nMQTT River component to send data to configured topics in RabbitMQ. A custom\nservice is deployed which subscribes to\nthe configured topic and uses the Time Series service to store the time series\ndata. The time series data represents a\ntimestamp and value for each sensors (like temperature, pressure , load etc)\nwhich are continuously streamed from the devices, which can be stored and\nfiltered by Predix Machine software component on the elevator control device to\ndo local analysis and\/or send it directly to the Predix cloud for analysis.\nThis provides an option of doing simple\ncondition based monitoring and triggering alerts locally and also send only the\nrelevant information over to the cloud.\nThe real advantage is that the device can be\nremotely monitored, and the software stack can be updated remotely to\nadd new customizations.<em><\/em><em>\n\n\n\n<\/em><\/p>\n\n\n\n<p><em>Tip &#8211;\nWe could also have used WebSocket protocol instead of MQTT. For supporting\nWebSocket protocol, we need to use WebSocket River component in Predix Machine\nsoftware stack to connect to the Predix\ncloud. The WebSocket River component can also directly post the time series\ndata from devices\/sensors to Time Series Gateway component in Predix Cloud.<\/em><em>\n\n\n\n<\/em><\/p>\n\n\n\n<p>The Analytics orchestration component is\ntriggered based on message arrival on the specified topic, and the required analytic workflow (it can be a single\nworkflow containing your analytical code) is\nexecuted by the analytical engine\/runtime.<\/p>\n\n\n\n<p>For the elevator use case, two analytical components are developed, one for\ndetecting anomaly and other for predictive\nanalytics. The analytics code uses machine learning models and is developed\nusing Python and scikit-learn library.\nThe machine learning model uses time series data, asset data, and historical records as inputs for analysis and predictions.<\/p>\n\n\n\n<p>The analytics code is uploaded to Predix Analytics catalog using Predix Analytics User service.&nbsp; Any dependent libraries need to be\nspecified in a configuration file as per the analytics development\nprocess (reference &#8211; <a href=\"https:\/\/www.predix.io\/docs\/?r=317800#alaepr9P\">https:\/\/www.predix.io\/docs\/?r=317800#alaepr9P<\/a>) <\/p>\n\n\n\n<p>Once the analytic code is tested, you promote it to production state,\nwhere it is executed by the analytics runtime.<em>\n\n\n\n<\/em><\/p>\n\n\n\n<p><em>Tip &#8211;\nAs mentioned earlier, the approach of building a machine learning model,\nwhether using Microsoft, Amazon or IBM\ntools or open source options like Python scikit-learn\nlibrary remains the same. You build the model and train the model iteratively\nusing the raw data from the connected devices, asset metadata and historical\nmaintenance records. The real challenge in building the model is choosing the\nright features, cleaning( or filtering)\nand aggregating the data, applying algorithms, training the model and\ncontinuously iterating it to reasonably predict\nthe outcome.<\/em><em>\n\n\n\n<\/em><\/p>\n\n\n\n<p>Based on the response of analytics service\n(if maintenance is predicted or\nrequired), the maintenance workflow service is triggered.&nbsp; The status is\nupdated in the Postgre SQL database which keeps the track of maintenance\nactivity. <\/p>\n\n\n\n<p>A web dashboard is developed which pulls the data from the data sources (time\nseries, asset data and Postgre SQL database) that shows real-time updates on\nthe entire process and provides monitoring of the assets.&nbsp; The same information is also made available\nin mobile applications and can also trigger\/notify users to take corrective\naction. The mobile application is developed using Predix Mobile SDK framework, which enables quickly building\napplications using standards like HTM5 and JavaScript.<\/p>\n\n\n\n<p>This completes an end-to-end execution cycle using Predix cloud.<\/p>\n\n\n\n<p>In the next article, <a href=\"https:\/\/navveenbalani.dev\/index.php\/articles\/building-application-with-open-source-iot-stack\/\">we will look at how to build IoT solutions using Open Source stack<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article is part of IoT Architecture Series &#8211; https:\/\/navveenbalani.dev\/index.php\/articles\/internet-of-things-architecture-components-and-stack-view\/ In previous article we went through the Predix IoT Stack. In this article, we will go through implementing the connected elevator solution using Predix IoT Stack Hardware and Connectivity In this section, we would discuss the hardware and connectivity approach for the elevator use case. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2871,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,156],"tags":[287],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v16.0.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Connected elevator solution using Predix IoT Stack - Current and Future Technology Trends by Navveen Balani<\/title>\n<meta name=\"description\" content=\"Connected elevator solution using Predix IoT Stack - Articles\" \/>\n<link rel=\"canonical\" href=\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Connected elevator solution using Predix IoT Stack - Current and Future Technology Trends by Navveen Balani\" \/>\n<meta property=\"og:description\" content=\"Connected elevator solution using Predix IoT Stack - Articles\" \/>\n<meta property=\"og:url\" content=\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/\" \/>\n<meta property=\"og:site_name\" content=\"Current and Future Technology Trends by Navveen Balani\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-01T17:20:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-12-18T17:33:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1512\" \/>\n\t<meta property=\"og:image:height\" content=\"1240\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\">\n\t<meta name=\"twitter:data1\" content=\"5 minutes\">\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/navveenbalani.dev\/#website\",\"url\":\"https:\/\/navveenbalani.dev\/\",\"name\":\"Current and Future Technology Trends by Navveen Balani\",\"description\":\"Current and Future Technology Trends by Navveen Balani\",\"publisher\":{\"@id\":\"https:\/\/navveenbalani.dev\/#\/schema\/person\/51f7ab14b20611d95e3c7fd4ea0950bf\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":\"https:\/\/navveenbalani.dev\/?s={search_term_string}\",\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/12\/predix-iot-solution2.jpg\",\"width\":1512,\"height\":1240},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#webpage\",\"url\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/\",\"name\":\"Connected elevator solution using Predix IoT Stack - Current and Future Technology Trends by Navveen Balani\",\"isPartOf\":{\"@id\":\"https:\/\/navveenbalani.dev\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#primaryimage\"},\"datePublished\":\"2018-12-01T17:20:30+00:00\",\"dateModified\":\"2019-12-18T17:33:26+00:00\",\"description\":\"Connected elevator solution using Predix IoT Stack - Articles\",\"breadcrumb\":{\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/navveenbalani.dev\/\",\"url\":\"https:\/\/navveenbalani.dev\/\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"position\":2,\"item\":{\"@type\":\"WebPage\",\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/\",\"url\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/\",\"name\":\"Connected elevator solution using Predix IoT Stack\"}}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#webpage\"},\"author\":{\"@id\":\"https:\/\/navveenbalani.dev\/#\/schema\/person\/51f7ab14b20611d95e3c7fd4ea0950bf\"},\"headline\":\"Connected elevator solution using Predix IoT Stack\",\"datePublished\":\"2018-12-01T17:20:30+00:00\",\"dateModified\":\"2019-12-18T17:33:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#webpage\"},\"publisher\":{\"@id\":\"https:\/\/navveenbalani.dev\/#\/schema\/person\/51f7ab14b20611d95e3c7fd4ea0950bf\"},\"image\":{\"@id\":\"https:\/\/navveenbalani.dev\/index.php\/articles\/connected-elevator-solution-using-predix-iot-stack\/#primaryimage\"},\"keywords\":\"iot-guide\",\"articleSection\":\"Articles,IOT\",\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/navveenbalani.dev\/#\/schema\/person\/51f7ab14b20611d95e3c7fd4ea0950bf\",\"name\":\"Navveen\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/navveenbalani.dev\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/navveenbalani.dev\/wp-content\/uploads\/2019\/07\/navveen_balani.jpeg\",\"width\":200,\"height\":200,\"caption\":\"Navveen\"},\"logo\":{\"@id\":\"https:\/\/navveenbalani.dev\/#personlogo\"},\"sameAs\":[\"http:\/\/naveenbalani.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","_links":{"self":[{"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/posts\/2870"}],"collection":[{"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/comments?post=2870"}],"version-history":[{"count":4,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/posts\/2870\/revisions"}],"predecessor-version":[{"id":2882,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/posts\/2870\/revisions\/2882"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/media\/2871"}],"wp:attachment":[{"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/media?parent=2870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/categories?post=2870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/navveenbalani.dev\/index.php\/wp-json\/wp\/v2\/tags?post=2870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}