The iiodevices service provides access to data from industrial i/o devices. For now it permits to get data from acceleration, gyroscope and electronic compass.
As soon as a client subscribes to the agl-service-iiodevices binding, the binding reads values from the sensors and sends it to subscribers as events. Subscribers can choose their frequency and indicate what values they want at subscription.
Name | Description | JSON Parameters |
---|---|---|
subscribe | subscribe to 9 axis events | Request: {"event": "acceleration", "args":"xy", "frequency": "10" } |
unsubscribe | unsubscribe to accelero events | Request: {"event": "acceleration" } |
For now, there are 3 different events matching with the different available sensors.
- "acceleration": is for acceleration data
- "gyroscope": is for gyroscope data
- "compass": is for electronic compass data
The frequency is in Hertz, if the frequency is not set, events are triggered via a file descriptor.
Here is an example to show how to get data from iiodevices with the demo client.
First, launch the client demo with right port and right TOKEN, the example below matches with ff(6.x) AGL version.
afb-client-demo ws://localhost:1055/api?token=HELLO
Here is a list of different examples to subscribe to acceleration data.
iiodevices subscribe { "event": "acceleration", "args": "xyz", "frequency": "0.1" }
iiodevices subscribe { "event": "acceleration", "args": "xz" }
Events will be sent each time a new value is available (sent by iiodevice).
iiodevices unsubscribe { "event": "acceleration" }
- Provide a json file to configure the device name and the channel name.
- Handle several values simultaneously, see triggers.
- Update this binding for other iiodevices.
- Only read channel values at the maximum frequency.
- Change args values into json arrays.
M3ULCB Kingfisher is equipped with a 9 axis sensor device (LSM9DS0) and the R-Car Starter Kit can read sensor values via I2C interface and iiodevices are provided for these sensors.
To use industrial I/O dummy device we need to load kernel modules :
- industrialio
- industrialio-configfs
- industrialio-sw-device
- industrialio-sw-trigger
- iio-trig-hrtimer
- iio_dummy