Skip to main content
Category

Blog

Web Console for Multiple IoT Gateways

By Blog, EdgeX Foundry

Guest post by Huaqiao Zhang, developer for VMware and contributor to EdgeX Foundry 

Preface

When users start using EdgeX, they could quickly run the service framework according to the official documents of EdgeX Foundry. EdgeX is a headless framework; often running in environments where there is no user interface capability or on systems that don’t have a display.  As a developer, this might be a bit inconvenient.  I decided to use an HTTP client tool and call EdgeX’s Restful APIs to become familiar with the features. However, you might desire something that is easier and more friendly to use.

This is what gave me the idea to create a Web Console where users only need to operate in the browser instead of manually typing in a lot of commands with parameters and assemble complex JSON data.  According to the EdgeX roadmap, the integration of EdgeX to various system management capabilities will soon allow those system management products, which often offer user interface consoles, to help users operate and manage EdgeX.  Importantly, these management systems will help manage multiple instances of EdgeX and the platforms it runs.  The Web Console that I created and contributed to the EdgeX, can serve as a tool for developers that want a better experience in interacting with the EdgeX microservices, or as a good starting point for those looking to create more extensive interfaces.

Why we need the Web Console

When a new user wants to add a new device to a gateway, if there isn’t a Web Console, he has to put some time and effort of learning the Restfull API of EdgeX Foundry and needs to confirm whether the relative data exist for DeviceService, DeviceProfile, DeviceAddress, etc. If not, he has to create it, then gets the ID or Name of that feature. Finally, he assembles complex JSON data and upload it. As another example, sending commands to a device could be even more complicated. All these could be hard for a new user or an on-site debugging engineer, but a Web Console would make it easier.

How to manage multiple gateway instances

When an enterprise uses EdgeX Foundry, multiple gateways can be deployed onsite. In most cases, each gateway has an internal IP address in the LAN rather than an Internet address. So, how to manage these gateways via a web console? There are two approaches:

  • A Web Console is deployed to each gateway. In this case, users need to remember the address of each gateway to operate and maintain multiple web consoles. Each gateway has to cost some resources to run its own web console.
  • Multiple gateways share one Web Console. In this case, there is a method to switch among all the gateways. All operation requests will be proxied to the selected gateway. With this approach, users only need to remember one address and maintain one Web Console.

Comparing the two options above, I prefer the later one. The limitation is that all gateways must be accessible to the host where Web Console is deployed. But in a company’s intranet, this should not be difficult.

Problems solved and basic implementation

The assumptions and expectations of multi gateway sharing Web Console are:

  • Gateways can be anywhere, but for an enterprise, they may all be in the intranet.
  • The host, which the Web Console is deployed on, can be one of the gateway or a PC that can access all gateways directly. So, the console should be very light weighted.
  • All operation requests should be dynamically proxied to the gateway selected by the user.
  • Multiple users could operate different gateways at the same time without affecting one another.

Based on these requirements, the fundamental architecture is shown below:

The basic user’s operation flow is shown as below:

  • After login, a user will be navigated to the management page of the default gateway. If there are no gateways at all or none selected, most menu items will not be permitted to operate.
  • When the user selects or creates one gateway, the metadata of gateway are stored into the local database in the web console.
  • Once one given gateway is activated, all operations will be proxied to the target gateway, then the data will be returned to Web Console.
  • Multi-user’s operations on different gateways will not affected one another.

Some necessary operations are illustrated below.

Gateway Management

 

Adding a Device

 

Device Service Management

 

Exporting Registration

 

Exporting Data Show

 

Check it out the video demo here: https://www.youtube.com/watch?v=2EOHR_gUeic.

Conclusion

This is just a prototype. I would like to gradually add some new features, such as a gateway location information using google map and video streaming. If you are interested in this web console for EdgeX Foundry, and want to join me on the effort, please ping me at https://twitter.com/Huaqiao_Zhang or the repos at GitHub: https://github.com/badboy-huaqiao/simple-local-gateway-console or https://github.com/badboy-huaqiao/edgex-foundry-web-console.

For more technical details, visit the EdgeX Foundry wiki page.

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

EdgeX Foundry on Display at Hannover Messe

By Blog, EdgeX Foundry

From April 23 – 27, more than 220,000 attendees, speakers and exhibitors from 75 countries will be at Hannover Messe, one of IIoT’s leading trade shows in Hannover, Germany, to share best practices, display new technology and discuss what the future looks like for industrial systems.

EdgeX Foundry will be on-site at the tradeshow with a full agenda of activities in our booth, Hall 6: B17. Members from Canonical, IOTech, ioTium, Dell/RSA, SoftwareAG and VMware will be demonstrating leading-edge industrial IoT solutions based on EdgeX. Experts from these member companies will also share keynote presentations about edge computing, smart buildings, the challenges of interoperability, open source ecosystems and more.  Stay tuned here for the schedule.

Interactive demons at the EdgeX Foundry Booth, Hall 6: Stand B17 include:

Canonical: Canonical will be demoing a snapshot of the latest EdgeX development release called ‘California’ running as a fully-confined snap on Ubuntu Core 16.  This will be demonstrated on an Arrow/Qualcomm Dragonboard 410c.

IOTech: IOTech will demonstrate the power of edge computing and the benefits of its commercial offering Edge Xpert – the Open IIoT Platform for Edge Applications.  The ‘Edge Xpert’ will run on a 32-bit embedded ARM controller and integrate with a Modbus Smart Power Meter. It will showcase a live data visualization and edge-to-cloud integration between Edge Xpert and AWS IoT Platform.

ioTium:  ioTium will present their edge-cloud infrastructure solutions. They will be showcasing ioTium OT-Edge; bridges edge and cloud computing by moving applications to data; allows mission critical data to reside on-premise in industrial and manufacturing environments. With ioTium OT-Edge, applications are moved – not the data. With a single click from ioTium’s cloud-based industrial app store, applications can now be deployed at scale, across the edge.

