By now, I’m sure you’ve heard the buzz about IoT (the Internet of Things).

‘Start improving the way you do business’, ‘connect with technology’, ‘responsive solutions’, ‘amazing results’.

It’s safe to say that the internet of things along with smart connected enterprises have easily become technology’s theme of the year.

Businesses everywhere have started to look at how they can make more money by inserting this “IoT” thing into their business processes.

The truth behind your success and IoT:

No matter where your journey begins with IoT, it’s essential to recognize good business models rely on technological processes, but technology on its own is not enough.

When it comes to IoT and connected business model innovations, if you don’t have a solid business case, you’re not going to have success.

A connected strategy is about business and business transformation. It’s not just about the technology, it’s about using technology as an enabler.

It’s important to realize there is no value in your IoT platform alone. The real value for you, the success of your business case, lies within your application.

The future is smart and connected. 

Whether you choose to build connected solutions into existing products, enter new markets, change your business model, or connect your manufacturing floor; you need to be ready.

Transforming the way you connect with your products, organization, and customers all starts with smart connected design and the right Internet of Things (IoT) platform. The right platform allows you to connect and scale your business.

This is exactly what our company specializes in, in fact we have even created a dedicated connect services team to design and implement custom connected strategies for any organization.

Being able to monitor a product from design into manufacturing, throughout its complete lifecycle makes it possible to improve product quality, increase production, reduce costs, and even predict failures. 

Building a smart connected strategy that works for you:

Integrating company initiatives with the Internet of Things needs a strategy, this is what we are here for.

Our connect services team works with your organization to deliver workshops, prescribe technology solutions, and create an IoT strategy that coincides with your company initiatives.

We want to help you define a strategy that makes a connection between your products and operations that already exist within your company and the smart, connected world that we live in today.

We tend to operate our businesses like we’re playing a game of telephone…and it’s costing us all money.
You don’t have to be a genius to know that within many companies’ sales, marketing, and R&D teams serve separate functions. With different goals, targets and initiatives these teams tend to collaborate among themselves using the same system of record.

For example, within the same company, a department may rely on Product Lifecycle Management (PLM) systems while others may depend on Enterprise Resource Planning (ERP), Manufacturing Execution System data (MES), and Quality Management Systems (QMS).

Marketing, Management, Purchasing, Engineering, Technical Publications and manufacturing all need to operate off product designs and Bill of Materials (BOM), but while doing so people are likely to interrupt engineering to get information.

With this information they ask different questions, have different intentions, and speak different departmental languages.

The reality is; this inaccessible data is about the same product that happens to be housed in a system you can’t normally access.

By resorting to these misaligned processes, we end up operating on data without its entire context, therefore we lose productivity to requests for data and the switching costs of changing tasks.

Besides, these interruptions are generally counterproductive, especially when you’re working on one task and you’re interrupted regarding a completely different topic.

Without a single means to bridge these systems, your company is missing out on valuable information, time savings, and productivity.

We live in a world where siloed departmental communication doesn’t need to be the norm, after all technology is just about everywhere!

By integrating your critical data into a centralized location, your organization will increase visibility, and achieve better, more informed business decisions.

With technology that exists today, your separate departments can pull data from multiple systems into easy role-based dashboards, providing greater visibility and enhanced analysis.

The result is a rapid way for your team to get data from the vast data pool within your organization, and access it in an easy to consume space.

One of the ways we transform the way companies design, manufacture, connect, and service their products is by value stream mapping ‘Product Development Systems’ and looking for ways to ensure people have access to the information they need when they need it.

Tools like Thingworx Navigate, for companies invested in PTC’s Windchill solution, or the standard Thingworx platform and PLM Apps for those that aren’t, are helping companies pull information from different departments, systems, vendors, etc. to make sure every role has a simplified view of the information they need, when they need it, without slowing down any other departments.

