BoB Assistant User Manual
BoB Assistant User Manual
Contact: [email protected]
Bob Assistant - Reference Manual
Table of contents
I. Introduction ..................................................................................................................................................................4
1.1. Overview .............................................................................................................................................................. 4
1.2. Recommended fastening solutions ..................................................................................................................5
1.2.1. Magnets – default configuration ..............................................................................................................5
1.2.2. Rivet ............................................................................................................................................................. 6
1.2.3. Screw ........................................................................................................................................................... 6
1.2.4. Fixation plate ..............................................................................................................................................7
1.3. Key Features ........................................................................................................................................................8
II. Functional overview .....................................................................................................................................................9
2.1. Life cycle and Operating modes........................................................................................................................9
2.1.1. Functional preview ....................................................................................................................................9
2.1.2. Startup & initialization............................................................................................................................... 9
2.1.3. Operating modes .......................................................................................................................................9
2.2. Device Interaction ............................................................................................................................................ 14
2.2.1. Device Startup ......................................................................................................................................... 14
2.3. Device power off .............................................................................................................................................. 16
2.4. BoB ASSISTANT v1.0 (‘MPU’) and BoB ASSISTANT v1.1 (‘KX’) Product Variants ......................................... 17
2.5. Product variants payload identification ........................................................................................................ 18
2.6. Payload data content ...................................................................................................................................... 18
2.7. Manufacturing configuration ......................................................................................................................... 19
2.7.1. Device default configuration ................................................................................................................. 19
2.7.2. Labels ....................................................................................................................................................... 19
III. Uplink payloads (Device to LoRa server) ................................................................................................................ 21
3.1. Introduction ...................................................................................................................................................... 21
3.2. LEARNING MESSAGE........................................................................................................................................ 21
3.2.1. Payload structure ................................................................................................................................... 21
3.3. REPORT MESSAGE ............................................................................................................................................ 22
3.3.1. Payload structure ................................................................................................................................... 22
3.3.2. Report message payload data extraction example ............................................................................ 24
3.4. ALARM MESSAGE ............................................................................................................................................. 25
3.4.1. Payload structure ................................................................................................................................... 25
3.5. STATE MESSAGE payload structure ............................................................................................................... 26
IV. Downlink (LoRa to device) ........................................................................................................................................ 27
4.1. Renew learning mode or add learning .......................................................................................................... 27
4.2. Change sampling period ................................................................................................................................. 27
4.3. Enable/disable STATE MESSAGE .................................................................................................................... 27
4.4. Change ALARM MESSAGE threshold ............................................................................................................. 28
V. Charts examples ....................................................................................................................................................... 29
5.1. Breakdown of the operating time of the machine ...................................................................................... 29
5.2. Anomaly distribution ....................................................................................................................................... 29
5.3. Average unnatural vibration level in reports ................................................................................................ 30
5.4. Number of drift notifications ......................................................................................................................... 30
2020-10-23 - Version 1.1 2
Bob Assistant - Reference Manual
I. Introduction
1.1. Overview
BoB Assistant is a low power LoRaWANTM compatible vibration sensor for indoor and outdoor predictive
maintenance industrial applications, coupled with a temperature sensor for environmental conditions, a
push button and an RGB Led for User Interface.
BoB ASSISTANT will measure and analyze vibrations to detect abnormal behaviors of your industrial
machines, with artificial intelligence capable of detecting operating anomalies before a failure occurs.
BoB ASSISTANT’s casing is IP68 (dust and water proof). Edge AI makes it possible to process locally any
vibration that comes from your machine. The amount of data transmitted is then optimized and secured,
guaranteeing BoB ASSISTANT's autonomy for several years!
Very easy to install, BoB ASSISTANT does not require any configuration. Simply put BoB ASSISTANT on
your machine, start it, and after a just few hours of learning, BoB ASSISTANT takes care of your machine!
BoB ASSISTANT is delivered with a magnet kit, so you can put your device on your machine out of the
box.
Default configuration:
- Magnet (x2):
o Manufacturer: BRUGGER MAGNET
o Reference: A22AG-KsM4x6
- Nut (x2):
o Manufacturer: BOSSARD
o Reference: BN11207 / 3061765
Validated references:
These magnets references have been successfully tested as compliant with ETSI 300-019 class 5.2 when
mounted on BoB ASSISTANT.
Class 5.2: all types of road vehicles used in areas with a well-developed road system, except tracked
vehicles, motorcycles, scooters and other vehicles with low mass. The equipment can be mounted on
surfaces which may be subjected to flying stones. The equipment may be mounted on passenger car
instrument panels to which high frequency vibrations from the engine, or from other parts connected to
the engine, may be transmitted. This class also applies to fork lift trucks and trains with soft suspension and
shock reducing buffers
1.2.2. Rivet
1.2.3. Screw
In order to fasten BoB ASSISTANT on a circular surface, a fixation plate has been designed. It can be
fastened using hose clamps:
Default configuration:
- Fixation plate (x1):
o Manufacturer: EOLANE
o Reference: EOM1000200
- Hex socket head cap screw M4x6 (x2)
o Manufacturer: BOSSARD
o Reference: BN 612 - 1208152
- Serrated lock washer M4 (x2):
o Manufacturer: BOSSARD
o Reference: BN 4880 - 1184040
Firmware:
Automatic learning process and reporting by
embedded artificial intelligence.
Possibility to add new learning or to reset learning.
AES-128 Encrypted data
The following figure presents the different modes of operation of the device:
• Check for • Learn any new • Send Alarm messages • Get to poweroff
LoRaWANTM vibration signature whenever the drift mode
Network availability • Warn about learning threshold is crossed • If End of life =>
• Check for vibration session(s) progress (25% drift by default) device recycling
level • Send periodic report • Send periodic report
• Send "Device ON" on machine health on machine health
state message at the (drift percentage, (drift percentage,
end of the mode operating time, operating time,
anomaly prediction) anomaly prediction)
• Send machine state • Send machine state
(On/Off) (On/Off)
• Receive potential • Receive potential
Downlink commands Downlink commands
The first step when you install BoB ASSISTANT on a machine you want to monitor will be to start the
device, and make sure that:
o the LoRaWANTM Network is reachable
o the vibration level of the machine is high enough
See §2.2.1 Device Startup for more details.
When the Startup & initialization mode is over, BoB ASSISTANT will then have 2 operating modes :
o Learning and Reporting
o Monitoring
~7 days
It will then add each new signal information to the vibration signature dataset.
For example, after a few hours of operation, the dataset could have more than 30 “screenshots” for the
vibration signature of the machine:
In the first seven days of operation, BoB ASSISTANT will continue monitoring new vibration signatures,
and add them to the dataset.
After this period of time, no new vibration signature will be added to the dataset, unless it is required
through a Downlink command (see §IV Downlink (LoRa to device)).
During a learning session, BoB ASSISTANT will wake up every 60 seconds (default value, configurable,
see §4.2 Change sampling period) to sample the signal, perform the FFT of the vibration signature and
compare and record the sampling to the dataset. BoB ASSISTANT’s dataset is able to record up to 20
different vibration signature zones.
time
Not to scale
Sleep
mode
Vibration wake-up
screenshot and
= compare
and record
sample
signal
FFT
calculation
Please be advised:
o if the vibration level was high enough at startup, but then is going below the minimum level of
detection in the first 7 days, the device might get stuck in a Learning session. In this case, we advise
to change BoB location on the machine to put it as close as possible to the vibration source, or on
a less vibration-insulated element.
o If a new machine cycle appears after the first seven days (e.g. production rate increase), it might
be considered by BoB ASSISTANT as an anomaly. In this case, you will have to send a Downlink
command to BoB ASSISTANT in order to add this cycle to the dataset.
During the Learning session, the device will send messages to keep you posted on the learning
percentage (0 to 100%), for example:
0 1 2 3 4 5
time
Not to scale
Each message will send details on the progress percentage of the learning session (most of the time 5
messages from 0 to 100, with a 20% step), environmental information (temperature, vibration level, peak
frequency), and a screenshot of the FFT (see §3.2.1 Payload structure)
2.1.3.1.2. Reporting
After the first Learning session, BoB ASSISTANT will switch to the reporting mode, where it will analyze
the machine vibration every 5 minutes:
time
Not to scale
BoB ASSISTANT will process each sample to define whether a new learning session is needed, or to
prepare a report of the activity sent in periodic reports (every 3 hours, not configurable) concerning the
health of the machine during this period, regarding:
the operation time of the machine,
its vibration level,
the vibration drift percentage,
and prediction on potential failure distance in time, based on the vibration analysis of the last 24
hours, the last 30 days, and the last 6 months
See §3.3.1 Payload structure for more details on report messages content.
time
Not to scale
2.1.3.2. Monitoring
After the learning mode, BoB ASSISTANT will switch to Monitoring mode, where it will continue its
reporting activity, and will start sending alarms if the drift in the vibration signature pass a defined threshold
(default value is 25% drift).
For each signal sampling (every 5 minutes by default), BoB ASSISTANT will process the sampled signal,
and compare it to its dataset:
For the green sample, the distance/drift of the point compared with the average point is within the
defined threshold (default drift percentage threshold is 25%). In this case, BoB will add the recorded data
to prepare the periodic report
For the red sample, the distance/drift of the point compared with the average point is beyond the
defined threshold. In this case, BoB will send an ALARM MESSAGE. The drift percentage triggering an ALARM
MESSAGE can be customized, see §4.4 Change ALARM MESSAGE threshold.
The alarm message can then trigger an e-mail/SMS alert at the platform level (cloud or on premise),
which will be sent to maintenance teams for machine inspection.
Please be advised: setting BoB ASSISTANT in Fast or Very Fast mode will have consequences on the
device lifespan.
Please be advised: for machines with very short cycles, it is recommended to disable the state
messages, as it could have dramatic effect on the device lifespan.
End of initialization
(5 green LED blinks)
2.2.1.2.2. Troubleshooting
Please be advised: If the LoRaWANTM Network was unreachable or if the vibration level is below the
minimum level, the device will not start its duty, but will go back to deep sleep mode. To restart the
device, follow §2.2.1.1 Turning BoB ASSISTANT ON
The following table summarizes the different sequences displayed by the LED, depending on the origin
of the problem:
Corresponding LED sequence on BoB
Origin of the problem Problem solving
ASSISTANT
- Check device declaration on the
5x LoRaWANTM Network Server (NS),
make sure that DEV_EUI, APP_EUI
and APP_Key are all correctly
LoRaWANTM Network declared on the NS.
unreachable If you did not receive the keys for
your device, please contact us.
5x
Hardware problem
In this case, BoB ASSISTANT must be
replaced and we invite you to
contact our support team
~10s later
To turn BoB Assistant back on, follow the steps described in §2.2.1.1 Turning BoB ASSISTANT ON
2.4. BoB ASSISTANT v1.0 (‘MPU’) and BoB ASSISTANT v1.1 (‘KX’) Product
Variants
BoB ASSISTANT is available in 2 major variants, depending on the accelerometer sensor reference. Those
2 variants both present different range of measurement, accuracy, and therefore monitoring capabilities.
Peak
Sensor Monitored 32 values FFT
Version P/N* Sampling rate Frequency Regions
type frequencies report
value
BoB MPU 3.x 0 - 500 Hz 1000 Hz 0- 500 Hz 32 values between EU only
v1.0 0 and 500Hz
(step=15,625 Hz)
BoB KX 4.x 0 - 12800 Hz Low Frequency 0 - 400 Hz 32 values between EU
v1.1 800Hz and High 0 and 3200 Hz US (prototype)
Frequency (step=100Hz)
25600Hz
MPU KX
o MPU:
o FREQ_SAMPLING_ACC_LF = FREQ_SAMPLING_ACC_HF =1000 Hz
o KX:
o The KX version will make 2 samplings, with 2 distinct sampling rates
FREQ_SAMPLING_ACC_LF = 800Hz
FREQ_SAMPLING_ACC_HF = 25600Hz
For the KX version, the FREQ_SAMPLING_ACC_LF sampling is done to observe potential drift in low
frequencies with a relatively high precision, whereas the FREQ_SAMPLING_ACC_HF allows the sampling of
a large frequency window, with less precision.
For MPU version, the peak frequency is calculated in the [0; 500Hz] window, and for KX version, it is
calculated in the [0; 400Hz] window, with an index value in the [0; 127] range.
MPU version peak frequency step is 7.81Hz, and for KX version, the step is 6.25Hz.
Note: Due to frame size limitation implied by the LoRaWANTM protocol, a compromise has been made
for the FFT values sent for KX version: 32 values are sent between 0 and 3200Hz, with a 100Hz step. Sending
the full frequency window in the FFT values (0 to 12800Hz) would make the step too wide (400Hz) and not
relevant.
When delivered, the device will be OFF. To switch the device ON, please see §2.2.1 Turn the device ON.
The default LoRaWANTM configuration is OTAA (Over The Air Activation, with DevEUI, and AppEUI
contained in the QR code of the product sticker, see QR code). AppKey is transmitted along with DevEUI and
AppEUI through Excel sheet via e-mail at the moment.
2.7.2. Labels
2.7.2.1. Front Label
Cleartext content:
“PN : X.Y” = Device Part Number, e.g. “PN : 3.A”
“SN:123456789” = Device Serial Number, e.g. “SN:000007241”
45 digits Datamatrix content:
AAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDYYMM123456789
with
AAAAAAAAAAAAAAAA = Device APP_EUI (first 16 digits)
DDDDDDDDDDDDDDDD = Device DEV_EUI (16 digits)
YYMM = Device manufacturing year YY (2 digits) and week WW (2
digits)
Current
123456789 = Device Serial Number (last 9 digits)
label
e.g. 70B3D531C000002070B3D531C00011401823000007241
Cleartext content:
“Bob Assistant By Eolane” = Device name
“PN : X.Y” = Device Part Number, e.g. “PN : 4.1”
“Ref: EOS600011040-EUN” = Device Reference
“SN:123456789” = Device Serial Number, e.g. “SN:000007241”
3.1. Introduction
BoB ASSISTANT sends 4 types of messages: LEARNING, REPORT, ALARM and STATE. The payload for
each message has a different structure, and each message type is identified with the byte 0 of the payload
(header).
LEARNING occurs only during the Learning mode (up to 7 days);
REPORT is sent each 3 hours (default configuration);
ALARM message is sent when anomaly level reaches XX% (25% default).
STATE is sent when the measured equipment changes its state from ON to OFF or OFF to ON
(start/stop), or when sensor is on.
STATE message is the first applicative payload sent by the device after power-on.
Value Real_Value
Byte Definition Unit Range Type Comments
(dec) (dec)
21 30days 20% 0~255 Value day [0,255] integer Time, in days, when anomaly level is expected to reach 20%
Anomaly (Prediction based on the data of last 30 days)
level 255=infinite time
prediction
22 30days 50% 0~255 Value day [0,255] integer Time, in days, when anomaly level is expected to reach 50%
Anomaly (Prediction based on the data of last 30 days)
level 255=infinite time
prediction
23 30days 80% 0~255 Value day [0,255] integer Time, in days, when anomaly level is expected to reach 80%
Anomaly (Prediction based on the data of last 30 days)
level 255=infinite time
prediction
24 6months 0~255 Value month [0,255] Time, in months, when anomaly level is expected to reach 20%
20% (Prediction based on the data of last 6 months)
Anomaly 255=infinite time
level
prediction
25 6months 0~255 Value month [0,255] Time, in months, when anomaly level is expected to reach 50%
50% (Prediction based on the data of last 6 months)
Anomaly 255=infinite time
level
prediction
26 6months 0~255 Value month [0,255] Time, in months, when anomaly level is expected to reach 80%
80% (Prediction based on the data of last 6 months)
Anomaly 255=infinite time
level
prediction
Report payload:0x52087f5a00353e090019260c552a00007c77ffffffffffffffff
byte 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 - - - - - - - 26
52 08 7f 5a 00 35 3e 09 00 19 26 0c 55 2a 00 00 00 7c 77 ff ff ff ff ff ff ff ff
Byte Definition Value (dec) Real_Value (dec) Unit Range Type Comments
0 Header MPU/KX = 83 N/A Sensor type :
MPU /KX = “S” (hex=0x53) => State header (same
value for any type of Inertial Motion Unit)
1 sensor & 100~101;125~126 (Value) N/A 100: Sensor start;
machine states 101: Sensor stop;
125: Machine stop;
126: Machine start
2 Battery 0~127 Value*100/127 % [0,100] integer Remaining battery level
percentage
Restart learning will erase the previous vibration points map and learn up to 50 new vibration signatures
Additional Learning will learn new vibration signatures (adding the new vibration signatures to the one
previously recorded, up to 50 in total)
Learning Monitoring
Definition Downlink value (hex) Downlink Port
period period
Very Fast Mode 10 sec 20 sec 0x52 1
Fast Mode 20 sec 2 min 0X53 1
Default Mode 60 sec 5 min 0x54 1
Slow Mode 2 min 10 min 0x55 1
The Downlink message “Enable State Message” activates the start/stop machine notification (default
configuration)
The Downlink message “Disable State Message” deactivates the start/stop machine notification (used
mostly to spare sensor energy in case of frequent state transitions)
Note:
2 years warranty is guaranteed for nominal operation which implies:
o 5 min period measurement
o 8 start/stop messages per day
V. Charts examples
5.5. Temperature
Average temperature reported every 3h. Please note that this temperature is not the surface
temperature of your machine, but an ambient average value measured inside the sensor casing.
frame
Type Payload cleartext (hex) Comment
number
JOIN
frame
Type Payload cleartext (hex) Comment
number
JOIN
{
"type": "learning",
"sensor": "KX",
"msg": {
"temperature": 29,
"learningfromscratch": 1,
"learningpercentage": 100,
"vibrationlevel": 0.107,
"peakfrequencyindex":11,
"peakfrequency":34.38,
"fft": [
0.0034,
0.0051,
0.107,
0.0093,
0.0051,
0.0126,
0.0868,
0.0051,
0.0042,
0.0261,
0.016,
0.0126,
0.0548,
0.0194,
0.0059,
0.0168,
0.0059,
0.0059,
0.0168,
0.0337,
0.0067,
0.016,
0.0312,
0.0059,
0.0034,
0.0025,
0.0025,
0.0017,
0.0017,
0.0017,
0.0017,
0.0017
]
}
}
However, a distinction must be made between breakdowns due to wear or tear (slow drift) and breakage
(fast drift). The increase in the level of the anomaly can therefore sometimes occur only a few days before
the failure. The maintenance team will always be the most able to analyse and intervene on the equipment
when BoB ASSISTANT reports an anomaly.
Also, BoB ASSISTANT will work very well on equipment with one or several stationary vibration regimes
On the other hand, equipment in motion or exhibiting random or time-varying vibration regimes will not
be eligible for the BoB ASSISTANT offer:
7.7. Can BoB ASSISTANT or the machine be moved without disrupting its
operation?
No. The learning of the vibration signature is closely linked to the positioning of the sensor on the
machine, its orientation and its environment. Changing these conditions requires a relearning which can be
done by turning the product OFF and then back ON.
The addition of a vibrating machine near the monitored equipment can also disrupt the operation of BoB
ASSISTANT and cause additional alerts.
RSSI : Strength of the radio signal sent by Bob at the Gateway level (risk of message loss/missing data)
7.11. Bob started his learning but does not complete it. Why?
- Discontinuous operation: The machine operates very discontinuously and the learning process is
paused when it is stopped. It resumes when the machine is restarted, but the complete learning session will
take longer. If the 20% progress is not reached after 24 hours, see the following explanation.
- Unsufficient vibration: BoB ASSISTANT does not pick up enough vibration. Typically, if the vibration
intensity is below 0.01g, BoB ASSISTANT will not be able to learn correctly. The vibration amplitude
information is given by the learning report (see §3.2 LEARNING MESSAGE) . In this case, we recommend
moving the sensor closer to the machine's vibration source (motor, compressor, etc.)
7.12. Why one BoB ASSISTANT is taking more time to complete its learning
than another one?
The complete learning mode lasts 7 days. The first learning session lasts between 1 hour and a few days
depending on the complexity of the vibration signature (number of vibration sources…).
An intermittent device, for example, will take longer to analyze because the learning is stopped if the
machine is switched off. It will resume when the machine restarts.
7.13. Why is BoB ASSISTANT learning several time in the first week of
operation?
After his first learning session, BoB ASSISTANT improves and continues to analyze the vibratory
phenomena of the machine for 7 days. You are informed of a new learning phase by a Learning message. It
is also normal for BoB ASSISTANT to refine its reports on the behaviour of your machine during the first
week.
BoB ASSISTANT can learn up to 20 different vibration regimes.
At the end of the 7 days, the analysis is stabilized and BoB ASSISTANT only alerts you when actual drifts
are observed.
7.17. BoB ASSISTANT did not detect any anomalies, however, a failure
occurred. What to do about it?
Check that BoB ASSISTANT has been positioned as close as possible to the vibration source. If your
machine has several sources of vibration, it may be interesting to place several BoB ASSISTANTs on the
equipment, especially on complex and bulky machines.
A wear or breakdown are almost always preceded or accompanied by a change in the vibration signature.
In this case, the average abnormal vibration level is 5%. The variations observed may correspond to the
different phases of the machine (start-up, variations related to climatic conditions). A relevant alert
threshold for notifications on abnormal vibration level is 10%. In case of an alert, this does not mean that
your machine is in immediate danger but that vigilance is required.
You can also set up several notifications:
- 10% vigilance threshold
- 20% alert threshold (recommended physical intervention)
As a general rule, if a large number of notifications are received shortly after installation, the trigger
threshold is probably too low and should be raised.
7.20. Why does the learning progress report indicate a value outside of
expected values (20%, 40%...)?
If the machine is stopped during the learning process, BoB ASSISTANT detects it and pauses the learning.
It will resume when the machine restarts.
However, if the machine stop exceeds a certain time, an activity report is sent (every 3 hours), indicating
the progress, which can be blocked between 2 standard values.
You can put your hand on the surface to feel the vibration. FIRST MAKE SURE THAT THE SURFACE
TEMPERATURE OF THE EQUIPMENT DOES NOT PRESENT A DANGER