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
- 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.}"
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.