Remember in 1977 when Ken Olson, the founder of Digital Equipment Corporation said, “there is no reason anyone would want a computer in their home”? Boy was he wrong. Not even a leader in the technology industry could predict how quickly our usage of technology would change.

If you don’t make an effort to keep up with the fast pace of technology; you will fall behind. It’s critical that you proactively embrace and move towards digital processes to ensure that future products better meet the needs of customers.  

What better way to keep up with the future than making highly accurate product performance and behavior predictions with the right design tools? 

PTC developed a Creo extension called Creo Product Insight. It lets designers and engineers incorporate the latest sensor technology into their designs.

What is Creo Product Insight?

Creo Product Insight captures and analyzes product data from live sensors on prototypes and products directly within your CAD model. This tool produces a digital twin, an exact replica of a physical prototype in a virtual CAD model, to mirror the performance of a product under real-world conditions.  

How does it work? You add digital sensors from a library directly into your CAD models in Creo. Then you connect them to the data streams from physical products. Whether you’re looking to get more value out of your prototypes, design smart connected products, or use data to improve the quality of existing products, the Creo Product Insight Extension allows you to design smarter. 

So how are organizations keeping up with the digital transformation with the Creo Product Insight Extension?

Improving New Product Design

When you’re improving new product design you’re most likely basing your design decision on assumptions and historical data. This puts you in a difficult spot because you may not have up-to-date-information which may cause inaccurate solutions and error-prone results. 

Creo Product Insight Extension | EAC Product Development Solutions
Sensor data from CAD model shown in picture above

Creo Product Insight allows you to validate design assumptions using real-world data from the field directly in Creo’s simulation and analysis tools. Using this extension also decreases your reliance on building prototypes because it gives you live product performance and behavior. 

Improving Existing and Next-Generation Product Designs 

The absence of real-world product data stunts the optimization of current and future products. If you had access to real-world data, you would be able to validate design criteria against customer usage data and mitigate risk of product failure, warranty, repair, and liability. 

With Creo Product Insight and ThingWorx you can analyze field data and provide meaningful information back to engineering. Using real-world data allows you to identify opportunities for new products in the market and understand over and under engineered designs to reduce product life cycle costs. 

Improving Smart Connected Product Design 

The lack of specialized tools that support smart connected products puts you at risk of falling behind the digital transformation process. When sensors and a strategy to capture real-live data are disconnected from your design process there is no way to deliver the value that your customers deserve out of their products.  

Creo Product Insight gives you the ability to optimize sensor replacements, choose a sensor type, and validate data capture requirement during the design process. The extension creates an integrated design process that delivers optimal value from smart connected products.  

Creo Product Insight Digital Twin | EAC Product Development Solutions
Digital Twins bring value to design engineers by showing one twin’s real-world data synced into its other twin’s CAD model datatracking product performance along the way

Creo Product Insight Capabilities and Benefits

Capabilities:

  • Reuse and instrument released designs
  • Embed sensors into new designs
  • Connect CAD models via digital twins to real-world data
  • Use real-world sensor data in CAD design
  • Integration with ThingWorx, the world’s leading industrial IoT platform
  • Prepare for Product as a Service

Benefits

  • Eliminate manual workflows to use real-world sensor data in design
  • Optimize products to real-world conditions
  • Ensure that future products better meet the needs of customers
  • Creo analyses outside of the design office
  • Decrease reliance on physical prototyping

Creo Product Insight Licensing and Creo Version Capabilities

The Creo Product Insight is an add-on extension that is available for subscription licensing only. You do not need ThingWorx to use this extension – although using ThingWorx with it will fully optimize your results.

“Physical” Sensors – Creo 4 (M020):

  • Easily define and place ‘measure’ sensors by adding physical sensors to Creo Assemblies
  • New Instrumented sub-type to protect reused/released design data
  • Associated parameter and input definitions and associated calculations
  • Define (physical) calculating sensors (M020) to report analysis results (center of gravity, mass, area, etc.)