Dell/RSA: Dell/RSA will present the power of EdgeX as a secure IIoT platform enhanced with hardware platform from Dell and innovative security software from RSA Labs. Their demo will showcase the use of security analytics for monitoring and threat detection for the IoT Edge, secure communication using OPC-UA (an industrial automation protocol) and protection of credentials at the edge.

SoftwareAG: Cumulocity’s IoT Edge platform supports a distributed architecture, with dashboards, analytics rules, apps and integrations developed for the cloud transferable to edge deployments and Edge Real-time streaming analytics.  Their demo is a small replica of a real use case where Cumulocity IoT Edge is being used to manage the operation of wind farms.

VMware: VMware will be showcasing how to take control of the Edge through VMware Pulse IoT Center and EdgeX technology with the aim to virtualize and isolate on the edge for enhanced security, manage heterogeneous edge gateways or systems, and integrate Industry protocols.

Want to see more from EdgeX Foundry?  You can visit other member company booths including:

If you cannot make it, you can keep up to date by following us on @EdgeXFoundry for highlights and pictures from the event and the EdgeX Foundry YouTube Channel for all the latest videos!

EdgeX Foundry Member Spotlight: Xage Security

By Blog, EdgeX Foundry

The EdgeX Foundry community is comprised of a diverse set of member companies that represent the IoT ecosystem. The Member Spotlight blog series highlights these members and how they are contributing to and leveraging open source solutions. Today, we sat down with Roman Arutyunov, Co-Founder and VP of Products for Xage Security, Inc. to discuss Industry 4.0, challenges for edge computing, security and digital twins for machines.

What does your company do?

Xage is the first and only blockchain-protected security platform for industrial IoT, creating a tamper-proof “fabric” for communication, authentication, and trust that assures security at scale. Our platform supports any-to-any communication, secures user-based and machine-to-machine access to existing industrial systems, works at the edge even with irregular connectivity, and gets stronger and stronger with every device added to the network. Customers include leaders in the largest industries, spanning energy, utilities, transportation and manufacturing.

Why is your company investing in the IoT ecosystem?

Industry 4.0 promises to bring the next big wave of economic growth, optimizing production and customer experience. As a team of security, industrial digitization, and software experts, we knew security would be foundational to such an autonomous, any-to-any, edge-heavy ecosystem. The current centralized security systems simply aren’t designed to handle the scope, nature or complexity of Industry 4.0. We saw the opportunity to build a security fabric that is distributed, redundant, flexible, and adaptive enough to provide the necessary trust and integrity for secure Industry 4.0 interactions at scale.

How has IoT impacted your company? What benefits have you seen or what do you expect to achieve?

Our goal is to become the foundational and enabling security layer for IoT security across the major, evolving industries that need it––like manufacturing, transportation, utilities, and energy, among others. IoT has already had a large impact on industrial verticals ranging from robotics in manufacturing, connected cars in transportation, and integration of renewable energy sources like solar and wind in utilities. Data-driven autonomous operation with distributed intelligence is a common theme across multiple industrial verticals and has the promise of enabling significant improvement in service reliability, efficiency, and sustainability affecting our everyday lives.

Businesses currently have to invest a lot of time and energy into developing their own edge computing solutions. What are some of the business or technical challenges you have faced when adopting edge computing technologies?

When developing edge computing solutions businesses typically face the challenge of having to deal with multiple data and control protocols, building adapters for each, and creating a data store on top of which analytics solutions can be run. Additionally, as data is exchanged and accessed by multiple applications there is a need for effective access control. The Xage Security Fabric addresses the security concerns for data storage and access across multiple distributed systems and applications at the edge.

Why did your company join EdgeX Foundry?

EdgeX Foundry and Xage are aligned in our objectives to build a converged and secure solution, spanning multiple vendors, devices, and applications for industrial IoT at the edge. There’s massive potential to transform the way industrial organizations operate, and joining the EdgeX Foundry brings us one step closer to the reality of Industry 4.0, operating efficiently and securely at the edge.

How are you going to use the framework?

Xage has created a decentralized framework for securing IoT devices, applications, and and enabling any-to-any information exchange. The Xage Security Suite enables access control at the edge enabling zero-touch device enrollment, one-click user access control, and peer-to-peer application data exchange. Even before we became a member of EdgeX Foundry – we had been working with the framework. We plan to make our Security Suite accessible through EdgeX.

Where do you see enterprise and industrial IoT in 20 years?

Two decades is a very long time in technology’s terms – just think about what your cell phone looked like 20 years ago. Actually, most people used pagers back then! In 20 years, IoT will move well beyond connectivity and data, and will be a well-integrated part of our lives. Through the spread of artificial intelligence and virtual reality, we will invent “digital twins” for machines that currently power our industries, and learn to interact with them for joint machine and human decision making.

What is your favorite connected device?

I love cars, connected cars and autonomous cars. It has a been a passion of mine for some time now. One of the first connected and autonomous cars has been implemented in open-pit mining. Think large Caterpillar trucks the size of a 2-story house driving themselves.

Meetup: Open Source IoT Enthusiasts Unite!

By Blog, EdgeX Foundry

Guest blog post by Rodney Hess, Principal Member Technical Staff at Beechwoods Software

If you missed the Open Source IoT Meetup last month, here’s a recap of the interactive meeting and where you can find details for upcoming meetups.

 

The Open Source IoT Meetup in Boston took place at WeWork’s North Station on February 15.  (A shout out to Wework!  Their location in the historic Bulfinch Triangle of Boston is quite cool.)  The panel included myself—I work on the northbound and southbound interfaces of the EdgeX stack—and:

  • Brad Kemp (moderator), CEO of Beechwoods Software and a member of the EdgeX Foundry Governing Board
  • Tony Espy, Technical Architect at Canonical and EdgeX Foundry Technical Steering Committee (TSC) member and chair of the EdgeX Foundry Devices Working Group
  • Riaz Zolfonoon, an RSA Distinguished Engineer who collaborates with members of the EdgeX Foundry Security Working Group.

Our panel (L-R): Tony Espy, Riaz Zolfonoon, Rodney Hess, and Brad Kemp, our moderator and co-host.

 

Suffice to say, it was an excellent panel of which to ask questions.

