Real-time data as speed, engine temperature, DTC codes as check engine, brake problem and more. Read live data from sensors as turbo boost, timing, duty cycles. Monitor current vehicle speed and analyze the gathered statistics. Be notified!
2. 2
What is
• Open-Source Monitoring Tool
• Enterprise level – Scale? Not a problem!
• Universal and Flexible
• Distributed monitoring – Zabbix is everywhere!
• Collect – React – Store - Visualize
8. 8
Examples from real life
• Smart office monitoring (Even if it’s not very smart..)
• Collect Humidity data from your plants
• Get notified about discounts in your favorite store
• Industrial machinery
• Even On-board Diagnostics monitoring ☺
9. 9
On-board Diagnostics (OBD)
• Automotive term referring to vehicle's self-diagnostic and
reporting capability
• Amount of diagnostic information that is available has varied
widely since it’s introduction in the early 1080s
• Modern OBD implementations use a standardized digital
communications port to provide real-time data in addition to
standard series of diagnostic trouble codes (DTC)
10. 10
OBD Versioning
• ALDL ( Assambly Line Diagnostic Link – GM proprietary onboard
diagnostic interface that started with the late 1970s )
• M-OBD (Multiplex OBD variant protocol used by Toyota, prior
to OBD-II compliance)
• OBD-I ( DTC over DLC-Diagnostic link connector )
• OBD-1.5 ( Partial implementation of OBD-II )
• OBD-II ( Electronic signaling and messaging format available )
14. 14
How to get data?
It is basically not possible to gather data directly from ECU to
ZABBIX. Therefore, the gateway is required. Fortunately, it is
already made!
15. 15
ELM327
• ELM327 is a programmed microcontroller produced by ELM
Electronics for translating the OBD interface.
• ELM327 command protocol is one of the most popular PC-to-
OBD interface standards
• Original ELM327 is implemented on the PIC18F2480
microcontroller
16. 16
ELM327
• The ELM327 abstracts the low-level protocol and presents a
simple interface that can be called via UART, typically by a
hand-held diagnostic tool or a computer program connected by
USB, RS-232, Bluetooth or WiFi.
• New applications include smartphones.
17. 17
And what exactly can we do?
• Receive Diagnostic Trouble Codes (DTC)
• Live data from vehicle sensors
• Clear stored DTCs
18. 18
Let’s grab that data!
• https://python-obd.readthedocs.io (GNU General Public License V2)
19. 19
Time for
• Do we need some new – not yet created functionality to
perform this monitoring?
• Do we need expertise knowledge?
• Do we need never ending scripts and continuous support of
developers?
21. 21
Time for
• Use Zabbix-sender in wrapper to send received data to the
Zabbix trapper items
• Limit trapper items to receive data only from specified IP
address
• Send data faster than every second
22. 22
Time for
• Every data from library comes with its definition.
• Use Pre-Processing to extract only digit from value.
• Use “Custom on Fail” for continues workflow even in case of failed check
• Applications for logical grouping of items
24. 24
Time for
Triggers? You decide!
• Average speed higher than acceptable
• Engine temperature is higher than it should be
• DTC Registered on ECU
• Requested / Actual reading differs more then X
• Different notification and escalation options
25. 25
Time for
One Car per Zabbix server? No! Use Zabbix proxies!
• Lightweight and ready for embedded devices
• Database to store backlog
• Choose direction of connection (Active/Passive)
• Centralized configuration
• Official packages for Raspbian
26. 26
Time for
How many proxies can you have? As many as you need!
ZABBIX
SERVER
1
3
2
4
5
5
6
7
8
9
27. 27
Time for
How to install ZABBIX in car?
• Easy to use
• Low power consumption
• Possibility to extend
• Official ZABBIX packages
28. 28
Time for
Need more data? Add sensors!
• GPS
• Movement sensor
• Tilt sensor
• Smoke sensor