UX Sensors – Creo 4 (M030 & M040):

  • Connection to ThingWorx to support reporting analyses results (M040)
  • Run Creo analysis using Behavioral Modeling, Simulation, and Mechanism Dynamics (M040)
  • Read real-world data from ThingWorx (or CSV data file) and use input variables to run analyses and report results back to data tables

“Virtual” Sensors – Creo 4 (M050):

  • Specialized Virtual sensor handling – (excluded from BOM, meshing, and graphics)
  • Directly connect and read sensor data from file or ThingWorx
  • Use real-world sensor data to drive simulations
  • Creo as a Service from ThingWorx (M050)
  • Save/Export analysis results together with input values back to data file

Get live data from CAD models

Download the Creo Product Insight datasheet or watch this webinar replay to learn more and see if your organization could benefit from collecting live data directly within your CAD models. I’m willing to bet it can.

It’s no wonder people like you are researching ways to reduce downtime. A 2016 ITIC survey found 98% of organizations said a single hour of downtime cost over $100,000. 81% of respondents said an hour of downtime cost their organization over $300,000!

Remote monitoring, remote diagnostics, and predictive analytics are helping organizations reduce downtime. They’re transforming the way companies manage and service their manufacturing operations. As Gary Wollenhaupt calls out in his article about how IoT Slashes Downtime with Predictive Maintenance; manufacturing machinery and other assets can now be connected to the industrial internet of things. Predictive maintenance will begin to replace scheduled maintenance based on mileage, time, usage, or other predictive measures.

We now have the ability to digitally peer into the inner workings of an asset to understand performance, tolerance, temperature, or any number of other factors that can be measured using sensors and device networks. When harnessed, this data is the is the answer to the question being asked by many organizations – “How do I reduce downtime and increase productivity?”

There are many tools on the market to collect the data streaming from sensors and turn it into useful information. We recommend PTC’s suite of industrial connectivity / Industrie 4.0 solutions. We’re not alone. Forrester Researched named PTC and IoT Software Platform Leader and PTC’s ThingWorx was named a leader in “IDC MarketScape: Worldwide IoT Platforms (Software Vendors) 2017 Vendor Assessment.” PTC’s integrated solution suite includes ThingWorx, Vuforia, Kepware, and others.

Our team of solution architects and technical experts can help define and implement the solution(s) you need. We want to help you begin remotely monitoring your assets, whether manufacturing or remotely deployed (products), and leverage predictive analytics to reduce downtime and save money. It may involve a custom solution set, or it could simply be PTC’s eacy-to-deply Manufacturing Apps.

EAC is here to take on as much or as little of your project as necessary. We can simply provide the software for your own team to implement. Or we can manage the entire process from installation, to implementation, to integration and front-end development.

Please contact us. We want to help you leverage technology to reduce downtime and improve your bottom line.


Here is a better description of the solutions mentioned above:

The ThingWorx platform includes compatible modules that deliver the functionality, flexibility, and agility enterprises need to implement industrial IoT apps and AR Experiences. This includes industrial connectivity, analytics, and application enablement. ThingWorx is unrivaled in its ability to help companies quickly connect data streams and publish dashboards or mashups.

Kepware is a single solution for collecting, aggregating, and providing secure access to industrial operations data. The ThingWorx Native Interface integrates the Kepware KEPServerEX with ThingWorx easily and securely. This integration lets organizations take data streams from almost any manufacturing asset and present it in a useable format. The Kepware family also offers a predictive analytics engine in addition to other Machine-to-Machine (M2M) and Data Tunneling solutions.

Vuforia is PTC’s solution for creating rich augmented reality experiences for applications such as work instructions, user training / manuals, asset monitoring, and service instructions. It lets users leverage the richness of 3D and insights from IoT to deliver compelling augmented reality experiences the help improve efficiencies, build better products and enable safer, more productive workers.

