Micropython iBBQ Interface
Project description
Micropython iBBQ
Micropython support for BLE iBBQ thermometers such as those made by Inkbird.
Dependencies
This driver depends on uasyncio
and aioble.
Note that aioble requires a build of MicroPython created after Feb 18 2021 which are the unstable 1.14 releases or 1.15.
Features
- Read temperature levels from all probes
- Read battery level
- Set the display to either celcius or farenheit (temperature readings are in celcius)
- Asynchronous api
Usage
Connect and read the temperature
def handle_data(d):
print("Result:", d)
async def run():
ibbq = iBBQ(handle_data)
await ibbq.connect()
await ibbq.disconnect()
asyncio.run(run())
Read the battery level
async def run():
ibbq = iBBQ(handle_data)
await ibbq.connect()
print("Battery:", await ibbq.battery_level())
await ibbq.disconnect()
asyncio.run(run())
Set the units on the display
async def run():
ibbq = iBBQ(handle_data)
await ibbq.connect()
await ibbq.set_display_to_celcius()
await ibbq.set_display_to_farenheit()
await ibbq.disconnect()
asyncio.run(run())
Credits
Adafruit circuitpython iBBQ and Go iBBQ were very useful for decoding the iBBQ protocol. The Adafruit library in particular has an empirically worked formula for calculating the battery voltage.
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
uibbq-1.0.tar.gz
(7.8 kB
view hashes)