This was our second Meetup for EdgeX, the first one was October 2017.  EdgeX Foundry had just wrapped up the Barcelona release and was in the process of defining the California release.  Since then, there’s been a lot of community feedback and discussions—we even had a TSC Face-to-Face meeting in Orlando—and finalized more details for the California release and preview.  It was time to bring our Meetup members up to speed.

Our moderator and co-host Brad Kemp introducing the group to EdgeX.

 

Around 25-30 participants, which is the largest audience we have had, attended the meetup and asked a lot of questions.  They were quite engaged.  They wanted to understand EdgeX and what you could do with it.  How did the microservices work together?  We delved into how the data flowed from sensors residing off of the Southbound interface to the clouds floating above the Northbound interface.

A question was raised as to whether EdgeX could handle video streams, for example video feeds from security cameras, with a follow up question as to whether one could set triggers based on values within the data stream.  The panel explained that EdgeX has been built for discrete, event based data collected from sensors and devices.  In a building automation use case, examples of discrete data include current temperature and humidity, target temperature, whether the heating system was on or off, and the like.   When a camera or audio sensor generate a discrete data point, for example, a count of people in a room, then EdgeX can work with that data.  EdgeX today does not handle raw video or audio streams.  The discussion then moved on to how the Rules Engine microservice along with the Alerts and Notification microservice can be configured to trigger actions and notifications based on data arriving from the sensors.

Rodney Hess (yours truly) providing an overview of the EdgeX architecture.

 

When asked about implementing support for multiple cloud services, the panel discussed the modular nature of the Export Distribution microservice; that some services were already implemented, including Azure IoT Hub and Google IoT Core, but that work supporting other cloud platforms remains.  Do they need to be clouds?  No, the Export-Distro can export data to any application or enterprise HTTP/S or MQTT/S endpoints—cloud or otherwise—that is external to the EdgeX framework with support for additional endpoint types already in the EdgeX roadmap.

When asked, how does the security framework protect sensors, especially those legacy networks that have no inherent security, the panel talked about the security initiatives the EdgeX Foundry Security Working Group is undertaking, including a reverse-proxy that all external applications must go through to access sensors off of the EdgeX southbound interface.

Riaz Zolfonoon speaking to a point on security within EdgeX.

 

The panel spoke to the larger IoT landscape and how EdgeX fits in and brings unique value, what the TSC has accomplished and what work lies ahead.

We are working on an agenda for the next Meetup.  Suggestions for topics or speakers are always welcome.  Find out more here and join our group:  https://www.meetup.com/Open-source-IoT/.

If you have questions or suggestions, please reach out to Brad or Geof Cohler, our Open-Source IoT Meetup hosts.  We meet every six weeks to hear from engaging industry experts, to network with other talented locals with diverse backgrounds, and to share our passions for all things IoT.

For more technical details, visit the EdgeX Foundry wiki page.

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

EdgeX Foundry @ OpenIoT Summit

By Blog, EdgeX Foundry

Written by Dell’s Jim White, EdgeX Foundry TSC Member and Chair of Core Services Working Group

Last week, several members of the EdgeX Foundry community were at the OpenIoT Summit in Portland, OR, which was co-located with the Embedded Linux Conference.  According to Linux Foundation representatives, the attendance of the conference was around 730, which is an increase from last year.

I was impressed by the level of content and quality in the presentations as well as the participant level and engagement at this conference.  The booth displays were low-key (not a lot of big equipment demos or flashy give-aways) yet the engagement level between participants and the booth representatives was very high.  During non-session periods, the showroom floor was packed with a constant stream of participants stopping by each booth to get background and details about the products and services shown (versus just trying to get the free t-shirt as you might see at other conferences).

From top: Janko Isidorovic and Drasko Draskovic (Mainflux), Jim White (dell) and Trevor Conn (Dell)

 

Several members of the EdgeX community presented talks and provided information about their work in the community.  Notably, Janko Isidorovic and Drasko Draskovic (from Mainflux) as well as Trevor Conn and I (from Dell Technologies) gave session talks (links below).

Jim White (Dell) and Tony Espy (Canonical)

 

Tony Espy (Canonical) and I also presented two beginner’s training labs on EdgeX.  The link to the lab session is below, and you might find the training materials (located at the bottom of the session notes) helpful in your own spin-up on EdgeX. In total, almost 100 participants attended these sessions and was introduced to or engaged with EdgeX Foundry in one way or another.

https://elciotna18.sched.com/event/DYf2/getting-started-with-edgex-foundry-a-hands-on-lab-jim-white-dell-tony-espy-canonical-ltd

Additionally, Dell Technologies’ own Patricia Flores made a good plug for EdgeX and put on a great show during her talk in one of the morning keynote sessions entitled “Federated Analytics at Scale.”

Patricia Flores (Dell) giving a keynote speech

 

In discussing EdgeX with the attendees, I believe EdgeX’s open, interoperable, microservice architecture is still drawing a lot of attention and consideration from companies exploring IoT solutions.  It was also clear that the current EdgeX developer focus and emphasis on targeting smaller footprint devices (with Go) was significant and left a resounding positive impression on the global IoT community.  EdgeX will also need to deliver – in measured steps starting with the California release – security and system management capabilities.

Next year’s OpenIoT Summit is in Monterey California.  Hope to see your there!

EdgeX Foundry Member Spotlight: CloudPlugs Inc.

By Blog, EdgeX Foundry

The EdgeX Foundry community is comprised of a diverse set of member companies that represent the IoT ecosystem. The Member Spotlight blog series highlights these members and how they are contributing to and leveraging open source solutions. Today, we sat down with Jimmy Garcia-Meza, Co-Founder and CEO of CloudPlugs, to discuss architecture, the ecosystem and Industrial IoT.

What does your company do? 

CloudPlugs enables energy, utility and manufacturing companies, service providers, building managers and municipalities to i) digitize and securely connect their legacy and new device infrastructure; ii) to manage end-to-end the lifecycle of their devices, applications and data; iii) to add intelligence to the edge to gain better insights and automate actions, and to easily integrate operations technology with IT systems and 3rd party applications and cloud services.