One of the great aspects of ThingWorx is the ability to connect disparate data silos to a central IoT hub. Many of these silos are made accessible through Web APIs. RESTful Web APIs enable developers to pull data from an inexhaustible number of sources around the web; often using nothing but a HTTP URI. Salesforce has an extensive REST API that can be accessed through ThingWorx. This blog will introduce you to creating a “Connected App” on Salesforce, authentication using username and password in ThingWorx, adding records to Salesforce, and finally modifying records. For a detailed description of Salesforce’s REST API, visit https://developer.salesforce.com/page/REST_API

Step 1 (Optional): Obtain a Developer Environment with Salesforce.com

If you do not already have a Salesforce account, navigate to https://developer.salesforce.com/platform/force.com and sign up for a free developer environment. It only takes a few minutes and you get a fully functioning Salesforce instance that you can freely develop in.

Step 2: Obtain a Security Token

You’ll need a security token to authenticate with a username and password. If you don’t already have one, or can’t dig it up from previous emails, you’ll need to reset the token.

Resetting the Token

1.    In the upper right-hand corner of your Salesforce page, click on your name and select “My Settings”

2.    On the left-hand menu, select “Personal”

3.    Under “Personal,” select “Reset My Security Token”

4.    Follow the directions on the page and you will receive a new security token via email

Step 3: Create a Connected App

To use the REST API, we’ll need to create a connected app that gives us a “Consumer Key” and a “Consumer Secret”.

Creating the Connected App

1.    Click on “Settings” in the upper right of your Salesforce screen

2.    On the left side, navigate to “Build” > “Create” > “Apps”

3.    Under the “Connected Apps” section, select “New”

4.    Fill out the fields as shown below. A callback URL is required but we won’t really be referencing it anywhere in ThingWorx. There is a great article on using Postman to test out REST calls with Salesforce at https://blog.mkorman.uk/using-postman-to-explore-salesforce-restful-web-services/ . The callback URL is used in the examples when authenticating in Postman.

5.    Click “Save.” You will get an alert that your connected app will take 2-10 minutes to take effect.

6.    After you click “Save,” you’ll see the “Consumer Key” and “Consumer Secret.” Copy those somewhere to use in ThingWorx.

Step 4: Authenticate Salesforce Session in ThingWorx

In this step, we’ll create a service in ThingWorx that returns a JSON for us to use in our other Salesforce requests.

1.    Create a service inside your Thing called AuthenticateSalesForce. I have a “TestThing” that I’ve created where I can try out new services without disrupting any of my live projects.

2.    Choose the “STRING” type for the result output, no inputs are needed unless you want to have the end user input their username and password. After we test functionality, we’ll change the output type to “JSON”

3.    Enter the following code, which is just the POST JSON function in the ContentLoaderFunction resource.

var params = {

                 proxyScheme: undefined /* STRING */,
                 headers: undefined /* JSON */,
                 ignoreSSLErrors: undefined /* BOOLEAN */,
                 useNTLM: undefined /* BOOLEAN *
                 workstation: undefined /* STRING */,
                 useProxy: undefined /* BOOLEAN */,
                 withCookies: undefined /* BOOLEAN */,
                 proxyHost: undefined /* STRING */,

url: "https://login.salesforce.com/services/oauth2/token?grant_type=password&client_id=&client_secret=&username= &password=" /* STRING */,

                 content: undefined /* JSON */,
                 timeout: undefined /* NUMBER */,
                 proxyPort: undefined /* INTEGER */,
                 password: undefined /* STRING */,
                 domain: undefined /* STRING */,
                 username: undefined /* STRING */

};

// result: JSON
var j = Resources["ContentLoaderFunctions"].PostJSON(params);

var result = j.access_token;

4.    Enter the consumer key, consumer secret, username (use %40 for the ‘@’ symbol), and password plus security token (enter your password and security token with no spaces between the two)

5.    Select “Done” on your service, save your Thing, and test the service. You should receive a session token like the one seen below:

6.    If nothing shows up, either the Salesforce server hasn’t activated the app, or there may be an issue with the URL. If you copy and paste the URL into PostMan, you should get an error message that clarifies the issue.

