Skip to main content

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

This version

1.0

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)

Uploaded Source

Built Distribution

uibbq-1.0-py2.py3-none-any.whl (7.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page