Category

Blog

Securing the Edge with EdgeX Foundry’s California Code

By | Blog

The recent EdgeX Foundry release, “California”, was the first to introduce security features built right into the platform. Operating on the edge means deploying hardware and running software outside the confines of well managed data centers, making IoT devices more vulnerable to exploitation by hackers. Our new security features make it easier to keep your data safe even when deploying solutions in insecure or untrusted environments.

The two new security services introduced in this release are the Security Secret Store, and the Security API Gateway. Between them they allow you to safely store sensitive information, such as encryption keys or authentication credentials, and restrict access to the data being processed by EdgeX to only authorized users and applications.

Security Secret Store

The Security Secret Store allows microservices to safely store and retrieve sensitive data that is only accessible after the secret store has been unlocked by an authorized service. Your secrets are encrypted both on disk (Consul backend) and during transport (TLS 1.2) to and from the Security Secret Store, ensuring that only the microservices that are authorized to access it can do so.

EdgeX Foundry uses Vault, by Hashicorp, as the reference implementation of the Security Secret Store. Vault provides a well tested secret storage solution with a failover architecture and flexible levels of control over access.

Security API Gateway

EdgeX Foundry is composed of a number of microservices that communicate with one another using standard networking protocols. This allows for a great amount of flexibility in how you deploy parts of the stack in your solution, but it also directly exposes the microservices to anybody who can connect to them. The new Security API Gateway provides a way for you to restrict outside access to your data by acting as a middleware between external applications and the EdgeX platform, requiring authentication before forwarding commands or read requests on to the relevant microservices.

EdgeX Foundry uses Kong as the reference implementation for the Security API Gateway.

For more information:

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

Part 2: The Evolution of EdgeX’s User Interface

By | Blog

Written by Vinoyang, EdgeX Foundry Technical Contributor and Tencent Big Data Engineer

This is the second part of the EdgeX User Interface blog. The first part of the blog focused on the work that was recently completed. You can read part 1 here. This blog will detail where we are now and where we’re headed with the next code release, named Delhi, later this year.

This blog will be divided into several sections:

1. Prepare for the participation of the community;

As mentioned earlier, the structure of the project is standardized, the details of the README file are enriched, the Make file is provided to improve the ease of use of the project, and the ongoing integration is to verify the validity of the community PR, etc..  All of this work helps insure we are ready to accept contributions from the EdgeX community.

Regarding continuous integration, I have been communicating with Jeremy Phelps of EdgeX Foundry’s DevOps working group. As with all of EdgeX, we hope to use Jenkins as the continuous integration tool for the new UI as well. In addition, we will integrate code quality inspection tools to protect the edgex-ui-go code quality.

2. Persist the data to the database and lay the foundation for subsequent database switching

As mentioned above, the data storage method implemented by edgex-ui-go is simple and a bit crude. It caches data in memory. As we all know, memory is volatile, and once power is lost, all data will be lost. Therefore, we must provide data persistence capabilities for the edgex-ui-go. We hope that the logic of edgex-ui-go maintains a loosely coupled relationship with its database, which will allow edgex-ui-go to switch between different databases according to user needs. So we implemented a data access interface (DAO for existing domain objects), and those who have worked on Java Web development should be familiar with this design pattern. Currently, I am developing a DAO implementation that interfaces with the  MongoDB database.

3. Using a classic three-tier architecture for the web backend

“Control/service/dao” is a classic three-tier architecture for Web backends. Its advantage is to implement a layered structure. We are also refactoring the code to use this design pattern.

4.  Reliable login verification

As we all know, security is a big problem that the Internet of Things faces. EdgeX Foundry also believes security is important. The TSC F2F conference in early June focused on security issues. The Edgex UI landing page may be one of the first and most critical interfaces for users to interact with EdgeX. So, we have to make sure that edgex-ui-go has a logical login authentication function.  I will be working with David Ferriera, chair of the Edgex Security Working Group to select and use one of multiple alternatives to provide user authentication.

5. Integration testing with the GoLang version of the microservices released by EdgeX California