7.    When you’re getting an access token as the result, edit your service, change the result type to “JSON,” delete the last line (the “var result = j.access_token” line”), and modify the end of the service to now read:

// result: JSON

var result = Resources[“ContentLoaderFunctions”].PostJSON(params);

Step 5: Create a record in Salesforce

In this step, we’ll create a new account within salesforce using our new authentication service and a REST call utilizing the ContentLoaderFunctions.

1.    Create another new service in your Thing and call it AddSalesForceAccount. 2.    Create an input and call it AccountName. The type is “STRING” 3.    Type in the following code:

var authJSON = me.AuthenticateSalesForce();

var token = authJSON.access_token;
var instance_url = authJSON.instance_url;

var url = instance_url + "/services/data/v20.0/sobjects/Account/";

var authString = "Bearer " + token;
var headers = {
   "authorization" : authString,
   "content-type" : "application/json"
};

var content = {
 "Name" : AccountName
};

var params = {
                 proxyScheme: undefined /* STRING */,
                 headers: headers /* JSON */,
                 ignoreSSLErrors: undefined /* BOOLEAN */,
                 useNTLM: undefined /* BOOLEAN */,
                 workstation: undefined /* STRING */,
                 useProxy: undefined /* BOOLEAN */,
                 withCookies: undefined /* BOOLEAN */,
                 proxyHost: undefined /* STRING */,
   url: url /* STRING */,
                 content: content /* JSON */,
                 timeout: undefined /* NUMBER */,
                 proxyPort: undefined /* INTEGER */,
                 password: undefined /* STRING */,
                 domain: undefined /* STRING */,
                 username: undefined /* STRING */
};

// result: JSON
var result = Resources["ContentLoaderFunctions"].PostJSON(params);

4. Test the service. Enter a unique account name and verify that it shows up in Salesforce.

Step 6: Retrieve a Record ID

To modify a record, the record ID must be used to reference the object of interest. We can make a request to Salesforce to return relevant records using an SOQL query. This example will cover retrieving the record ID of the account we just created in the last step.

1.    Create a new service in your Thing

2.    Create an input and call it AccountName. The type is “STRING”

3.    Type in the following code:

var authJSON = me.AuthenticateSalesForce();


var token = authJSON.access_token;
var instance_url = authJSON.instance_url;

var url = instance_url + "/services/data/v20.0/query/?q=SELECT+name+FROM+Account+WHERE+name+=+'" + AccountName + "'";

var authString = "Bearer " + token;
var headers = {
   "authorization" : authString,
   "content-type" : "application/json"
};




var params = {
                  proxyScheme: undefined /* STRING */,
                  headers: headers /* JSON */,
                  ignoreSSLErrors: undefined /* BOOLEAN */,
                  useNTLM: undefined /* BOOLEAN */,
                  workstation: undefined /* STRING */,
                  useProxy: undefined /* BOOLEAN */,
                  withCookies: undefined /* BOOLEAN */,
                  proxyHost: undefined /* STRING */,
                  url: url /* STRING */,
                  timeout: undefined /* NUMBER */,
                  proxyPort: undefined /* INTEGER */,
                  password: undefined /* STRING */,
                  domain: undefined /* STRING */,
                  username: undefined /* STRING */

};




// result: JSON
var j = Resources["ContentLoaderFunctions"].GetJSON(params);

var result = j.records[0].attributes.url;

4. Give the service a name and test it. The output of this service is a url that can be appended to the instance_url that is returned in the response from the Authentication service.

Step 7: Modify a Record

Using the output from our last service, we can now easily modify the fields of the record ID that we just retrieved. Keep in mind, if you create a custom field and you want to modify its value, add a “__c” to the end of the field name (denotes custom field).

  1. Create a new service in your Thing
  2. Let’s give it a few “STRING” inputs: field, stringValue, and AccountName
  3. Input the following code:
