piannucci / pymtprotocol Goto Github PK
View Code? Open in Web Editor NEWPython implementation of the BLE protocol for remote-controlling the Bosch GLM100 laser measurer
Python implementation of the BLE protocol for remote-controlling the Bosch GLM100 laser measurer
Hey there, great work!
Where did you find a specification of the GLM100C Protocol. I'm trying to read me measurement date with a custom android app without luck so far.
Hi again,
One other thing, is there a chance to set the python code to listen for measurements, as opposed to triggering them? So that the measurement is triggered by the Bosch rather than by python?
Cheers,
Freddy
Hi @piannucci
Thanks for the work you've done here. I'm developing an app for a customer who uses the GLM 50 and I need to read data from Bluethooth, so i think your code would really help me.
The problem is that I cannot start the server. I'm not a Python developer so i'm not sure if i'm doing things right, but when i do python glm-server.py
i get this:
Traceback (most recent call last):
File "glm-server.py", line 471, in <module>
loop.create_task(runBluetoothCentralManager(
AttributeError: '_UnixSelectorEventLoop' object has no attribute 'create_task'
I'm using Python 3.4.0.
Thanks a lot!!!
Hi there,
First of all, thank you so much for such brilliant work - I was able to combine it with the keyboard lib to listen for a hotkey, and then write the measurement into the keyboard buffer - using it to effectively start a line in sketchup and then trigger the measurement to determine it's length... brilliant!
However, where I am getting stuck is to try and activate the laser before the measurements (permanently) - I am wanting to basically do what you can when holding down func and go down in the menu to permanently activate the laser (but not stake out).
I have tried to fiddle with the laserOn and laserPointerEnabled settings via variations of code like
glm.writeSettings(glm.readSettings(), laserOn=1)
and
glm.writeSettings(glm.readSettings(), laserPointerEnabled=True)
, and while it does not throw an error, it has not the desired effect.
Have you been able to make this work during your experimentation? Any tips?
Thanks again,
F
Hey there,
thanks for your work to reverse engineer the protocol and sharing it!
When I execute glm-server.py
I just get Segmentation fault: 11
, then it exits. I don't have a clue where to start.
I found this, but as it got fixed within 3.3.3 this shouldn't be the issue https://stackoverflow.com/questions/19531969/segmentation-fault-11-in-os-x
The GLM 100 C is connected via Bluetooth, it shows up as BOSCH GLM 100 C x0524
(same on a Windows laptop). Is this how it should be or could the device be broken? Seems a bit strange to me having a hex value within the Bluetooth name.
Thanks for your help!
MacBook Pro 13" Late 2016
MacOS Sierra 13.3.3
Python 3.6.0 :: Anaconda 4.3.1 (x86_64)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.