CloudPlugs offers a secure, fully integrated edge to cloud stack using state-of-the-art container technology in the cloud and in the edge.  Our suite of integrated tools for connectivity, fast service development and deployment enable companies to implement and deploy their digital transformation projects in record time. For example, a large electrical utility developed a smart micro-grid service and deployed it within 35 days making it an internal example of how technology should be implemented.

Why is your company investing in the IoT ecosystem?

The IIoT space is so large and complex that it is impossible for a single company to address the needs of the market.  For our customer projects to be successful, we need close relationships with the sensor, PLC, gateway and other edge device manufacturers, and upstream with the companies that provide data lakes, advanced analytics, machine learning tools and operations and business support systems.  A real, field deployable solution must provide integration on the edge side and integration on the cloud or data center side.  Only this way can companies truly integrate and digitize their vertical and horizontal value chains.

How has IoT impacted your company? What benefits have you seen or what do you expect to achieve? 

IoT is what we do from inception, so we live and breathe the opportunities and challenges that surround this new world.  Industrial customers tend to have 6-9-month evaluation cycles since the decisions will impact their operations and digital service and business model creation. However, what we have learned is that when they experience success, they will invest more.  Some of the benefits we saw in adding Edge One™ to Thermal and Power plants to ingest and process legacy data that is pushed to a data lake, are that the customer is now able to use data scientists to create predictive models to further optimize operations.  The confidence they gained help them venture into incorporating LoRa and sensors to transport data inside the plants and they now have an advanced material tracking system.  Other customers are building their new connected systems to change their business model from selling expensive machines to selling outcomes.  The impact of IoT and IIoT is just beginning to be felt and it will drive the Industry 4.0 initiatives in the years to come. 

Businesses currently have to invest a lot of time and energy into developing their own edge computing solutions. What are some of the business or technical challenges you have faced when adopting edge computing technologies? How have you overcome them?

We have believed in edge computing since day one. Since then, we have built Edge One™ on top of the SmartPlug™ to deliver a container based, high performance, extensible platform for edge connectivity and computing.  Coming up with an architecture that delivers flexibility, performance, scalability and extensibility has not been easy and it requires deep understanding of 1) the problem you want to solve, and 2) the technologies available and that need to be created to create a solution that can solve most of the challenges.  Extensibility is key, and we are building an ecosystem of partners who can build and sell their own container applications and services on Edge One™ to complement the modules available from CloudPlugs.

Why did your company join EdgeX Foundry?

In many ways, EdgeX Foundry mimics what we do on the edge, but we expect to contribute to the technology and use cases and to make our Edge One™ platform compatible with EdgeX products and services.

How are you going to use the framework?

We are going to add to our products the pieces that allow interoperability with other edge devices that are EdgeX enabled.

Where do you see industrial IoT in 20 years?

I hope that in 20 years we’ll be talking about something else and that most of the industrial sector will have had great experiences in deploying their Industry 4.0 initiatives.  One of the core elements of Industry 4.0 is the implementation of cyber-physical systems with the ability to learn and make autonomous decisions.  Currently, companies are overwhelmed with the tasks of connecting everything and trying to gain better insights from the data.  In a few years, as technology evolves and more, easy to integrate and use solutions become available, the number of companies using AI as part of their daily operations will grow. I expect that this will enable new battlegrounds for increased operational efficiency and new, innovative digital service and business models will emerge.

EdgeX Getting Skinny and Fast with the California Code Preview

By Blog, EdgeX Foundry

Written by Dell’s Jim White, EdgeX Foundry TSC Member and Chair of Core Services Working Group

In a post I made to this blog back in October, I reported that the EdgeX community was committed to reducing the original footprint, startup times and overall performance by making a move from Java to Go.  The community has been hard at work, and I am happy to report on the initial success of that effort.

California Preview

Today, we announced the availability of what we have deemed the “California Preview” that is available for exploration from the EdgeX sites.

The California Preview is a sample of what we hope to bring you in full this spring.  In the California Preview, the community has built several Go Lang micro services that are drop in replacements for the Java versions.  Specifically, the core services (Core Data, Metadata, and Command) have been re-created in Go Lang.  Additionally, a portion of the export services functionality found in the original Java Export Client and Export Distribution micro services have also been re-created in Go Lang.  Finally, the Core Config Seed, which is the initialization service that sets up the configuration/registry service, is now done in Go Lang.  Consul is our configuration/registry service and that has always been written in Go.

Team Effort

This has been a community effort with the Dell team providing the core Go services, Cavium and Mainflux teams providing the export services, and Samsung producing the new config seed.  The Linux Foundation led DevOps team is busy working a continuous integration process for our new Go micro services –even cross compiling for Intel and Arm platforms.  Last but not least, the blackbox testing provided by the IOTech team is making sure the replacement services are REST API compatible with the Java services and therefore are drop-in ready.  This is how open source gets done today – many companies and teams working together towards one dream.  Group hug.

Go Lang Results

Now, back to the results and benefits of all this hard work.  Because Go is compiled into an executable, the size of the application is much smaller than it’s Java counterpart – even before considering the JVM required for Java applications.  Here’s a look at the raw Java JAR versus Go executable size for the EdgeX core micro services.  The size of these same services in a Docker container is also indicated on the right side of the chart.  The Java container image size does includes the Java JVM – thus the even larger footprint when looking at Java versus Go containers.

All well and good, you might say, but what about the micro services’ use of critical resources such as memory or CPU?  Go Lang micro services used an astounding 97% less memory and generally 5 to 40 times less CPU!

Lastly, the startup time for the Go services nears 100% improvement.  We typically had to measure our Java micro service start times in seconds.  We measure our Go Lang micro services starts in milliseconds.

I have been doing Java most of my programming career.  Love Java, but in order to get EdgeX to the real edge of IoT environments, we have to put our micro services on a diet – make them small and fast.  Go Lang is helping us get EdgeX svelte.

Still Hurdles to Clear