var authJSON = me.AuthenticateSalesForce();

var token = authJSON.access_token;
var instance_url = authJSON.instance_url;

var stringJSON = '{"' + field + '":' + stringValue + "}";


var params = {
                  AccountName: AccountName /* STRING */
};

// result: STRING
var object_url = me.RetrieveSalesForceAccountRecordID(params);

var url = instance_url + object_url + "?_HttpMethod=PATCH";
var authString = "Bearer " + token;
var headers = {
   "authorization" : authString,
   "content-type" : "application/json"
};

var content = JSON.parse(stringJSON);

var params = {
                  proxyScheme: undefined /* STRING */,
                  headers: headers /* JSON */,
                  ignoreSSLErrors: undefined /* BOOLEAN */,
                  useNTLM: undefined /* BOOLEAN */,
                  workstation: undefined /* STRING */
                  useProxy: undefined /* BOOLEAN */,
                  withCookies: undefined /* BOOLEAN */,
                  proxyHost: undefined /* STRING */,
                  url: url /* STRING */,
                  content: content /* JSON */,
                  timeout: undefined /* NUMBER */,
                  proxyPort: undefined /* INTEGER */,
                  password: undefined /* STRING */,
                  domain: undefined /* STRING */,
                  username: undefined /* STRING */
};
// result: JSON
var result = Resources["ContentLoaderFunctions"].PostJSON(params);

 

A Note About Security

Salesforce has a few ways to authenticate your session.  The method described in this blog is the least secure way because ThingWorx has visibility to the username and password of the Salesforce account.  There are two other ways to authenticate and both use callback URLs.  Basically, a user sends a call to the login endpoint and enters user and password information directly into the Salesforce environment.  Salesforce then redirects to a callback URL that is appended with an authorization token.  If you’d like to implement one of the more secure methods, I would suggest using a REST endpoint to a ThingWorx service as your callback URL. More specifically, create a service that has a string input called “code.” Now, change your callback URL in your Salesforce connected app to something like https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=&redirect_uri=>.  Now, when you navigate to the login link, it will send your authorization code to your ThingWorx service (this is because it appends “&code=” to the URL).  You’ll need to then send that code via the Content Loader Functions to receive your authorization token.  One thing to note is that the ThingWorx instance must be on HTTPS.  Salesforce does not allow HTTP callback URLs.  More information about Authentication can be found at https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_authentication.htm

If you have any questions about this blog or ThingWorx in general, don’t hesitate to leave a comment or contact EAC Product Development Solutions.

What if a bartender knew exactly when one of their kegs was about to tap out just by looking at a volume meter on an app on their phones? Their bar back could switch out the keg before impatient patrons demand more. What if liquor shelves had weight sensors that measured when someone adds or removes liquor? Or an app on a phone existed that notified management when and what liquor is moved? Or better yet, a storage system that communicates with the front bar, knows which liquor is being moved, and manages inventory according to actual usage? Inventory would be a lot more accurate and there would be less time spent trying to figure out what needs to be in the next order.

When smart connectivity allows for a smoother restaurant or brewery experience, you’re most likely going to have a better time without realizing it had anything to do with the Internet of Things (IoT). For businesses, IoT solutions are creating more opportunities to connect products with the Internet. And for the average consumer, IoT solutions are creating easier access and control of products through smartphones, tablets, and desktops.

Four Ingredients of Beer

Leaders are investing in an IoT strategy as they plan the future success of their products and services. You can add smart connectivity to your products – even if you’re in the beer industry.

Here are a few industry leaders that leverage the Internet of Things to drive their success.

Deschutes Brewery

Headquartered in Bend, Oregon, Deschutes Brewery has been making craft beer since 1988. You may be familiar with their rich porter Black Butte created with hints of chocolate and coffee or their Fresh Squeezed IPA brimming with grapefruit enriched hops.

