Skip to content

FactoryTalk-Optix/Optix_Sample_UbiquitySDK

Repository files navigation

Optix Sample UbiquitySDK

A complete sample project demonstrating the integration between Rockwell Automation FactoryTalk Optix and Asem Ubiquity, using the Ubiquity WebAPI and SDK for monitoring and remote control of industrial IoT devices.

Overview

This project provides a reference implementation showing how FTOptix can interface with the Asem Ubiquity cloud platform to manage edge devices in a centralized manner. The HMI/SCADA application developed in FTOptix allows you to:

  • Monitor the status of devices connected to the Ubiquity domain
  • Transfer files to and from remote devices
  • Access devices via remote desktop
  • View and manage processes running on devices
  • Synchronize system time

Project Objectives

  • Demonstrate the integration between FTOptix and Asem Ubiquity
  • Provide practical examples of using Ubiquity APIs and SDK
  • Show best practices for IIoT application development
  • Create a reusable foundation for custom projects

Main Features

1. Domain Device Management

File: DomainDevicesLogic.cs

  • Display all devices registered in the Ubiquity domain
  • Real-time connection status monitoring
  • Detailed information for each device (name, type, status, IP)
  • Device filtering and search

2. File Transfer

File: FileTransferScreenLogic.cs

  • Upload files to remote devices
  • Download files from remote devices
  • Transfer status and progress monitoring
  • Transfer queue management
  • Support for large files

3. Remote Desktop

File: RemoteDesktopLogic.cs

  • Remote desktop connection to devices
  • Complete remote control
  • Real-time video streaming
  • Support for multiple sessions

4. Process Monitoring

File: ProcessListLogic.cs

  • Display active processes on remote devices
  • CPU and memory usage information
  • Start/stop remote processes
  • Automatic process list updates

5. Ubiquity Handler

File: UbiquityHandler.cs

  • Centralized management of Ubiquity connections
  • Authentication and session management
  • Error handling and automatic reconnections
  • API wrapper for Ubiquity calls

Getting Started

Prerequisites

  • FTOptix Studio - Latest version available
  • Asem Ubiquity Account - Register at https://www.ubiquity.asem.it
  • Ubiquity Devices - At least one device registered in the domain
  • .NET SDK - Version compatible with FTOptix

Installation

  1. Clone the repository

    git clone https://github.com/youraccount/Optix_Sample_UbiquitySDK.git
    cd Optix_Sample_UbiquitySDK
  2. Open the project in FTOptix Studio

    • Launch FTOptix Studio
    • File → Open Project
    • Select Optix_Sample_UbiquitySDK.optix
  3. Configure Ubiquity credentials

    • In the project, navigate to settings
    • Enter username and password for your Ubiquity account
    • Configure the domain URL
  4. Build the project

    • Build → Rebuild All
    • Verify there are no compilation errors
  5. Run the application

    • Runtime → Start
    • The application will connect to Ubiquity and load available devices

Configuration

Customization

The project is structured to be easily customizable:

  • UI: Modify screens in Nodes/UI
  • Logic: Extend or modify files in ProjectFiles/NetSolution
  • Data Model: Customize the structure in Nodes/Model

Dependencies

The project uses the following NuGet packages:

  • Asem.Ubiquity.SDK - Official SDK for Ubiquity integration
  • Other dependencies specified in Optix_Sample_UbiquitySDK.csproj

Use Cases

This project is ideal for:

  • Remote monitoring of distributed industrial plants
  • Predictive maintenance through remote device access
  • Centralized management of edge device fleets
  • Data transfer and remote firmware updates
  • Troubleshooting and remote diagnostics

Security

⚠️ Important Note: This is a sample project. For production use:

  • ✅ Implement secure credential management (not hardcoded)
  • ✅ Use encrypted connections (HTTPS/TLS)
  • ✅ Implement logging and audit trail
  • ✅ Properly handle timeouts and reconnections
  • ✅ Validate all user input
  • ✅ Implement role-based access controls

Reference Documentation

Disclaimer

Rockwell Automation maintains these repositories as a convenience to you and other users. Although Rockwell Automation reserves the right at any time and for any reason to refuse access to edit or remove content from this Repository, you acknowledge and agree to accept sole responsibility and liability for any Repository content posted, transmitted, downloaded, or used by you. Rockwell Automation has no obligation to monitor or update Repository content

The examples provided are to be used as a reference for building your own application and should not be used in production as-is. It is recommended to adapt the example for the purpose, observing the highest safety standards.

About

How to integrate Ubiquity SDK in Optix

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages