...
OpenZen allows to access many different sensor models which are connected via different transports layers with one unified programming interface. This allows to develop applications which support a wide range of sensors and allows to easily adapt your application to new or additional sensors.
A list of the must-have part parts of an OpenZen client program is:
...
The best way to learn how OpenZen client program works is to take a look at our example source file.
For this page, the example code codes are written in C++. We also have Python, C and C# examples in our repo.
IO Systems
To communicate with the sensor hardware, OpenZen provides multiple so-called please specify through which IO systems . Each of these can establish the communication to sensors and can list the available sensor hardware. Here are some examples of IO systems available in OpenZen:
USB virtual COM port
...
OpenZen should access your sensor.
Note |
---|
Permission and settings required for Linux userCOM port: In the terminal execute Bluetooth: To be able to connect to any Bluetooth sensor, it first needs to be paired via the operating system’s device manager. |
USB virtual COM port
Code Block // Windows auto sensorPair = client.obtainSensorByName("WindowsDevice", "//./COM40", 921600); // Linux auto sensorPair = client.obtainSensorByName("LinuxDevice", "devicefile:/dev/ttyUSB0", 921600);
USB Express (on Windows only)
Code Block auto sensorPair = client.obtainSensorByName("SiUsb", "ig1pcan000028", 921600);
Bluetooth (only for B2 sensor)
Code Block auto sensorPair = client.obtainSensorByName("Bluetooth", "00:04:3E:53:E9:9F", 115200);
Network streaming
...
A sensor can have multiple components which supply various types of sensor data. Once the connection
to a sensor has been established, the available components can be queried. Sensor data and their properties can
be access and modified. Furthermore, the streaming of measurement data can be started for each component.
At this time OpenZen supports the following components under a sensor:
Inertial / modified.
Inertial Measurement Unit (IMU)
Provides accelerometer and gyroscope measurements and the orientation result from the sensor fusion running on the connected sensor. All our sensors provide IMU components in OpenZen.
...
Keys for Sensor Data Access
Sensor data are collected as events in by the client program. Most of the keys listed in imuData and gnssData are available for access. Note that there are a few limitations on specific data fields:
...
Field name (explanation) | IG1 / IG1PLPMS3 | U3 | NAV3 | BE / ME |
---|---|---|---|---|
g1 | o | x | o | x |
g2 (general-purpose) | o | o | x | o |
Info |
---|
To debug your OpenZen program, we have a Windows GUI client to work with sensors. There are 2 communications that our sensors follows. They are categorized as follows:
LPMSControl2 for LPMS3 sensors, OpenMAT for LPMS2 sensors. For detailed information of all our sensors, please visit our Knowledge Base. |
...
Info |
---|
Information above should have already given you a pretty nice illustration of the OpenZen library’s compositions. You can skip reading the following sections if you understand the sample program. |
...