The California version of EdgeX has been released.  The entire EdgeX Foundry community is excited, because this is the first version of EdgeX based on GoLang implementation (I was fortunate to have been a big participant in the development of the first version of EdgeX in GoLang). edgeX-ui-go is currently integrated to the old Java version of the EdgeX microservice. In this next refactoring effort , we are integrating and testing edgex-ui-go with the GoLang microservices. This will help improve consistency, integrity, stability and availability of the entire EdgeX ecosystem in GoLang.

6. Build a Docker image of edgex-ui-go

As with all EdgeX microservices, we need to containerize the edgex-ui-go for easy of deployment.  However, this is a lesser priority in our current work.

7. Fix some remaining bugs

At present, most of the base UI is working, but there are a few bugs to fix.  For example, the device profile cannot be upload as required, but we are working to solve these issues.

The EdgeX UI as part of the Delhi Release and Future Work

So what’s the plan for formally releasing the new UI?  The current work – and all the refactoring, is expected to be released with the Delhi Release of EdgeX (October 2018).

Beyond the current release there is more work to complete.  First, we want to push the front end of edgex-ui-go. At present, the front end of edgex-ui-go can be said to be very rudimentary, and data visualization capabilities are very limited. Currently I am researching and experimenting with an open source and powerful admin template named gentelella. Here is an example of the type of data visualization that gentelella can produce.

The reasons for using this type of UI tool are as follows:

  •      A feature-rich, elegant interface UI that will give user a good first impression of edgex
  •      Easy to use; which is important in a community were very few community members have professional front-end development experience, and most people only have experience in developing back-end languages
  •      A popular template capability that can save a lot of front-end workload, such as interface layout, settings, components (such as login, table, forms, uploads, downloads, etc.), and is created by many people with professional experience

We also hope to add support for more management and visualization of EdgeX itself. At present, edgex-ui-go provides only simple support of device onboarding, export client registration, rule configuration and other functions.  We hope to provide more and improved management capabilities to include better metadata management, scheduler management, log viewing, and more. At the same time, we expect to collect more EdgeX user needs for monitoring and visualization and incorporate those needs into future implementations.

Edgex-ui-go is part of the community effort. If you want to participate in EdgeX UI development, we welcome your comments, suggestions, bug fixes, code contributions and reviews. Find out more on our wiki page here

Or, you can visit EdgeX Rocket.Chat and share your thoughts in the #community channel.

Part 1: The Evolution of EdgeX’s User Interface

By | Blog

Written by Vinoyang, EdgeX Technical Contributor and Tencent Big Data Engineer

This is a two-part blog that introduces a User Interface project in the incubation area of the EdgeX Foundry. This first blog post will disclose some of the work that was recently completed. The second blog will detail the latest developments and plans for this UI project in the future.

edgex-ui-go Refactoring

First, I’d like to thank Huaqiao Zhang from VMware for providing a Java version of the implementation of EdgeX UI. This was a huge milestone as it provided EdgeX with its first user interface:

Based on discussions with him, we decided to follow the EdgeX Foundry direction and use GoLang for the backend EdgeX UI’s operations. This  allows it to more easily operate in more resource constrained IoT edge environments. In fact, Huaqiao recently completed work on an initial GoLang implementation. A screenshot from Github of the initial Go implementation is below.

This version basically matches the capabilities provided by the original Java version. After he provided the initial version, I made a holistic and comprehensive review of the entire project. There were some areas for improvement with the initial version and work that needed be done before the work is ready to be accepted by the community. Here is a list of the improvements that needed to be made:

  • The overall layout and directory structure of this project is not a general practice of GoLang
  • There are common project code normative issues: such as hard-coded, annotated code, inconsistent code format, etc.
  • The project’s README file does not have a detailed description of the project, such as installation, deployment, compilation, and operation instructions
  • Mixed use of console printing and logging
  • Relevant information is stored in memory (volatile storage) and does not provide a database-based implementation
  • Missing a real login verification implementation
  • Lack of continuous integration to support validation of PR validity