Go is still a young programming language relative to Java.  Version 1.0 of Go was released by Google in 2012 whereas Java has been around for more than 20 years now.  The libraries, tools, frameworks, and idioms are still emerging in Go while Java has a plethora of these.  Our developer community, in some cases, is also learning that the Java-way is not necessarily the Go-way, and therefore is having to adapt to a new programming paradigm.  For example, the multiple repo approach for the Java micro services and associated share libraries doesn’t work so well in a Go Lang development environment where a single “mono” repo is preferred.  Some of our Go code will likely have to go through a refactoring exercise as lessons are learned.  That’s to be expected as even the Java micro services were refactored once or twice since being created.

The Go work is progressing but we are not done.  We need to make similar reductions to the rest of our micro service collection.  Not all the work will be done in Go Lang.  For example, we are hopeful to have a C/C++ Device Service SDK (along with a Go Lang Device Service SDK) this spring which will allow for small C/C++ micro services for some protocols/platforms at the EdgeX southern layer.  In some cases, especially for the some of the services that are more application focused and could live in bigger environments when EdgeX is distributed, Java micro services may still flourish.

However, if we are able to make similar reductions to all of our EdgeX micro services (whether using Go, C/C++, or other language), the forecast for EdgeX size and performance is quite good.  Early forecast calculations put the total memory usage (database and other infrastructure inclusive) at less than 200MB.  That compares to a 2.5GB of memory needed today.  The total containerized footprint would be around 600MB (compared to more than 1.8GB today).  And EdgeX would start up in about 5 seconds (compared to around 5 minutes today).  The concentric circle relative size diagrams for some of these metrics provide a visually compelling story that should help you soak in the differences.

Help Needed

Come help us complete this work.  Help us make EdgeX go (pun intended) smaller and faster!  In addition to the work to complete the EdgeX micro service reductions, there $is crucial work in security and system management that is to be completed for the California release.  As I already indicated, we need help completing SDKs in various programming environments.  More north and south bound connections, more testing, and more deployment / orchestration work needs to happen.  We welcome companies and individuals looking to make a contribution in the IoT landscape.

If you have questions or comments, visit the EdgeX Rochet.Chat and share your thoughts in the #community channel.

Simplified IoT Powered by EdgeX Foundry

By Blog, EdgeX Foundry

Guest blog post by Siddharth Tiwari, Chief Architect, Application and Big Data/IoT Transformation for Dell EMC

IoT is not just a buzz word, it’s a new way to make our surroundings and our lives more interactive and responsive. Here at Dell, we interact with customers day in and day out discussing various problems and issues.  Some relate to supply chain, some relate to fraud, some to yard management and then some to just mere optimizing customer interactions. Over time, I realized that many of these issues can be simply resolved by introducing more connectivity across various assets through the Internet of Things.

It’s easier said than done – connecting things together can get quite complex. Imagine having 100 people in a room. They’re all speaking different languages and trying to have a conversation. This is similar to what happens when one tries to connect desperate assets together. For example, some devices may talk SNMP, while some other may communicate over BACNET. It becomes challenging to bring all of them on to a common platform.

But not to worry!! EdgeX Foundry has come to the rescue! First of all, it simplifies the architecture, which can become really complex, by adopting a modular micro-service based approach. Secondly, since it’s highly extensible, it allows one to add and customize it based on needs. Last but not least, its footprint is so small that it can be easily run on something as small as a Raspberry Pi.

In this blog, I am going to demonstrate how EdgeX Foundry is simple to architect. When combined with our top of the line skills around data science and architecture, it becomes one of the most effective tools to solve really complex issues.

So, as a matter of introduction, I have been living in Arizona for a large part of my life. One issue I have had always grappled with has been the balance of Temperature and humidity. According to experts for healthy lifestyle, one must have at least 40 to 50% of humidity maintained at all times, whether winters or summers. But, when you live in a hot and dry place like Arizona, what you get is mostly 1% humidity, and as soon as winter arrives, all the heating from Air-conditioning reduces internal humidity again to 2 to 4%. Then you grapple with a challenge to maintain optimized temperature and humidity, which made me run my thermostat and humidifier constantly.

So that was my problem, and being a data scientist, I knew I can model this correlation out and create some kind of rule for optimizing the same. But, to achieve this, I needed consistent data and a little bit better enterprise grade acquisition mechanism and then resources to model this. After a lot of research, I found EdgeX, which helped me answer a lot of things in a straight forward manner. Finally, I decided to take more of an IoT approach to this problem, similar to how we go about helping our customers, so that I can repurpose some of this at an enterprise level.

What I needed to do were following:

  1. Ability to collect temperature and humidity outside, and at various locations inside.
  2. The collection points should operate at really low energy and must send all the data wirelessly.
  3. A gateway which could collect all this data and route it where I can store the data reliably.
  4. Ability to distribute the same over the internet, and utilize a publically exposable service to access data over an API.
  5. A rule engine, so that I could get a trigger over to take decisions.
  6. Something that can take these rules and convert the same into commands.
  7. Integration between my Thermostat and Humidifier.

Now, it was important to assign bill of material to above, so I chose following:

  1. Low power temperature and humidity sensor:- DHT22
  2. Low power module to broadcast this data: ESP8266 wifi module
  3. Dell 3000 to act as gateway
  4. EdgeXFoundry the brains, which gets all this data and routes it to end points
  5. Raspberry pi zero, which ran SNMP service to broadcast temperature and humidity so that edgeXFoundry’s device-snmp service can walk SNMP messages and distribute to external end points.
  6. Alexa SDK which became my central command center
  7. A Smart thermostat
  8. Humidifier
  9. A GPU based PowerEdge server to perform all the Deep Learning and Machine Learning activity

The Architecture looked something like below:

The first thing to be done was to broadcast the temperature and humidity values over from ESP8266 modules over UDP to Raspberry Pi and then extract the message from the packets and then make them accessible over SNMP.

We created firmware, which got the analog data from the sensor and broadcasted those values over UDP, over to raspberry Pi which was running SNMP service. Once we had the packets arrive, we needed to extend SNMP to broadcast humidity and temperature over two different individual OIDs. Honestly, this was the most difficult part.

