Difference between revisions of "ExoSensePi"

From HSYCO
Jump to navigation Jump to search
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
[https://www.sferalabs.cc/product/exo-sense-pi/ Exo Sense Pi] is a multi-sensor module with a Raspberry Pi 4 computing core and a wide range of connectivity options.
 
[https://www.sferalabs.cc/product/exo-sense-pi/ Exo Sense Pi] is a multi-sensor module with a Raspberry Pi 4 computing core and a wide range of connectivity options.
  
[[File:Iono-pi-max-1.png|200px|thumb|Exo Sense Pi]]
+
[[File:Exo-Sense-Pi-1.png|200px|thumb|Exo Sense Pi]]
  
 
This driver provides support for both a local installation of HSYCO on Exo Sense Pi itself, or a remote Exo Sense Pi unit connected via SSH. In both cases, the Raspberry Pi OS Kernel module for Exo Sense Pi must be installed. The kernel module documentation is available at [https://github.com/sfera-labs/exo-sense-pi-kernel-module GitHub] and the Exo Sense Pi [https://www.sferalabs.cc/files/exosensepi/doc/exosensepi-user-guide.pdf User Guide].
 
This driver provides support for both a local installation of HSYCO on Exo Sense Pi itself, or a remote Exo Sense Pi unit connected via SSH. In both cases, the Raspberry Pi OS Kernel module for Exo Sense Pi must be installed. The kernel module documentation is available at [https://github.com/sfera-labs/exo-sense-pi-kernel-module GitHub] and the Exo Sense Pi [https://www.sferalabs.cc/files/exosensepi/doc/exosensepi-user-guide.pdf User Guide].
Line 48: Line 48:
 
|10 <= n <= 30000
 
|10 <= n <= 30000
 
|the data acquisition interval, in milliseconds
 
|the data acquisition interval, in milliseconds
 
|-
 
 
|rowspan="3"|dualsdsync
 
|rowspan="3"|false
 
|true
 
|enables the files synchronisation process that copies all HSYCO files and some operating system configuration files to the alternate SD card (SD1). Synchronisation occurs automatically once a minute. SD1 is enabled and its root file system mounted to /mnt/alt
 
|-
 
|false
 
|disables the files synchronisation process
 
|-
 
|manual
 
|doesn't change the watchdog configuration parameters
 
 
|-
 
 
|rowspan="4"|watchdog
 
|rowspan="4"|always
 
|always
 
|enables the hardware watchdog and automatically generates the heartbeat signal (when the HSYCO main control loop is running normally, approximately every 10 seconds). The watchdog timeout is set to 60 seconds while HSYCO is running, or to 1 hour when HSYCO is manually stopped (sysctl stop hsyco) and when it is starting. If dualsdsync is set to true or manual, the watchdog is configured to boot from the alternate SD card if there is no heartbeat after the first reboot
 
|-
 
|true
 
|enables the hardware watchdog only while HSYCO is running, and automatically generates the heartbeat signal (when the HSYCO main control loop is running normally, approximately every 10 seconds). The watchdog timeout is temporarily set to 1 hour when HSYCO is starting. If dualsdsync is set to true or manual, the watchdog is configured to boot from the alternate SD card
 
|-
 
|false
 
|disables the hardware watchdog
 
|-
 
|ignore
 
|doesn't change the watchdog configuration parameters
 
 
|-
 
 
|rowspan="2"|shutdown_minutes
 
|rowspan="2"|0
 
|0
 
|no automatic shutdown after power failure
 
|-
 
|N > 0
 
|the driver will command the operating system shutdown and hardware power off after N minutes of back-up battery operations during a power failure. Exo Sense Pi will be turned back on when power is restored
 
  
 
|-
 
|-
Line 94: Line 55:
 
|&lt;list&gt;
 
|&lt;list&gt;
 
|Space or semicolon separated list of datapoints or prefixes (not including the I/O Server id). Datapoints starting with one of the keywords defined in the skip list are not polled. Skipping unused datapoints improves polling performance on both local and remote configurations
 
|Space or semicolon separated list of datapoints or prefixes (not including the I/O Server id). Datapoints starting with one of the keywords defined in the skip list are not polled. Skipping unused datapoints improves polling performance on both local and remote configurations
 
|-
 
 
|rowspan="2"|quiet
 
|rowspan="2"|false
 
|true
 
|enables audible alarms on power failure
 
|-
 
|false
 
|disables audible alarms on power failure
 
  
 
|}
 
|}
 
{{tip|The following configuration options are only used for local installations, and ignored on remote Exo Sense Pi units: dualsdsync, watchdog, shutdown_minutes, quiet.}}
 
  
 
== Datapoints ==
 
== Datapoints ==
  
The Exo Sense Pi implements all data points provided by the underlying Exo Sense Pi kernel module. Refer to the documentation available at [https://github.com/sfera-labs/iono-pi-max-kernel-module Exo Sense Pi Kernel Module].
+
The Exo Sense Pi implements all data points provided by the underlying Exo Sense Pi kernel module. Refer to the documentation available at [https://github.com/sfera-labs/exo-sense-pi-kernel-module Exo Sense Pi Kernel Module].
  
Each readable file name exposed by the kernel module under the /sys/class/ionopimax/ sub-directories appears as a data point with id <subdir>.<file>. For example, as the buzzer's status file is /sys/class/ionopimax/buzzer/status, the corresponding data point is "buzzer.status".
+
Each readable file name exposed by the kernel module under the /sys/devices/virtual/exosensepi/ sub-directories appears as a data point with id <subdir>.<file>. For example, as the buzzer's status file is /sys/devices/virtual/exosensepi/buzzer/status, the corresponding data point is "buzzer.status".
  
 
Command files that are marked as write only in the documentation (W), are not shown as visible data points in HSYCO, but can be used in the IO events action or ioSet() methods to send a command.
 
Command files that are marked as write only in the documentation (W), are not shown as visible data points in HSYCO, but can be used in the IO events action or ioSet() methods to send a command.
  
For example, if "max" is the id assigned to the Exo Sense Pi I/O Server, then:
+
For example, if "exo" is the id assigned to the Exo Sense Pi I/O Server, then:
  TIME : IO max.buzzer.beep = 1000
+
  TIME : IO exo.buzzer.beep = 1000
 
will make the buzzer beep for 1 second (1000 ms).
 
will make the buzzer beep for 1 second (1000 ms).
  
Note that "max.buzzer.beep" is not visible in the Status Browser and doesn't generate events, because it is write only, and only the "max.buzzer.status" data point will be visible, with a value of 0 if the buzzer is not active, or 1 if active.
+
Note that "exo.buzzer.beep" is not visible in the Status Browser and doesn't generate events, because it is write only, and only the "exo.buzzer.status" data point will be visible, with a value of 0 if the buzzer is not active, or 1 if active.
  
 
=== Additional datapoints ===
 
=== Additional datapoints ===

Latest revision as of 17:07, 3 August 2021

Exo Sense Pi is a multi-sensor module with a Raspberry Pi 4 computing core and a wide range of connectivity options.

Exo Sense Pi

This driver provides support for both a local installation of HSYCO on Exo Sense Pi itself, or a remote Exo Sense Pi unit connected via SSH. In both cases, the Raspberry Pi OS Kernel module for Exo Sense Pi must be installed. The kernel module documentation is available at GitHub and the Exo Sense Pi User Guide.

HSYCO Configuration

Add a Exo Sense Pi I/O Server in the I/O Servers section of the Settings and set its parameters:

Note that the Exo Sense Pi I/O Server doesn't count in the I/O servers license total, so you don't need an extra I/O Server license to use Exo Sense Pi with HSYCO.


Communication

  • IP Address: the IP address assigned to Exo Sense Pi, leave blank for a local installation
  • Port: SSH port configured on Exo Sense Pi (defaults to 22), leave blank for a local installation.

Authentication

  • User: username to access the remote Exo Sense Pi via SSH, leave blank for a local installation
  • Password: password to access the remote Exo Sense Pi via SSH, leave blank for a local installation.

High Availability

  • Shutdown when inactive: defaults to false.

Options

ID Default Values Description
startupevents false true generate IO events also during the driver’s start-up phase
false start generating events only after HSYCO is aligned with the current status of the system
pollinterval 250 10 <= n <= 30000 the data acquisition interval, in milliseconds
skip <list> Space or semicolon separated list of datapoints or prefixes (not including the I/O Server id). Datapoints starting with one of the keywords defined in the skip list are not polled. Skipping unused datapoints improves polling performance on both local and remote configurations

Datapoints

The Exo Sense Pi implements all data points provided by the underlying Exo Sense Pi kernel module. Refer to the documentation available at Exo Sense Pi Kernel Module.

Each readable file name exposed by the kernel module under the /sys/devices/virtual/exosensepi/ sub-directories appears as a data point with id <subdir>.<file>. For example, as the buzzer's status file is /sys/devices/virtual/exosensepi/buzzer/status, the corresponding data point is "buzzer.status".

Command files that are marked as write only in the documentation (W), are not shown as visible data points in HSYCO, but can be used in the IO events action or ioSet() methods to send a command.

For example, if "exo" is the id assigned to the Exo Sense Pi I/O Server, then:

TIME : IO exo.buzzer.beep = 1000

will make the buzzer beep for 1 second (1000 ms).

Note that "exo.buzzer.beep" is not visible in the Status Browser and doesn't generate events, because it is write only, and only the "exo.buzzer.status" data point will be visible, with a value of 0 if the buzzer is not active, or 1 if active.

Additional datapoints

ID Value R/W Description
connection online R connection established
offline R HSYCO can't connect to the device

Release Notes

3.8.0

  • initial release


Exo Sense Pi is a registered trademark of Sfera Labs Srl