Much of the work came from the fact that we first concentrated on simply converting the Java version to GoLang version.  As with much of the EdgeX development team, Huaqiao has just begun to learn the Go language and there was also work to do in order to bring the code into alignment with standard Go idioms, design and practices.

Overall, we corrected more than 25 issues (there are still more than 15 issues that are not outstanding). Now the code base looks like this:

Importantly, we also worked to simplify the getting, building and running of the new UI.  Now even a new EdgeX UI user, one who is completely unfamiliar with GoLang, can run a local version of EdgeX-UI by using a series of make commands.

This simplicity was not there in the initial version.

This blog focused on providing a version of the Golang implementation for edgex-ui and refactoring it so that it matches the functionality of the original Java version but looks more like a Golang project. We’ve made significant progress but the work isn’t over yet. In part 2 of this article, which will post next week, I’ll  introduce where we are now and where we’re headed with the next code release named Delhi later this year.

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

Welcome California!

By | Blog

Written by Jim White, Vice Chair of the Technical Steering Committee and Distinguished Engineer and Project Lead of the IoT Platform Development Team within Dell Technologies IoT Solutions Division

The second major release of EdgeX Foundry is now available!

While EdgeX is only a year old, our community is demonstrating its staying power with the second major release in its first year.  The California release, which follows Barcelona, shows the commitment and dedication of many who see the importance and potential of developing a flexible, open source, IoT software platform for the edge that provides connectivity and interoperability while still allowing value add.

So, what is new with the California release?  A lot! But before we get into the details, I want to highlight that the biggest focus of this release was to introduce a few key security capabilities and to make EdgeX smaller and faster.

Security

EdgeX began its existence without security and organizations wanting to leverage the platform had to add their own security capability. Today, EdgeX incorporates some of the first security elements.  These initial elements, while useful on their own, are essential building blocks to additional security features in the future.

The first security elements include a reverse proxy that helps protect the REST API communications and a secrets store.  With the EdgeX reverse proxy in place – as provided by incorporating an open source product called Kong – any external client of an EdgeX micro service must first authenticate themselves before successfully calling on an EdgeX API.

The secure storage facility was provided by incorporating the open source Vault (Hashicorp) product, and it allows items such as username/password credentials, certificates, secure tokens, etc. to be persisted and protected within EdgeX.  These types of “secrets” will allow EdgeX to, for example, encrypt data, make HTTPS calls to the enterprise, or connect EdgeX to a cloud provider in a secure manner.

Performance and Scalability

The EdgeX Foundry Technical Steering Committee decided early last year in the project’s formation that we would release twice a year – once in April and once in October.  You probably noticed that it’s not April.

Last year, we decided that EdgeX needed to be smaller and faster to better function effectively at “the edge”, which the largely-Java code from the seed donation was going to make difficult. To do this, we needed to rebuild the EdgeX microservices in Go Lang – and do so by our spring 2018 release.  This was not a small endeavor and it was made at a time when the EdgeX Foundry developer community was just coming on board.  We knew it would take a bit more time, but we were committed to this, and added two more months to this release cycle.

The extra time was well worth it!  With the California release, we’ve dramatically lowered the footprint, startup time, memory and CPU usage. Take a look at the statistics below, which compares services from our first community release last October (Barcelona) to our current release (California).

We still have work to do, but it’s now possible to run all of EdgeX on something like a Raspberry Pi 3.

Additional Features

In addition to the initial security capabilities and reducing the size and latency of the platform, this release includes other work – some visible to the user while some features are more hidden but improve the overall quality of EdgeX.

  • Several additions were made to the export services to provide additional “northbound” connectivity, to include connectors for XMPP, ThingsBoard IoT, and Brightics IoT
  • We improved the documentation and now have documentation stored with the code in Github – allowing it to be maintained and updated more like code by the community
  • Arm 64 is now fully supported.  In fact we worked with the Linux Foundation to add external environments and tools to create native Arm 64 artifacts.
  • We added blackbox tests for all the micro services.  These are now kicked off as part of our build and continuous integration processes.
  • Other improvements were made to our continuous integration – to help streamline developer contributions

