IoT & Connectivity Tips | ThingWorx & Kepware PTC
Recently active
Design and Implement Data Models to Enable Predictive Analytics Learning Path Design and implement your data model, create logic, and operationalize an analytics model. NOTE: Complete the following guides in sequential order. The estimated time to complete this learning path is 390 minutes. Data Model Introduction Design Your Data ModelPart 1Part 2Part 3 Data Model ImplementationPart 1Part 2Part 3 Create Custom Business Logic Implement Services, Events, and SubscriptionsPart 1Part 2 Build a Predictive Analytics Model Part 1Part 2Operationalize an Analytics Model Part 1Part 2
Connect and Monitor Industrial Plant Equipment Learning Path Learn how to connect and monitor equipment that is used at a processing plant or on a factory floor. NOTE: Complete the following guides in sequential order. The estimated time to complete this learning path is 180 minutes. Create An Application Key Install ThingWorx Kepware ServerConnect Kepware Server to ThingWorx FoundationPart 1Part 2Create Industrial Equipment ModelBuild an Equipment DashboardPart 1Part 2
Get Started with ThingWorx for IoT Guide Part 5Step 13: Extend Your ModelStep 14: Next StepsGet Started with ThingWorx for IoT Guide Part 5 Step 13: Extend Your Model Modify the application model, enhance your UI, and add features to the house monitoring application to simulate a request as it might come from an end user. For this step, we do not provide explicit instructions, so you can use critical thinking to apply your skills. After completing the previous steps, your Mashup should look like this: In this part of the lesson, you'll have an opportunity to:Complete an application enhancement in Mashup BuilderCompare your work with that of a ThingWorx engineerImport and examine ThingWorx entities provided for download that satisfy the requirementsUnderstand the implications of ThingWorx modeling options Task Analysis Add a garage to the previously-created house monitoring web application and include a way to display information about the garage in the UI. You
Get Started with ThingWorx for IoT Guide Part 4Step 10: Display DataStep 11: Simulate a Data SourceStep 12: Test ApplicationGet Started with ThingWorx for IoT Guide Part 4 Step 10: Display Data Now that you have configured the visual part of your application, you need to bind the Widgets in your Mashup to a data source, and enable your application to display data from your connected devices. Add Services to Mashup Click the Data tab in the top-right section of the Mashup Builder.Click on the green + symbol in the Data tab. Type MyHouse in the Entity textbox.Click MyHouse.In the Filter textbox below Services, type GetPropertyValues.Click the arrow to the right of the GetPropertyValues service to add it. Select the checkbox under Execute on Load.NOTE: If you check the Execute on Load option, the service will execute when the Mashup starts.8. In the Filter
Get Started with ThingWorx for IoT Guide Part 3Step 7: Create Alerts and SubscriptionsStep 8: Create Application UIStep 9: Add WidgetsGet Started with ThingWorx for IoT Guide Part 3 Step 7: Create Alerts and Subscriptions An Event is a custom-defined message published by a Thing, usually when the value of a Property changes. A Subscription listens for a specific Event, then executes Javascript code.In this step, you will create an Alert which is quick way to define both an Event and the logic for when the Event is published. Create Alert Create an Alert that will be sent when the temperature property falls below 32 degrees.Click Thing Shapes under the Modeling tab in Composer, then open the ThermostatShape Thing Shape from the list. Click Properties and Alerts tab.Click the temperature property.Click the green Edit button if not already in edit mode, then click the +&
Get Started with ThingWorx for IoT Guide Part 2Step 4: Create ThingStep 5: Store Data in Value StreamStep 6: Create Custom ServiceGet Started with ThingWorx for IoT Guide Part 2 Step 4: Create Thing A Thing is used to digitally represent a specific component of your application in ThingWorx. In Java programming terms, a Thing is similar to an instance of a class. In this step, you will create a Thing that represents an individual house using the Thing Template we created in the previous step. Using a Thing Template allows you to increase development velocity by creating multiple Things without re-entering the same information each time.Start on the Browse, folder icon tab on the far left of ThingWorx Composer.Under the Modeling tab, hover over Things then click the + button.Type MyHouse in the Name field.NOTE: This name, with matching capitalization, is required for the data simulator which will be imported
Create Your Application Guide UI Part 5Step 7: Test Your GUIStep 8: Next Steps Create Your Application Guide UI Part 5 Step 7: Test Your GUI At this point in the lesson, your Mashup now contains:Graphics to represent dataDataLogical connections between the graphical elements and the data Run Application Execute the following steps to test that your application works as expected.Click the View Mashup button at the top.You may have to disable your pop-up blocker to load the Mashup in a new browser tab. 2. Wait and observe the Mashup for at least 20 seconds, clicking the Manually Retrieve Counts button regularly.NOTE: The values in the Mashup will increase roughly every 10 seconds, after you press the button to manually retrieve them. This happens because the Thing you imported earlier is simulating data and the work already done by the Edge and Backend Developers in this scenario. In this simulation, different production lines are c
Create Your Application Guide UI Part 4Step 6: Apply ServicesAdd Data ServicesGetPropertyValuesSetPropertiesManual Data Retrieval Create Your Application Guide UI Part 4 Step 6: Apply Services You now have an idea of what your Mashup will look like, but without Data Services, it won't accomplish anything productive. In the following steps you'll apply Mashup Data Services to the Widgets. Add Data Services Click the + button in the top-right in the Data tab. In the Entity Filter field, search for and select MBQSThing.In the Select Services field, search for and select GetPropertyValues.Check the Execute on Load checkbox for GetPropertyValues.In the Services Filter field, search for and select SetProperties.In this case, you WILL NOT check the box for Mashup Loaded? because we do not want to call this Service upon initial Mashup load.6. Click Done.Both the Ge
Create Your Application Guide UI Part 3Step 5: Add Widgets to MashupScenarioCreate the MashupAdd LabelsAdd TextBoxesAdd CheckboxesAdd ButtonsResize the Mashup Create Your Application Guide UI Part 3 Step 5: Add Widgets to Mashup At this point, you should have an understanding of how the Widgets in your Mashup relate to the data from devices you've connected via the ThingWorx platform. Scenario Now, let's try to imagine a real-world scenario. For this example, assume that you are in a company developing an IoT application utilizing ThingWorx Foundation. Developer RoleResponsibilityEdge DevelopersUtilize the Edge MicroServer, Software Development Kits, or ThingWorx Kepware Server to connect devices and bring data into the platform.Backend DevelopersCreated Things, Thing Templates, and Thing Shapes to store and manipulate the data within ThingWorx Foundation.Frontend DeveloperTasked with taking the IoT data and creati
Create Your Application Guide UI Part 2Step 4: Bind Data to WidgetsImport an EntityRetrieve DataView Data ConnectionsCreate Your Application Guide UI Part 2 Step 4: Bind Data to Widgets Mashup Data Services allow you to access IoT data so you can push data to the platform's backend as well as pull data into the Mashup itself. In the table below, we describe some common Mashup Data Services that enable that functionality:Service NameDescriptionGetPropertiesPulls in a particular Thing's Properties, as well as the associated current values contained within those Properties. GetProperties has an option to automatically update the Mashup whenever a Property value changes.GetPropertyValuesPulls in a particular Thing's Properties and their associated current values. However, it does so in an All Data grouping, opening the possibility of assigning all Properties to the same Widget. This can be helpful with some Widgets, such as the List Widget
Create Your Application Guide UI Part 1OverviewStep 1: Create New MashupStep 2: Mashup Builder SectionsStep 3: Introducing WidgetsCreate Your Application Guide UI Part 1 Overview This project will introduce the ThingWorx Mashup Builder. Following the steps in this guide, you will learn how to use this tool to create a Graphical User Interface (GUI) for your IoT Application.We will teach you how to rapidly create and update a Mashup, which is a custom visualization built to display data from devices according to your application's business and technical requirements.NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete ALL 5 parts of this guide is 30 minutes. Step 1: Create New Mashup The Mashup Builder is a drag-and-drop environment with a What You See Is What You Get (WYSIWYG) interface. With the Mashup Builder you can quickly and easily create a visualization of your IoT data.In this step, we
Operationalize an Analytics Model Guide Part 1OverviewStep 1: Analytics ArchitectureStep 2: Simulate Data SourceStep 3: Configure ProviderStep 4: Publish Analysis Model Operationalize an Analytics Model Guide Part 1 Overview This project will introduce ThingWorx Analytics Manager. Following the steps in this guide, you will learn how to deploy the model which you created in the earlier Builder guide. We will teach you how to utilize this deployed model to investigate whether or not live data indicates a potential engine failure. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to complete ALL 2 parts of this guide is 60 minutes. Step 1: Analytics Architecture You can leverage product-based analysis Models developed using PTC and third-party tools while building solutions on the ThingWorx platform.Use simulation as historical basis for predictive ModelsCreate a virtual sensor from simulationDesign-time versus operational-time i
Step 5: Create ServicesStep 6: Create SubscriptionsStep 7: Next Steps Step 5: Create Services Below shows how we can create the GetCustomerPackages Service for the PTCDeliversBusinessLogic Thing. Create Service Definition On the home page, filter and select the PTCDeliversBusinessLogic Thing.Switch to the Services tab.Click + Add. Enter the name of the Service, GetCustomerPackages.Switch to the Output tab of the Service.Select InfoTable from the list as the Base Type. When prompted for the DataShape, select CustomerDataShape.Switch to the Inputs tab of the Service.Click the + Add button. Enter the name CustomerId.Check the Required checkbox.Click Done. Add Service Functionality Switch to the Me/Entities tab.Switch the radio option to Other Entity.Filter and select PackageDataTable as the Entity. A list o
Data Model Implementation Guide Part 3Step 7: Unique Components Thing TemplatesStep 8: Data Tables and Data ShapesStep 9: SystemConnections ImplementationStep 10: Next Steps Data Model Implementation Guide Part 3 Step 7: Unique Components Thing Templates All of the shared component groups have been created. The next stage is creating the unique component group of ThingTemplates. Each of the below sections will cover one ThingTemplate, how the final property configuration should look, and any other aspects that should be added. The breakdown for the unique component group ThingTemplates is as follows: Robotic Arm Properties The properties for the RoboticArm ThingTemplate are as follows:NameBase TypeAspectsData Change TypeTimeSincePickupNUMBER, Min Value: 0Persistent and LoggedALWAYSAxis1StringPersistent and LoggedVALUEAxis2StringPersistent and LoggedVALUEAxis3StringPersistent and LoggedVALUEClampPressureNUMBER, Min Value: 0Persistent and LoggedALWAYSClampSt
Data Model Implementation Guide Part 2Step 4: SystemConnector Thing TemplateStep 5: HazardousAsset Thing TemplateStep 6: InventoryManager Thing ShapeData Model Implementation Guide Part 2 Step 4: SystemConnector Thing Template After grouping our second set of common functionality and information, we came up with the list below for the second Thing Template to create, SystemConnector with 3 Properties. The breakdown for the SystemConnector Thing Template is as follows: Follow the below instruction to create this Entity and get the implementation phase of your development cycle going. System Connector Properties Let's jump right in.In the ThingWorx Composer, click the + New at the top of the screen. 2. Select Thing Template in the dropdown.3. In the name field, enter SystemConnector and select a Project (ie, PTCDefaultProject).4. For the Base Thing Template field, select Gen
Data Model Implementation Guide Part 1OverviewStep 1: Completed ExampleStep 2: Data Model ScenarioStep 3: LineAsset Thing TemplateData Model Implementation Guide Part 1 Overview This project will introduce you to methods for creating the data model that you have designed and are ready to implement. Following the steps in this guide, you will implement the Data Model you've already designed. After having insight into your desired Data Model, this guide will provide instructions and examples on how to build out your application using the ThingWorx platform.We will teach you how to utilize the ThingWorx platform to implement your fully functional IoT application. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to complete ALL 3 parts of this guide is 60 minutes. All content is relevant but there are additional tools and design patterns you should be aware. Please go to this link for more details. Step 1: Completed Example Download th
Design Your Data Model Guide Part 3Step 7: PrioritizeStep 8: Largest GroupStep 9: IterateStep 10: ValidateStep 11: Next Steps Design Your Data Model Guide Part 3 Step 7: Prioritize The first step in the design process is to use the Thing-Component Matrix to identify and prioritize groups of Components that are shared across multiple Things. These groups will be prioritized by number of shared Components, from highest to lowest, enabling is to break out the most commonly used groups of Components and package them into reusable pieces.Let’s examine our example Thing-Component Matrix to identify and prioritize groups.In the table below, we have done this and recognized that there are FOUR groups. NOTE: Each item in our unique Thing-Component Matrix would also count as a group on its own. This can be dealt with almost separately from our process, though, because there is no overlap between different Things. The "Templates for Uni
Design Your Data Model Guide Part 2Step 4: Data Sources – Component BreakoutStep 5: Data Sources – Thing-Component MatrixStep 6: Model BreakdownDesign Your Data Model Guide Part 2 Step 4: Data Sources – Component Breakout Component Breakout Once you have a full list of Things in your system (as well as requirements for each user), the next step is to identify the information needed from each Thing (based on the user's requirements).This involves evaluating the available data and functionality for each Thing. You then align the data and functionality with the user's requirements to determine exactly what you need, while eliminating that which you do not. This is important, as there can be cost and security benefits to only collecting data you need, and leaving what you don't.NOTE: Remember from the Data Model Introduction that a Thing's Components include Properties, Services, Events, and Subscriptions. Factory Example Using the Smart Factory example,
Design Your Data Model Guide Part 1OverviewStep 1: Data Model MethodologyStep 2: User StoriesStep 3: Data Sources – Thing ListDesign Your Data Model Guide Part 1 Overview This project will introduce the process of taking your IoT solution from concept to design.Following the steps in this guide, you will create a solution that doesn’t need to be constantly revamped, by creating a comprehensive Data Model before starting to build and test your solution.We will teach you how to utilize a few proposed best practices for designing the ThingWorx Data Model and provide some prescriptive methods to help you generate a high-quality framework that meets your business needs. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to complete ALL 3 parts of this guide is 60 minutes. All content is relevant but there are additional tools and design patterns you should be aware of. Please go to this link for more details. Step 1: Data Model Methodology&nbs
Using the Solution Central APIPitfalls to Avoidby Victoria Firewind, IoT EDC IntroductionThe Solution Central API provides a new process for publishing ThingWorx solutions that are developed or modified outside of the ThingWorx Platform. For those building extensions, using third party libraries, or who just are more comfortable developing in an IDE external to ThingWorx, the SC API makes it simple to still utilize Solution Central for all solution management and deployment needs, according to ThingWorx dev ops best practices. This article hones in one some pitfalls that may arise while setting up the infrastructure to use the SC API and assumes that there is already AD integration and an oauth token fetcher application configured for these requests. CURLOne of the easiest ways to interface with the SC API is via cURL. In this way, publishing solutions to Solution Central really involves a series of cURL requests which can be scripted and automated as part of a mature de
Build a Predictive Analytics Model Guide Part 2Step 5: ProfilesStep 6: Create ModelStep 7: Refine ModelStep 8: Next StepsBuild a Predictive Analytics Model Guide Part 2 Step 5: Profiles The Profiles section of ThingWorx Analytics looks for combinations of data which are highly correlated with your desired goal.On the left, click ANALYTICS BUILDER > Profiles.Click New....The New Profile pop-up will open. NOTE: Notice the Text Data Only section which is new in ThingWorx 9.3. 3. In the Profile Name field, enter vibration_profile.4. In the Dataset field, select vibration_dataset.5. Leave the Goal field set to the default of low_grease.6. Leave the Filter field set to the default of all_data.7. Leave the Excluded Fields from Profile field set to the default of empty.8. Click Submit.9. After ~30 seconds, the Signal State will change to 
Build a Predictive Analytics Model Guide Part 1OverviewStep 1: ScenarioStep 2: SettingsStep 3: Upload DataStep 4: SignalsBuild a Predictive Analytics Model Guide Part 1 Overview This project will introduce ThingWorx Analytics Builder. Following the steps in this guide, you will create an analytical model, and then refine it based on further information from the Analytics platform. We will teach you how to determine whether or not a model is accurate and how you can optimize both your data inputs and the model itself. NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete ALL 2 parts of this guide is 60 minutes. Step 1: Scenario MotorCo manufactures, sells, and services commercial motors. Recently, MotorCo has been developing a new motor, and they already have a working prototype. However, they've noticed that the motor has a chance to FAIL CATASTROPHICALLY if it's not properly serviced to replace los
Create Industrial Equipment Model GuideOverviewStep 1: Learning Path OverviewStep 2: Create Thing ShapeStep 3: Create Thing TemplateStep 4: Next StepsCreate Industrial Equipment Model Guide Overview This project introduces how to model industrial equipment in ThingWorx Foundation. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to complete this guide is 30 minutes. Step 1: Learning Path Overview This guide explains the steps to get started modeling industrial equipment in ThingWorx Foundation and is part of the Connect and Monitor Industrial Plant Equipment Learning Path. You can use this guide independent from the full Learning Path. Other guides are available for more complete Data Model Introduction. When using this guide as part of the Industrial Plant Learning Path, you should already have ThingWorx Kepware Server installed and sending data to ThingWorx Foundation. In the next guide in the Learning Pa
Build an Equipment Dashboard Guide Part 2Step 5: Display DataStep 6: Test ApplicationStep 7: Next StepsBuild an Equipment Dashboard Guide Part 2 Step 5: Display Data Now that you have configured the visual part of your application, you need to bind the Widgets in your Mashup to a data source. Add Services to Mashup In the top-right, ensure the Data tab is selected.Click the green + symbol.In the Entities Filter field, search for and select MyPump.In the Services Filter field, type GetPropertyValues.Click the right-arrow beside GetPropertyValues. Note how GetPropertyValues was added to the right-side under Selected ServicesCheck the checkbox for Execute on Load. This causes the Service to execute when the Mashup starts. 7. In the Services Filter field, type QueryPropertyHistory.8. Click the right-arrow beside QueryPropertyHistory.9. Check the checkbox for Exe
Build an Equipment Dashboard Guide Part 1OverviewStep 1: Learning Path OverviewStep 2: Create ThingStep 3: Store Data in Value StreamStep 4: Create Application UIBuild an Equipment Dashboard Guide Part 1 Overview This project will introduce you to the principles of ThingWorx Foundation by creating an eqipment dashboard. Following the steps in this guide, you will create the building blocks of your first IoT application, including Things and Streams. We introduce the basics for creating an IoT application.NOTE: This guide's content aligns with ThingWorx 9.3. The estimated time to complete ALL 2 parts of this guide is 30 minutes. Step 1: Learning Path Overview This guide explains the steps to create an Industrial Eqipment Dashboard, and is part of the Connect and Monitor Industrial Plant Equipment Learning Path. You can use this guide independently from the full Learning Path. If you want to learn the basics of creating an eqipment
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.