Many setups and projects can be improved by monitoring pressure, temperature and humidity. There are a range of sensors that can be used and the Pilot-CAN supports a number of them including the Sensirion SHT range of sensors. There are many other sensor options included in the yellowcog software library. This all makes it simple to add, for example, in cockpit temperature and humidity reading and have these logged by a CAN data logger.
The ANT+ profile defines two types of temperature sensors (yellowcog's own Havant-TeHu has no configurable options as by default it collects the maximum resolution data).
There are no further options but it is vital that the combobox is set to "Environmental" (body sensors do not package the wireless data in the same format).
Body Core Sensors
For Body Core Temperature Sensors there is an optional extra parameter which is the "associated device". This option should, for best results, be set to the serial number of the ANT+ heart rate strap that is also being worn. This helps the sensor calculate more accurate body core temperature estimations. The combobox helps by populating the list with the serial numbers of ANT heart rate sensors that are also in the config. IMPORTANT: if you set your heart rate strap config item's serial number to '0' (zero) to mean "connect to any nearby" then this is no longer sufficient; correct results now require you enter a real serial number for the heart rate device and add the same number here.
The two different types of sensor profiles do not output the same types of streams. In many ways they are different devices that share a common profile layout. You must add output streams for the module by clicking the "Add" button. They type of data is labelled for each added stream and the order is determined by the software (and mimics the ANT+ profile). You may however assign any stream you wish to each - or leave as void if you do not require that data. If you only require the first (or second etc) stream then you do not need to add the remainder and set to void - you only need add up to the stream you are using. Streams marked as "reserved" will output and should be left as "void". Usually on the Pilot you would use the "Temperature" stream for temperature but these sensors output more than one temperature value - there are options to using (outputting elsewhere) the other temperatures: use a different filter for the Temperature stream; use something like DeviceTemperature; or use any other arbitrary stream.
Most of the properties in this section should be left at their defaults if you are using a consumer sensor. If you are providing connectivity to your own custom device then the properties will need to be altered.
Available options are:
- Serial Number – set this to the serial number of the target peripheral or to zero for wildcard.
The remaining options should only be changed for custom sensors, standard sensors will cease to function if these options are changed; they are:
- MoS Type – Master or Slave type.
- Device Type – the number must match the peripherals device type.
- Network – Controls the Frequency Offset.
- Trans Type – this is specific to the way pairing is achieved.
- Period – the period between data exchanged in ticks of 1/32768 of a second. I.e. a period of 8102 means data is exchanged 4.04 times per second. Altering this from the sensors default will cause sporadic data transfer.
- Frequency Offset – defined by the network and is the offset from the base GHz frequency. Altering this will not alter the sensor frequency and will stop communications.
IMPORTANT: it is always best to set the MAC address of your BLE device. Even though the Pilot will only connect to the type of device you have configured (the "role" of the device, such as Heart Rate is used in the connection process) the MAC ensures you are connecting to the correct one.
Please read the quick guide to BLE if you do not understand the terms used in this section.
BLE Device Properties
Match UUID: will connect to any device in range that is of the right type (e.g. heart rate or oxygen monitor).
Match Address: this is unique to every Bluetooth LE device and controls which will be accepted. The field can accept the wildcard character “*” or “X” which both represent “don’t care” i.e. if the MAC is set to “XX:XX:XX:XX:XX:01”, pairing will be attempted with any device whose address ends in “01”. It is recommended that full, explicit addresses are used whenever possible to avoid unwanted pairing attempts. IMPORTANT: Some Bluetooth LE devices (e.g. iPhone) will select a new random address each time they enable BLE – this makes setting a MAC unusable. Wearable devices do not generally do this. The MAC is not needed if the Match Mode is set to UUID.
Match Name: Connect to devices that match this name, including wildcard characters. '?' matches a single character, '*' matches the remainder. e.g. to match a device called "yellowcog" you can use ye??owco? or yellow*- but note, the pattern matching ends at the first * so ye*cog would also match for a device called "yes".
Emit Battery Level: most all BLE devices send a measure of battery level. If this is ticked then the Pilot will emit a stream called BATTERYLEVEL for this device's Default Filter (normally zero).
BLE Central Properties
It is highly recommended to leave these settings at the defaults. Lowering the numbers will not speed up slow connections or change the detection range or any other beneficial results.
Wireless Device Properties
All wireless devices share some common properties.
- Group – see the page on Groups.
- Enable Late Binding – see Late Binding.
- Bind in group – see Late Binding.
- Serial – the serial number of the peripheral. It is not always necessary to have this set correctly but it assists in identification and pairing.
- Emit Unit Number as – in order to identify a device in subsequent output data it is useful to have the module transmit a stream called Unit Number. The number can be one of:
- Configured Serial Number – if this device is connected then this module will output whatever serial number you have entered into the config. If you have used a wildcard (serial number set to zero) then this option is not useful.
- Unit Number – this is an arbitrary configured value for this module. This is useful if the proper serial number is not wanted in the output data e.g. you would like your devices called “1, 2, 3…” not their true serials which may be opaque e.g. “43252, 243352… etc”
- Remote Serial Number – most devices will transmit their true serial number back, either via the transport protocol or in a separate message. As such, this option can be used with a configured serial number of zero but when the device connects the actual identity of the remote device is available. Note for ANT, this is the 16-bit serial number, for Bluetooth (+LE) this is the low 16-bits of the MAC address.
All modules have this panel. Options are:
- Type – is determined when first adding the module and governs which module properties can be configured.
- Name – used to identify the module in the module list but may also play a part on the embedded device, for example it may be required for it to appear in the outputted data.
- Enable on Pilot – if this is set then this config item will be included and enabled when transferred to the Pilot. If not, then it will still be editable on the PC but will not be used by the Pilot.
- Default Filter – see Streams, Advanced Concepts.
- User Number – This can be used to identify this module elsewhere in the system. For example, by outputting this number whenever the device is connected. In general, it can be left as zero.