We invite you to try out the California release today (Docker Compose file here)!  

On to Delhi

Our next release, named Delhi, will come out in October 2018.  Due to the extended release cycle for California, the Delhi release cycle is going to be short. The significant features planned for Delhi include:

  • Initial manageability services and capability
  • Device Service SDKs (Go/C) and at least one example device service
  • The next wave of security features to include access control lists to grant access to appropriate services and improved security service bootstrapping
  • Better/more unit testing and added performance testing
  • Adding the last of the refactored and improved Go Lang microservices
  • Outlining options and a potential implementation plan for alternate or additional database support
  • An EdgeX UI suitable for demos and smaller installations

Come join us!

We would like to thank the talented men and women who are working very hard to turn the vision announced when the EdgeX project launched in April 2017 into the product we see emerge and improve with each release.  In the past six months, we have seen the number of unique authors contributing to the project code base double to more than 50. We hope you’ll consider joining our growing development community to build on this momentum by contributing to the Delhi release as well as using EdgeX in your edge/IoT solutions!

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

Spreading EdgeX Foundry News in Asia

By | Blog

Written by Jim White, Vice Chair of the Technical Steering Committee and Distinguished Engineer and Project Lead of the IoT Platform Development Team within Dell Technologies IoT Solutions Division

Over the past couple of weeks, I have been traveling to China and Japan to attend the LinuxCon/Container Con/CloudOpen (LC3) conference in China as well as IoT meetups for EdgeX Foundry in Beijing and Tokyo.

As the name of the LC3 implies, it was actually 3 conferences in one and thus a full venue of keynotes, sessions and events spread over 3 days.  I was impressed by the overall scope and attendance of the conference. While there was a predominance of Chinese companies and speakers as one would expect, this was a global event with attendees and speakers flying into Beijing from all over the world.

Speaking at the LC3 show were the likes of Linus Torvalds, Chris Aniszczyk (Cloud Native Computing Foundation – CNCF COO), Abby Kearns (Cloud Foundry Foundation Executive Director), Dan Kohn (CNCF Executive Director), and Alan Clark (director for openMainframe and member of the CTO office at SUSE).  I presented a talk to around 50 attendees about using a microservice architecture to address the needs of edge computing – using EdgeX Foundry as an example. You can view the presentation here.

In addition to my talk on microservices and EdgeX, there were 11 talks over the three days in the IoT & M2M track.  A few of the ones I found interesting were:

Tiejun and his team are doing great work on all sorts of IoT-related matters.  I had a chance to visit with them at the VMware Beijing office and got to see one of his experimental robots using EdgeX!

Tiejun also played an integral role in orchestrating an EdgeX Foundry Meetup to occur simultaneously with LC3 – giving even more awareness to EdgeX in China.  Around 40-45 people showed up at the Meetup to hear a great roster of speakers share their experiences with our open source project and EdgeX Foundry member The Zephyr Project. In fact, Professor Yonghua Li from Beijing University of Posts and Telecommunications (BUPT), which is a member of both EdgeX and Zephyr, brought a few of his students along so they could discuss how they are using the EdgeX framework and the Zephyr RTOS in their IoT solutions. You can read more about their work in this blog post.

Another one of the speakers was Huaqiao Zhang from VMware (pictured below) speaking about the EdgeX UI he recently contributed to the project. This will be released with the Delhi release in October. Check out the roadmap.

For those not keeping up on all the EdgeX Foundry news, the Industrial Internet Consortium, (IIC) recently announced the formation of the first Optimizing Manufacturing Processes by AI (OMPAI) testbed and it will be led by Wanxiang Group out of China. Read the blog post here.

China is a global leader in machine-to-machine (M2M) technology, which allows devices to wirelessly exchange information and execute tasks. M2M connections can communicate in various ways, including Wi-Fi, Bluetooth, and cellular. Interoperability is an important piece to this puzzle and I think that’s why there was so much interest in EdgeX Foundry in China. We hope to continue working with our members in China like VMware and the Wanxiang Group to coordinate more meetups and continue spreading awareness for EdgeX Foundry through WeChat. If you would like to be added to the EdgeX Foundry WeChat group, please email info@edgexfoundry.org with your WeChat ID.

Next on the Agenda: Tokyo

While in Japan visiting with a number of Dell Technologies customers, I had the pleasure of presenting at a Tokyo EdgeX Foundry Meetup.  Around 50 people were at this event – making it the most well attended EdgeX Meetup at which I have had the pleasure to present. Even more impressive was the fact that more than half my audience had been up since 3 am that morning to watch the Japanese national team in elimination round of the 2018 World Cup!  Interest in IoT is palatable in Japan – especially for use in the manufacturing sector.

 

The desire to learn more about edge computing and EdgeX Foundry was considerable from the Tokyo IoT crowd with the Q&A portion of my talk lasting almost as long as the talk itself.  The Q&A discussion even spilled over into a great drink/appetizer social afterwards. It was truly an engaging group and a fun afternoon.

Questions from this community included:

-Why did EdgeX chose Go? Because of its multi-platform support, ability to compile to a native executable and run small/fast and its concurrency model among other reasons

– Is EdgeX Foundry involved in standards work? EdgeX Foundry community members are actively involved with Industrial Internet Consortium (IIC), OpenFog Consortium, IEEE and many other industry and consortia groups and will work to be an implementation of edge standards we think are beneficial to the space, but we are not trying to get EdgeX to be a standard.

– Are EdgeX and Edgecross related projects? The Edgecross Consortium is a Japanese-based organization that is currently working on a Windows-based edge platform that members of our community continue to have discussions with, but there is no relation between the two projects today.

Next year, The Linux Foundation announced LC3 will simply be called Open Source Summit China, which will be held in Shanghai. If you’re interested in IoT, open source and more, put the Open Source Summit China or Open Source Summit Japan on your conference list.  I don’t think you’ll be disappointed in what you’ll see and learn there.

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

Michael Hall Joins EdgeX Foundry

By | Blog

Written by Michael Hall, Project Evangelist and Developer Advocate for EdgeX Foundry

This week, I began a new chapter in my career by joining The Linux Foundation as a developer advocate and community manager for the EdgeX Foundry, an open platform for IoT edge computing.

I started using open source before I even knew what it was. Perl was my first programming language, and so installing libraries from CPAN became a routine task (as well as a routine challenge on SunOS). I posted my first open source code on SourceForge soon after, still thinking of it as a way for hobbyists to share their hobby, but not as something serious developers or companies would do. I still remember the feeling I had when Netscape announced that the next version of their browser, Netscape Navigator 5, would be released as open source. As a web developer in the late 90’s, Netscape was the killer app, the king of the hill, the virtual monopoly that was leaps and bounds ahead of IE4. For them to release their source code in a way that let other people see it, copy it, even improve on it, was revolutionary. And it changed forever the way I thought about open source.

Of course, anyone who lived through those turbulent times knows how that Netscape 5 story actually turned out, not because it was open source but because of business decisions and buyouts (thanks AOL!) that kept pulling the development one way and then the other. But my own journey into open source was much more straight forward. I dove in completely, releasing everything I could under an open license, using as much openly licensed software as possible. I bought (yes bought) my first copy of Linux from Best Buy in 1999, and switched my desktop permanently in 2006 when Canonical mailed me a free CD of Dapper Drake. Five years later I would join Canonical myself, and eventually land on the Community Team where I was building new communities and growing existing ones around Ubuntu and all its upstreams and downstreams. Last year, I was doing the same at Endless Computers, bringing the benefits of open technology to users in some of the most remote and disconnected parts of the world.

So, having the opportunity to join the Linux Foundation is a dream come true for me. I’ve seen first-hand how collaboration on common technology leads to more and better innovation across the board, and that is the core idea behind the Linux Foundation.

