Package Usage: go: github.com/lugu/qiloop
Package qiloop is an implementation of the protocol QiMessaging
used to interract with the NAO and Pepper robots.
QiMessaging is a software bus which exposes services. Services have
methods (to be called), signals (to be watched) and properties
(signals with state). A naming service (the service directory) is
used to discover and register services. For a detailed description
of the protocol, please visit
https://github.com/lugu/qiloop/blob/master/doc/about-qimessaging.md
To connect to a service, a Session object is required: it represents
the connection to the service directory. Several transport
protocols are supported (currently TCP, TLS and UNIX socket).
With a session, one can request a proxy object representing a remote
service. The proxy object contains the helper methods needed to make
the remote calls and to handle the incomming signal notifications.
Services have methods, signals and properties which are described
in an IDL (Interface Description Language) format. This IDL file is
process by the `qiloop` command to generate the Go code which allow
remote access to the service (i.e. the proxy object).
For example, here is an IDL file which describes a service which
have two methods, one signal and one property:
Use 'qiloop proxy' commmand to generate the go code which gives
access to the service:
The file proxy_gen.go contains a method called Services which gives
access to the RoboticService service. The example bellow illustrate this.
In order to communicate with an existing service for which the IDL
file is unknown, the `scan` command can be use to introspect a
running instance of the service and generate its IDL description.
The following produce the IDL file of LogManager service:
In order to implement a new service, create an IDL file and run
the `stub` command to generate the helper method to register the
service:
The file stub_gen.go defines the interface to implement as well as
the helper methods to register the service.
When offering a service, a Server is be used to handle incomming
connection and to dispatch the requests.
The actual implementation of a service is provided by a object
(Actor interface) which responds to call requests and emits the
signals.
This example llustrates how to make a method call to a remote
object. It uses the specialized proxy of the text to speech
service.
3 versions
Latest release: over 4 years ago
3 dependent packages
View more package details: https://packages.ecosyste.ms/registries/proxy.golang.org/packages/github.com/lugu/qiloop
View more repository details: http://repos.ecosyste.ms/hosts/GitHub/repositories/lugu%2Fqiloop
Dependent Repos 2
lugu/qitop
List the most used methods and display agregated metrics.Size: 80.1 KB - Last synced: 3 months ago - Pushed: over 1 year ago


lugu/qiview
console camera viewerSize: 1.35 MB - Last synced: about 1 month ago - Pushed: over 1 year ago