The Deschutes team partnered up with a consultant group and Microsoft last year in efforts to improve their brewing process. With a total of nine brewing phases, each phase has to be closely watched to maintain the quality of their beer. Machine learning is the application of artificial intelligence that provides systems the ability to automatically learn and improve from experience without being programmed. Deschutes has implemented machine learning and predictive analysis to automate and improve their fermentation processes. When pairing IoT sensors with the Cortana Intelligence Suite, Microsoft’s predictive learning software, the analytics tool determines the percentage of beer fermented in each batch and predicts when it’s time to switch to the next phase. The Deschutes team can now accurately schedule the nine brewing phases accordingly to ensure the quality of beer is consistent with all of their batches.

EAC IoT Tree

Connecting the beer tank sensors with machine learning gave Deschutes an IoT solution and allowed them to improve their brew processes. Deschutes reduced their fermentation process by 24-48 hours. They are now able to focus more time on creating new brands and maintaining the quality of the existing ones. Deschutes is looking at furthering the use of this smart, connected technology by looking into using it for preventive maintenance for their equipment so that brewers would be alerted if parts are due for service or replacement.

Buffalo Wild Wings

Buffalo Wild Wings, headquartered in Minneapolis, MN, is a popular sports bar that has an average of 24-32 beers on tap. Due to major growth of the company and being one of the top 10 fastest-growing restaurants in the U.S., BWW needed to keep up with the growing demand of their customer’s needs. The company faced two major challenges. Both challenges prompted the need to leverage technology and the Internet of Things for an improved operational efficiency.

The first challenge was that they needed to eliminate the product loss that results from comping drinks, excessive or bad pours, and generous bartenders that give beer away without entering the sale in the system. BWW implemented a system called BeerBoard that monitors beer flow data from IoT sensors in the taps to Mulesoft, an Enterprise Service Bus (ESB), where managers can compare beer output to sales information pulled from their Aloha point-of-sale systems. Restaurant managers can accurately determine whether they are running an effective beer operation with the help of the IoT solution found from linking the sensors to BWWs data management systems.

Their second challenge was managing the demand of the assortment of beers for each location all year round. BWW used BeerBoard’s new SmartBar beer management platform to switch and assign new beers corresponding to tap lines. Pour data and sales data would be captured through the platform where all BWW restaurants would have access to the reports to measure performance of each beer. The ability to gain beer preference insight brought a powerful competitive advantage to Buffalo Wild Wing’s brand and reputation.

By working with a few different companies that provided the IoT flow sensors and a software solution to manage their data, BWW started to accurately predict preferences and optimize inventory planning. The company now leverages the Internet of Things to accurately track beer consumption.

How to Bring Your Products to Life with the IoT

Race up the learning curve and find a partner that’s driven to find and implement the right IoT solution for your unique business. Make sure they have the engineering expertise necessary to bring your products to life. EAC Product Development Solutions is a company that transforms the way companies design, manufacture, connect to, and service their products. EAC is on a mission to help companies innovate, optimize, and win in the marketplace by selecting the right IoT solution — like PTC ThingWorx. With ThingWorx allows organizations to connect their products to the Internet and give customers the tools they need for easy access and control.

Ready to dive in? Our team of specialists, engineers, and developers would love to help you bring a working proof of concept to life. The demo application image below is an example of how our engineers can use ThingWorx to pull together data from many sources and deliver data to your fingertips. The demo shows how a local brewery can use the app to access plant conditions, truck tracking, order tracking, weather forecasting, collaboration, and beer tasting — all in real-time simulation.

ThingWorx Brewery Demo

Watch our Connect Services video to see how our engineers can connect your products with the Internet of Things!


Knowledge is power. Keep track of your data if you’re not doing it already. You’re bound to learn something from it. Better yet – apply smart connectivity to your process. Contact our Design and Engineering Services at EAC Product Development Solutions to realize your product potential and to find your IoT solution.

Download Brochure

Download our free Connect Services Brochure to see how you connect your products to the internet for a smarter technology solution.