I’m excited to be joining EdgeX Foundry, which will play a crucial role in developing the way the rapidly expanding number of IoT devices are going to connect and communicate with the already massive cloud ecosystem. I will be working to improve the way new developers get started using and contributing to EdgeX Foundry, as well as teaching new organizations about the benefits of working together to solve this difficult but shared problem. I look forward to bringing my past experiences in desktop, mobile and cloud developer communities into the IoT space, and working with developers across the world to build a vibrant and welcoming community at the network edge.

Follow me at @mhall119  and stayed tuned at @EdgeXFoundry for more. Or, if you have questions or comments, visit the EdgeX Rocket.Chat and share your thoughts in the #community channel.

University Students Leverage EdgeX Foundry and Zephyr OS in New Projects

By | Blog

Written by Professor Yonghua Li with Beijing University of Posts and Telecommunications (BUPT) and active EdgeX Foundry and Zephyr Project member

The Beijing University of Posts and Telecommunications (BUPT) recently became new members of EdgeX Foundry and the Zephyr Project but students studied both projects long before then. In fact, students are currently working on IoT projects that are based on these open source technologies.

The first project uses the EdgeX platform (using the Java micro services) running on a Raspberry Pi. EdgeX Foundry core, supporting and export micro service artifacts were created in Eclipse using Java Maven.  Docker containers were created around the micro service artifacts and deployed to the Pi running Ubuntu 16.04 Linux using Docker Compose. In addition to the EdgeX export, core, and supporting micro services, the students choose to build and deploy an MQTT based device service to ingest sensor data into EdgeX which utilized CloudMQTT as the underlying broker.

For this project, the students used a random number generator to simulate sensor data on the Pi.  The simulated sensor data was passed in with an MQTT messages through the device service (again utilizing CloudMQTT) while receipt messages were sent back out from the device service through another MQTT pipe.  Because of CloudMQTT’s WebSocket user interface, students could easily view the JSON-wrapped random number data enter EdgeX as well as be acknowledged by EdgeX – demonstrating the successful establishment of an IoT edge platform.

EdgeX Foundry uses the random number as messages through the MQTT Microservice, passes it to CloudMQTT, and receives the response again through the MQTT Microservice. CloudMQTT’s WebSocket UI allows you to view JSON random number data and send data to EdgeX, demonstrating the successful establishment of it.

The other project aims to develop a Bluetooth-enabled heart rate monitor based on Zephyr OS, which is ideal for resource-constrained systems and small IoT devices. The system implements heart rate measurement for users and transmits the user’s heart rate data to user’s mobile phone via Bluetooth, so that users can monitor his or her heart rate in real-time.

The system is mainly divided into two parts: hardware and software. The main functions of the hardware is data collection, data transmission and data display. The hardware is designed and implemented centered on the Arduino101 development board. On the other hand, the software is mainly used for data conversion and analysis. The development and implementation of software are performed under Zephyr OS.

If you’d like to learn more about the BUPT student projects, we invite you to join the IoT Meetup on Tuesday, June 26 from 6-9 pm at VMware’s office in China. There is no cost for this event but space is limited, so RSVP is required. Register now https://www.bagevent.com/event/1491965   

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

IIC announces 1st OMPAI testbed based on EdgeX Foundry

By | Blog

Written by Jijun Ma, Member of the EdgeX Foundry Governing Board and Industrial Internet Director at Wanxiang Group

The Industrial Internet Consortium® (IIC) announced the Optimizing Manufacturing Processes by Artificial Intelligence (OMPAI) testbed yesterday. The OMPAI testbed is led by IIC members Wanxiang Group (also a member of EdgeX Foundry) and Thingswise and supported by Dell EMC (a founding member of EdgeX Foundry), Xilinx, China Unicom, and China Academy of Information and Communication Technology (CAICT).

The OMPAI testbed, which is the first testbed based on EdgeX edge computing platform, explores the application of artificial intelligence (AI) and industrial internet technologies, deployed from the edge to the cloud, to optimize automotive manufacturing processes. It also seeks to create an ecosystem that will foster the exchange of IT/AI/OT domain knowledge and the co-development of smart manufacturing applications. For example, deep learning may be able to improve quality assurance of an automobile part to substantially increase the detection of defects and reduce the need for manual inspection.