Now, came EdgeX and rest of the things were cakewalk. Just three things and we were set:

  • Create an addressable
  • Create a device profile
  • Attach the device to a service – SNMP in our case

Now, all set to distribute data over to cloud hosted MQTT broker. Once we had all the data over to cloud, we created two streams: one where we utilized EdgeX Foundry’s rule engine to trigger certain events using Alexa’s SDK and the other to do all the machine learning in the backend and integrate the same with Alexa SDK to provide a decisioning engine.

We grabbed all the data in Azure to create real-time dashboards and collected data in a PowerEdge machine and ran multiple algorithms every 10 hours to create correlation between Humidity and Temperature and use it to tweak the level of Air conditioning, heating and humidification.

We ran hexplot, robust and KDE to make sure, we are getting best correlations, some of the outputs of the algorithms looked as below:

As it shows while temperature as more distributed pattern, humidity has single collocated pattern and both have a negative correlation coefficient of -0.6 and that is consistent across all three plots.

We used elastic search hosted in Azure to pull all this data and plot it on real-time using kabana.

Real-time Azure Dashboard

 

All events inside Elastic search

 

Visible negative correlation

While this is basic, it gave me a lot more useful and optimized methodology to maintain a balance between temperature and humidity. Not only this, I was able to predict certain level of impact of outside conditions towards the environment inside.

These parameters were exposed via a python based decision module to utilize Alexa SDK to proactively manage when and by how much I should humidify, cool or heat my home.

What was the outcome? Well EdgeX enabled me to simplify this task so much that it takes minutes for me to add more devices and definition to the data I receive or collect. Moreover, I maintain humidity of around 42% consistently around me, and as a byproduct I have ended up saving more than $35 on an average on my electricity bills.

Bottom line is, while IoT is a complex animal to handle, EdgeX makes it quite easy to integrate various different kind of devices and while doing that provides scalable way to distribute all this data to external endpoints. It automatically creates and enables a rules engine, which can take this information and enable one to create various triggers to effectively realize the potential of IoT.

On top of all this, our services enable simplification of complications which inhibit IoT adoption, from Engineering, data science and business perspective. Power of connected things is endless, and our solutions help streamlining and simplifying their adoption on all aspects.

If you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

EdgeX Foundry Member Spotlight: Mocana

By Blog, EdgeX Foundry

The EdgeX Foundry community is comprised of a diverse set of member companies that represent the IoT ecosystem. The Member Spotlight blog series highlights these members and how they are contributing to and leveraging open source solutions. Today, we sat down with William Diotte, President and CEO of Mocana, to discuss embedded security software, military applications and IoT analytics.

Tell me a little bit about your company.

Mocana provides mission-critical IoT security solutions for embedded systems, industrial controls and the internet of things. Today, Mocana protects more than 100 million embedded devices within military aircraft, manufacturing automation equipment, electric utility grid control systems, medical equipment and IoT devices. Our IoT security platform goes beyond traditional security approaches by making IoT and ICS devices trustworthy and enabling secure device-to-cloud communications.

Why is your company investing in the IoT ecosystem?

To deliver IoT- and connected-device-based services, it requires an entire ecosystem of connected, interoperable systems and services — from the chips to the sensors to the gateways, and up into the cloud or core systems and services tp provide “networks of systems.” Securing this “network of systems” requires a holistic approach and Mocana has developed relationships with a broad ecosystem of vendors in the IoT marketspace to develop pre-integrated solutions to ensure end customers receive robust, consistent protection when launching IoT services, while spending much less time architecting, developing and then supporting their new offerings.

How has IoT impacted your company? 

Mocana was founded in 2002 to provide security software for embedded systems in military aircraft and devices. We then extended our solution to address the needs of the industrial automation and controls market. With Mocana solutions protecting more than 100 million devices today, we are in a great position to help the IoT industry protect the billions of connected devices to ensure their security and safety.

Businesses currently have to invest a lot of time and energy into developing their own edge computing solutions. What are some of the business or technical challenges you have faced when adopting edge computing technologies? How have you overcome them?

Computing at the edge involves placing more intelligence in devices rather than handling all of the analytics and decision-making at the core, in a remote data center. For example, today’s modern industrial-grade surveillance cameras handle much of the video analytics at the edge. This allows a remote camera on a street corner to analyze surveillance video footage locally within the camera, rather than having to backhaul all of the data back to the cloud to analyze it. There is great advantage to doing this to speed analysis and reduce the time it takes to identify characteristics, such as color, object type and direction, in real time. The challenge of embedding more intelligence into edge devices is that they are sometimes resource constrained, meaning they have limited processing power and memory relative to a full-blown computer or data center server. Mocana addresses this by working closely with silicon vendors and real-time operating system software providers to optimize the performance of our security software on minimal systems so that edge computing applications can run securely.

Why did your company join EdgeX?

Mocana joined EdgeX as a founding member in order to deepen partnerships and relationships with Dell, VMware, Ubuntu, ADI and other major organizations within the growing IoT gateway ecosystem collaborating in the EdgeX community. The membership extends Mocana’s mission as an IoT security provider for devices that are delivering high-value connected services on edge computing systems. Mocana’s interoperability with the EdgeX ecosystem is essential to ensuring end customers have access to a robust, reliable, commercially tested and supported security solution that secures their high-value services running at the edge, as well as their device-to-gateway-to-cloud network of systems. The company is focused on improving interoperability, securing gateways, and providing a chain of trust for both northbound and southbound communication and analytics.

How are you going to use the framework?

Mocana will deliver an easy-to-use plug-in to quickly migrate from the base EdgeX open-source security framework and tools to Mocana’s comprehensive, reliable, commercially tested and supported security solution that secures their high-value services running at the edge, as well as their device-to-gateway-to-cloud network of systems.

Where do you see enterprise and industrial IoT in 50 years?

