This Python script connects to a Bosch PLR 30 C laser range measurement device using Bluetooth Low Energy (BLE) GATT. It can trigger a distance measurement remotely, or receive measurement values from the device when operated directly using its buttons.
It supports all four measurement modes:
- simple distance measuremen: meters
- min-max distance measuremen: meters
- wall / surface area measurement: square meters
- room / volumetric measurement: cubic meters
All modes support front or rear device measurement orientations.
If enabled, it can act as virtual keyboard and directly "type out" the measured value into any application running in the foreground.
This Python script is built without access to or requiring the Bosch GLM/PLR Bluetooth App Kit.
Currently tested and working on macOS. Support for other platforms depends mostly on the Bleak library for BLE GATT support.
https://github.com/PointerEvent/bosch-plr-demo.git
https://github.com/ketan/Bosch-GLM50C-Rangefinder/blob/main/python/main.py
https://github.com/philipptrenz/BOSCH-GLM-rangefinder
https://www.eevblog.com/forum/projects/hacking-the-bosch-glm-20-laser-measuring-tape/
https://devzone.nordicsemi.com/f/nordic-q-a/80589/sniffing-a-bosch-laser-tape-2/337766