A driver to connect to and control a Brilliant Labs Monocle peripheral
Project description
Brilliant Monocle Driver
brilliant-monocle-driver
is a simple Python library that uses
Bleak to connect to and control a Brilliant Labs Monocle display device.
Install
pip install brilliant-monocle-driver
Usage examples
Display battery and then blank screen
import asyncio
from brilliant_monocle_driver import Monocle
def callback(channel, text_in):
"""
Callback to handle incoming text from the Monocle.
"""
print(text_in)
# Simple MicroPython command that prints battery level for five seconds
# and then blanks the screen
COMMAND = """
import display
import device
import time
from brilliant_monocle_driver import Monocle
def show_battery(count):
batLvl = str(device.battery_level())
display.fill(0x000066)
display.text("bat: {} {}".format(batLvl, count), 5, 5, 0xffffff)
display.show()
count = 0
while (count < 5):
show_battery(count)
time.sleep(1)
count += 1
display.fill(0x000000)
display.show()
print("Done")
"""
async def execute():
mono = Monocle(callback)
async with mono:
await mono.send(COMMAND)
asyncio.run(execute())
Receive touch events
import asyncio
from brilliant_monocle_driver import Monocle
def a_touch():
print("A touch!")
def b_touch():
print("B touch!")
async def execute():
mono = Monocle()
async with mono:
await mono.install_touch_events()
mono.set_a_touch_callback(a_touch)
mono.set_b_touch_callback(b_touch)
await asyncio.sleep(30000)
asyncio.run(execute())
Details
brilliant-monocle-driver
attaches to a Monocle via the UART characteristics exposed over
BLE in Monocle's default firmware, as specified in the
Monocle documentation. Once
connection is established, commands can be sent directly to the Monocle as
MicroPython. The driver avoids MTU overflow and does some convenience /
correction massaging (sending Ctrl-C
to stop any running command and wrapping
the incoming command in Ctrl-A | Ctrl-D
to avoid interference from the REPL's
echo and auto-formatting convenience behaviors).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file brilliant-monocle-driver-0.1.3.tar.gz
.
File metadata
- Download URL: brilliant-monocle-driver-0.1.3.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cda6261cd24d896820ab764a02ca2c603a9cdad930cd9037989073ba7dace516 |
|
MD5 | 31ea9c0e8a5b23f1a4c8737b14ea05db |
|
BLAKE2b-256 | 05e35b295b81c0e5fa5c7a6785b71000dab4acd1f014c9ed13cd862a1ff45fe6 |
File details
Details for the file brilliant_monocle_driver-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: brilliant_monocle_driver-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6b8fd210fdb33d35fd19e4839fcb0459d8802e6db33a7575009919abb8b41bf9 |
|
MD5 | 3701aef9f3599634f93088841126ee56 |
|
BLAKE2b-256 | ae5019eb4dac188b5b25eb0b94ac3af2d42a5f56544120b9e66e62865d6ef3be |