It’s hard to predict where the industry will be in 50 years; however, there no question that the internet of things  will transform the way we live, work and interact with our physical world. Sensors will be ubiquitous in everything, from our basic needs of what we eat and drink to what we use to do our jobs and experience the world. For example, today, sensors — tiny microcontrollers that are as small as grain of sand — are used in agricultural applications to measure temperature, moisture and pH of the soil. These sensors will decrease in size so that they can be ingested and measure various aspects of your health. In factories or even hospitals, human workers will work alongside robots that can use artificial intelligence and enhanced physical strength to improve the productivity as well as the safety of workers. In smart cities, the street lights will become beacons of information filled with sensors for weather, light, traffic, sound, proximity and surveillance. These will provide a great deal of information to make our cities safer and more efficient. As part of the Industry 4.0 revolution, industrial manufacturers are already incorporating sensors into factory equipment to measure performance and improve uptime and productivity. In the transportation sector, we will certainly see connected vehicles and autonomous driving cars. Fast progress is being made in this area. In 50 years, I could see flying personal vehicles and certainly a proliferation of drones.

 

Looking Back on EdgeX Foundry’s First Year and Preparing for Continued Growth in 2018

By Blog, EdgeX Foundry

Written by Jason Shepherd, Chair of the EdgeX Foundry Governing Board and Dell Technologies IoT CTO

I can’t begin to express how exciting it is to see how what we started as a small team at Dell in July of 2015 has blossomed into a vibrant community of nearly 70 member companies with much more activity brewing behind the scenes. It truly is the most rewarding collaboration I’ve been part of in my career and I want to thank the many people that have helped along the way.

We’ve accomplished a lot as a community in just the past nine months since the April 2017 launch:

  • The Technical Steering Committee (TSC) and work groups are running smoothly and we have established a bi-annual release roadmap that we’re already meeting schedule commitments against – both with the first ‘Barcelona’ community release that dropped Oct 20 and the ‘California Preview’ last week.
  • Last October we announced an alliance with the Industrial Internet Consortium to collaborate on test beds and best practices and we’ve also established liaison agreements with multiple standards bodies and other open source projects.
  • More alliances are in the works across the board. Part of the power of EdgeX is that it’s a tangible foundation that can help standardization efforts work better together.

EdgeX Road Map

 

We’re all ears for new collaboration ideas that further the cause for greater IoT interoperability and adoption.

As with any open source project you don’t have to be a member to download or use the code, join the TSC meetings or participate in the working groups, but membership does come with benefits.  In addition to being visible on the logo boards as a thought leader and having direct (Platinum tier) or indirect (Silver tier) representation on the Governing Board we also offer a variety of events where members can join at a subsidized cost.

EdgeX Foundry Members

 

For example, we had our first official joint project presence at IoT Solutions World Congress in early October with 12 EdgeX member companies in attendance demonstrating their commercial value add on top of the EdgeX foundation. The booth was packed throughout the show and more events are in the works including Hannover Messe in April where we’ll celebrate our first birthday in the same spot it all got started a year prior.

Many EdgeX members have struck up new strategic relationships and even business since the project tends to act as a vendor-neutral IoT partner program.

Every day we’re seeing more and more active contributions from the community, a number of which are highlighted throughout this blog.

The blog on the Schlumberger contribution is a great example of the power of the project – just like that any existing southbound device connectivity now has a path to Google IoT Core.  We also already have an EdgeX Export Service for Azure IoT Suite and AWS is in process along with numerous other targets including the industrial clouds, tools like OSIsoft Pi, SAP Leonardo and IBM Watson.

Late last year the Dell team did a hackathon to tie AR tools into EdgeX to enable an entirely new UI experience. We’ve even prototyped with voice assistants like Amazon Alexa, enabling voice control of connected equipment through any number of underlying communication protocols.

Each of the posts below is a great example of the scale and innovation possible when developers stop reinventing the plumbing of an IoT stack and start focusing on value creation around the wheel.

On the south side, we’ll see device makers start providing EdgeX-compliant drivers with their products for greenfield applications, plus we’ll see a business models for creating and selling Edge-X compliant device services that interface with legacy equipment.

Beyond the core project we’ve seen the community expand in the form of university-sponsored EdgeX research efforts plus EdgeX-focused hackathons.  Throughout 2018 we’ll be encouraging more developer engagement through various types of channels.

We can always use more help so if you’re a developer and would like to get involved just dive in!  In terms of spreading the word in general a great starting point is by joining our Speaker’s Bureau.  And finally, nothing brings together a community like free food and drinks – so help us spread the word on EdgeX at your local IoT meetup and we’ll provide $250 for your tab.

Closing on the community aspect, while we greatly appreciate our founding and new members and their ongoing contributions and commitment to our cause what’s equally exciting is the activity that most don’t see behind the scenes – hundreds more companies in various forms of engagement spanning active evaluation to building PoCs to even incorporating EdgeX into their commercial products.

Are we there yet?

Speaking of commercialization, customers ask me all the time when EdgeX “will be ready”. My first answer is always this – whenever you package up a version of the code and pick up the phone to offer customer support. But then I expand by saying that I see field PoCs beginning to scale out this summer after the June California release and production deployments increasingly spinning up later this year.

Frankly, the EdgeX code base is more mature today than what a lot of people are hacking together out there for PoCs but at the same time we want to make sure we do things right. Aside from the massive reduction in footprint from the original seed code (more on that later) the biggest inflection point in June will be the addition of key security and manageability features.

From a Dell perspective, we purposely didn’t include much for security in the initial seed contribution because we felt it was important that these features are defined by the community so they’re universally trusted. So, for the past 9 months there has been a global collaboration between security and manageability leaders to define layer upon layer of security modules and management practices with the first wave of functionality from a broader roadmap hitting in June.

And like everything else, the baseline plumbing APIs and reference services for this functionality will be open to enable a variety of best-in-class commercially-licensed EdgeX-compliant plug-ins for security and manageability functionality.

Most importantly, we’re starting to see the EdgeX framework being included in projects by end customers.  I haven’t yet met an end user who doesn’t love the benefits an open ecosystem that provides freedom of choice to make or buy value-added components. Important to any open source project is the commercialization aspect as while many end customers love the benefits of EdgeX they don’t necessarily want to support the open source baseline themselves.

Numerous companies are already launching their own commercially-supported versions of EdgeX together with developer support. I need to stay vendor-neutral here but definitely keep an eye out for more on this front!

