grpc-orin3-provider

grpc-orin3-provider is a Ruby client Gem that provides a wrapper for the ORiN3 gRPC interface. It enables seamless interaction with a variety of devices and resources, allowing users to leverage ORiN3 functionalities in a language-agnostic and platform-independent manner.

Features

  • gRPC Wrapper
    Easily access the ORiN3 gRPC API through a Ruby client.

  • Multi-Device Support
    ORiN3 provides a unified interface to connect with diverse devices and resources, with broad applications across industries including manufacturing.

  • Cross-Platform Compatibility
    ORiN3 supports both Windows and Linux, and this Ruby client is designed for cross-platform use.

Installation

Install the Gem by running:

gem install grpc-orin3-provider

Or add it to your Gemfile and run bundle install:

gem 'grpc-orin3-provider'

Usage

  1. Initialize the Client
    Connect to the ORiN3 provider by specifying the host and port.
   # Shorten namespaces for readability
   module ORiN3
     include Grpc::Client::ORiN3
     include Grpc::Client::ORiN3::Provider
   end

   def main
     channel = GRPC::Core::Channel.new("localhost:7103", nil, :this_channel_is_insecure)
     remote_engine = ORiN3::RemoteEngine.new(channel)
     id = "B0EFA63C-6610-4167-9DA6-9DDC11D145B2"
     version = "[1.0.0,2.0.0)"
     result = remote_engine.wakeup_provider(id, version, "0.0.0.0", 0)
     puts "* wakeup test provider done. [uri=#{result.provider_information.endpoints[0].uri}]"

     uri = URI.parse(result.provider_information.endpoints[0].uri)
     provider_channerl = GRPC::Core::Channel.new("#{uri.host}:#{uri.port}", nil, :this_channel_is_insecure)
     root = ORiN3::ORiN3RootObject.attach(provider_channerl)

     puts "Root.name: #{root.name}"
     puts "Root.type_name: #{root.type_name}"
     puts "Root.option: #{root.option}"
     puts "Root.created_datetime: #{root.created_datetime.getlocal}"
     puts "Root.orin3_object_type: #{root.orin3_object_type}"
     puts "Root.id: #{root.id}"
   rescue ORiN3::MessageClientError => e
     abort "ERROR: #{e.message}"
   end

About ORiN3

ORiN3 (Open Robot/Resource interface for the Network) is an open standard communication interface designed to facilitate seamless communication with robots and resources on a network. Built with gRPC, ORiN3 provides cross-platform capabilities, making it suitable for various industries and applications. For more details, see the ORiN3 GitHub repository.

License

grpc-orin3-provider is released under the MIT License. For details, please see the LICENSE file.