Vincent Wang, Chief Innovation Officer of Wanxiang Holdings, said, “As a leading multinational corporation in automotive and renewable energy, with factories in Europe, North America and Asia, we believe that an industrial IoT platform will be a key enabler for our digital transformation and global synergy. We are glad to work with technology leaders to validate AI, edge-cloud collaborative computers, and high-speed cellular networks to optimize manufacturing productivity and quality. This is the first step toward an open, inclusive IIoT platform on which we will continue with further testbeds, incorporating new ideas, new data usage models and creating greater value add. We invite worldwide enterprises, innovators and entrepreneurs to enrich the ecosystem together.”

In the edge platform, AI models and edge applications are run for the local optimization of manufacturing processes. In the cloud platform, they are run to enable global and long-term optimization, e.g. across production lines and plants. The edge platform also supports connectivity to and data collection from the equipment while the cloud enables historical data accumulation and storage and supports AI model building.

The cloud computing platform also provides the capability for enabling industrial app DevOps processes supporting collaboration between AI/IT developers and plant engineers in creating, testing and running data/AI model-driven industrial applications. The following image shows the solution overview of this testbed.

Blow are the usage scenarios in our testbed.

Machine vision on-line quality assurance

The main theme of this scenario is to exploit the capability of deep learning in image pattern recognition to improve quality assurance effectiveness and efficiency by increasing defect detection accuracy, reducing dependence on manual inspection and at the end providing online feedback to the production process to reduce defect rate.

Battery Cell Welding Quality Control

In this scenario, it is going to use historical data to analyze the relationship between the welding process and environmental parameters and the product quality and use that to predict in real time quality product and provide recommendation for optimization.

Wheel Bearing Production Line Balance & Optimization

A high throughput discrete manufacturing line usually consists of many workstations involving with various equipment and processes. These workstations may have different production throughput that vary depending on their process parameters. Mismatched throughput between the workstations would impede the overall production line throughput, reducing overall equipment utilization and production capacity.

Big data analytics on data collected from the workstation equipment can be used to monitor production pace of each of the workstations and overall throughput, and to identify bottlenecks and recommend optimization solutions.

Predictive Maintenance of grinding machines

In a manufacturing environment, equipment failures interrupt production lines or cause product quality issues, aggravated by the prevailing condition that few or no spare parts are usually kept for key equipment, e.g., grinding machines and motors, resulting severe reduction of production capacity in the event of equipment failures.

The current solution of “preventive maintenance” relying on periodic manual inspection is ineffective, laborious and interruptive to production. Predictive Maintenance for the equipment enabled by machine learning will be experimented within the general framework to effectively address this common manufacturing issue.

This testbed is open to new innovative ideas and EdgeX Foundry members are welcomed to join us to widely use EdgeX for industrial internet solution.

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

Another Great F2F TSC Meeting

By | Blog

Written by Keith Steele, CEO of IOTech and EdgeX Foundry Board Member and the Chair of the Technical Steering Committee

Last week, we held a Face-to-Face Technical Steering Committee meeting in Palo Alto. It was another successful one and, after each meeting, my confidence grows that the EdgeX Foundry project will achieve great things.

Before reflecting on the week, I’d like to pass on my thanks on behalf of the community to VMware who hosted the event at their wonderful Palo Alto facility. California Burritos from their cool on-site restaurant was a culinary discovery for me!

EdgeX Foundry passed our one-year birthday in April, so from the EdgeX Charter standpoint, we now move from ‘start up’ phase to ‘steady state.’

While the term ‘steady state’ in the Project Charter refers to a transition to TSC members being voted from the contributing community, it’s a bit of a misnomer when you look at the project activity. This F2F TSC meeting demonstrated that EdgeX is far from static as it grew in attendance when compared to the last F2F meeting. More than 40 people showed up in person from all 4 corners of the world and many more joined by phone. We’re still very much in growth phase…

Elections were held for the TSC and we welcome new Working Group chairs Steve Osselton (Device Services, from IOTech), Trevor Conn (Core, from Dell) and David Ferriera (Security, from ForgeRock). Likewise, we thank Salim AbiEzzi, Doug Gardner and Tony Espy for their contributions on the TSC over the past year, all three will remain active participants in the project going forward.

So, on to the meeting…

The main discussion for the meeting was the status of the California Release, which is projected for early July and the roadmap for the Delhi release due in October.

Here’s a short list of what was scoped for the Delhi release:

  • Device Service SDKs in Go and C will be previewed this summer and formally released with Delhi (including some representative device services).
  • Performance targets for EdgeX are already being hit, but performance testing as part of the continuous integration and release process will be incorporated.
  • Support for binary data to be processed by EdgeX for the first time to allow for carrying video images, audio data, and the like.
  • The initial system management functionality will include an API for the management of the micro services and an agent to coordinate with other application/cloud infrastructure.
  • Refactored services to incorporate better isolation to allow for future replacement of infrastructure elements such as the local persistent store or message infrastructure.
  • The addition of an EdgeX UI which will be previewed this summer but officially released with Delhi.
  • Research and design on a new Application Services layer to replace the existing Export Services layer of EdgeX will be published with plans to have implemented with the Edinburgh release (scheduled for April 2019).

Research and recommendations on options for the placement of MongoDB as the included reference database will also be announced with Delhi with the intention of offering changes by Edinburgh release.

I was really impressed with the level of collaboration and cooperation at the meeting as there was fabulous participation from all. If you couldn’t make it, this is a timely reminder that EdgeX Foundry is an open project and the recordings of the meeting can be found here.

One thing we did at this meeting, which I thought worked well, was we held a separate Face-to-Face meeting for the Device Working Group prior to the main meeting. Doing this enabled much deeper technical collaboration on important issues before the main meeting. I think this is something we should formalize into our meeting structure across all groups in future meetings.

Additionally, Samsung sought support for updating the project positioning and received it from the TSC. The suggestion is to avoid branding that suggests EdgeX as a strictly industrial IoT platform, especially since EdgeX can be used in much broader IoT solutions to include enterprise, consumer and mobile edge environments. While we will continue to strive to make the platform suitable for industrial workloads, the project will begin to ensure EdgeX Foundry marketing and literature addresses its broader capabilities.

This will certainly lead to a growth in the scope of the Vertical Working Group activity but market positioning was referred to the EdgeX Marketing group with TSC input provided.

The next F2F TSC meeting will be held in my home town of Edinburgh on October 23-24. You can register here and find more information available on the EdgeX Wiki.

We look forward to collaborating with you there!!

Best Regards,

Keith Steele, TSC Chair

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

EdgeX is now fully ARMed

By | Blog

Written by Gorka Garcia, Active Contributor in the EdgeX Community and Senior Lead Engineer at Cavium Inc.

Cavium joined EdgeX Foundry last year and has been committed to get full support for ARM64 in EdgeX, as we explained in our previous blog post. One common drawback of many open source projects is the lack of both build and test in ARM platforms in their Continuous Integration systems (CI systems). This issue can affect customers – it takes time and effort from their engineering resources to work with open source projects and integrate their platform of choice. This directly affects time to market.

On March 1, the Cavium team reached a very important milestone in the process of having ARM64 support in EdgeX Foundry. We got our first EdgeX ARM64 native build and test in the CI system! Since March 1, this machine has performed more than 700 builds with their corresponding unit tests.

The Linux Foundation, which is responsible for the CI system, helped by running it on an OcteonTX platform in Cavium premises and integrating this OcteonTX platform as a build executor node in Jenkins, the CI system. With their help and comparing what was done for PC, we managed to install all the dependencies and had it working in a short time. Since March 1, this machine has performed 26 build works and there have been 141 snapshots of the ARM images built total.

Moving forward, the EdgeX community will be notified of any changes on the source code that affects ARM64 compilation and testing. The next step in this process will be getting CI system to also perform black box testing in the same platform.

Additionally, Cavium recently announced support for EdgeX on its OCTEON TX® family of products, including the CN80xx/81xx and the CN83xx series. Click here for more details.

For more information:

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