Size (and speed) matters.

When Dell started incubating the code that became EdgeX, we were more interested in the right architecture for facilitating and building an ecosystem than optimizing the starting footprint.  As such, our original contribution that was based on Java and some Javascript and Python had a pretty large footprint.

However, the beauty of a microservices framework is that each component can be individually replaced with more compact versions that leverage the same APIs.

Fast forward to now and the Go Lang-based microservice alternatives in last week’s “California-preview” release demonstrate a path to reducing the footprint and boot times by an order of magnitude.

The code is in the GitHub now – download and give it a spin!

The net effect is that soon the full EdgeX stack will run on a Raspberry Pi-class device and of course microservices can be broken apart in any combination to run on even lighter weight devices.

Further, there’s no reason various sections of the code can’t be combined in commercial implementations using the same foundational APIs – it really comes down to a tradeoff of performance over flexibility.

Get on the bus!

In addition to the massive footprint reduction, work is already underway for a message bus option to improve throughput for streaming data between microservices as compared to the current REST-based intercommunication.

This combined with the overall Go Lang work for reducing footprint is driving increased interest across the board. We purposely didn’t start with a high performance, low footprint foundation because it’s important to allow the community to creep up on what’s table stakes for open source versus valuable to make proprietary while still leveraging the common APIs for interoperability.

It’s all about the APIs.

This ability to build proprietary, interchangeable components brings me to one of the first misconceptions that I encounter when I talk with people about EdgeX.

Some think that you have to give away all of your IP because it’s an open source project. However this is far from the case because the EdgeX project has been carefully architected to enable commercial value-add around a lowest-common denominator open source foundation, more specifically the associated APIs.  As such, you don’t have to contribute any value-added functionality you develop to open source, rather you’d just leverage the specified open SDKs and/or APIs to create them if you want to be “EdgeX-compliant”.

The bottom line is that EdgeX is more about the community-governed APIs than the code itself and you can replace every lick of code and still be “EdgeX-compliant” by following the baseline APIs.  So, in the future we’ll see proprietary high-performance versions that use the same foundational EdgeX APIs.  For example, by replacing the current Core Services baseline with a compressed C-based binary you could enable PLCs that can be software-defined with plug-in value add from the ecosystem.

There are many opportunities for proprietary value add beyond the EdgeX foundation spanning functions for real-time operation, workload orchestration, load balancing, failover, redundancy, TSN, security, system management, analytics and device drivers. This ability to monetize within an open, hardware- (e.g. x86, ARM), OS- (e.g. Linux, Windows, Unix, RTOS) and protocol-agnostic ecosystem while minimizing reinvention is what’s driving so much interest in the project.

What’s with that ‘X’?

Clearly “Edge Foundry” plays off of Cloud Foundry but we sometimes get the question “what’s with that X?”

The answer is that the X allowed the project name to be trademarked for use as a future certification mark. We’re targeting a launch of a certification program within the Linux Foundation project early in 2019 and this vendor-neutral effort will enable providers to certify that regardless how much they added to or changed the baseline code for their commercial offering they maintained the specified EdgeX APIs that facilitate interoperability.

Stability for key elements in the certification program (e.g. required APIs and overall process) will be maintained through the EdgeX Technical Steering Committee (TSC) and a versioning system.  This certified value-add can be a full EdgeX-compliant IoT platform, a value-added plug-in microservice(s) or a services model that taps into the APIs.

Imagine your offering accompanied by the EdgeX logo which gives customers the confidence that they can readily plug it into their solution… now that scales!

It’s not just about gateways.

A second misconception I often see is that EdgeX is only about edge gateways.

While it’s most tangible to first talk about the project in the context of gateways because these devices are inherently a place where “south meets north” in an IoT stack, the loosely-coupled microservices architecture enables interoperable value-add to come together across any sort of distributed computing model.

Microservices serving various functions can be deployed in any number of different types of container or VM technologies – all on one device or spread across many devices working together in a broader networked system.

Device Services can be broken out and deployed on capable smart sensors that in turn communicate directly with a server in a datacenter or in the cloud – look ma, no gateway!

Further, we’re starting to see people experiment with the idea of co-processing within one device by running the Core and Export Services on the main host processor and analytics on a co-processor (e.g. GPU or FPGA) for acceleration.

In all cases these functions – whether based heavily on the open source code or 100% net-new proprietary code – can be written in any different programming language and be bound together by the common EdgeX APIs.

Net-net, we’ve had thousands of conversations with partners and end customers regarding the project approach and every day it becomes even clearer how EdgeX benefits end users in the inherently heterogeneous IoT market.

The enablement of distributed computing is what really sets EdgeX apart – there are many great open source efforts out there but there remains to be nothing like EdgeX for facilitating a truly open ecosystem for distributed IoT edge computing.

Putting things in perspective.

The IoT market is messy and there are a lot of solutions looking for problems out there, so as the code takes shape to facilitate grater interoperability we’re also working together to put the project in perspective for valuable real-world use cases.

Samsung is chairing a Vertical Solutions Working Group that will host specific use case-focused projects that drive requirements from end users back into the roadmap in addition to developing and deploying test beds.  They’re organizing one themselves for smart factories and the TSC recently approved a proposal from National Oilwell Varco (NOV) to spin up a project for Oil and Gas.

The working group will host similar efforts for many other industries and use cases and each will be a great way to prove out the platform in real-world settings. Building Automation is likely one of the next efforts to spin up and we encourage you to step forward and collaborate with industry peers on other key use cases spanning transportation to retail to healthcare and beyond.

As things progress we’ll group common paradigms as appropriate (for example needs for remote oil and gas and mining sites are very similar) while recognizing unique needs, ecosystem players and standards by industry.

Last month we launched an effort to post relatable stories about these use cases enabled by EdgeX in online communications.  Stay tuned for more details there.

With that I’ll close for now.  Again, thanks to everyone for their contributions to date and I look forward to what’s in store for 2018!

If you have questions or comments, visit the EdgeX Rochet.Chat and share your thoughts in the #community channel.