Skip to content

Bluetooth Low Energy framework for communicating with Combustion Inc. Predictive Thermometers.

License

Notifications You must be signed in to change notification settings

combustion-inc/combustion-android-ble

Repository files navigation

Android Communication Library for Combustion Inc.

License Release Twitter

About Combustion Inc.

We build nice things that make cooking more enjoyable. Like a thermometer that's wireless, oven-safe, and uses machine learning to do what no other thermometer can: predict your food’s cooking and resting times with uncanny accuracy.

Our Predictive Thermometer's eight temperature sensors measure the temp outside and inside the food, in the center and at the surface, and nearly everywhere in between. So you know what’s really happening in and around your food. There's a display Timer that's big and bold—legible even through tears of joy and chopped onions—and a mobile app.

Or you can create your own mobile app to work with the Predictive Thermometer using this and our iOS open source libraries.

Visit www.combustion.inc to purchase or learn more about the Predictive Thermometer.

Head on over to our FAQ for more product details.

Ask us a quick question on Twitter.

Email [email protected] for OEM partnership information.

Overview

This project enables BLE communication with Combustion Inc. Predictive Thermometers using Android smartphones. The library is written in Kotlin targeting Android OS and is distributed as an Android Archive for incorporation into your apps.

The library provides an Android Service with a simple API to discover and receive temperature data from Combustion Inc. thermometers. The library uses Kotlin flows as the communication mechanism to deliver data and state asynchronously to your app's UI components.

The library allows third-party apps to

  • Scan for and be notified of in-range thermometers.
  • Receive real-time temperature updates from thermometers.
  • Connect to and transfer the temperature logs from thermometers.
  • Be notified of global events such as device connection, disconnection, or Bluetooth enable and disable.

There are more features on our roadmap below. So please explore and let us know what you think!

Using the Library

A straightforward example Android app illustrating the use of this framework is available at the combustion-android-example repo. The example uses Jetpack Compose and follows Android's Guide to App Architecture with example UI Layer code for interacting with this library as the Data Layer.

The API

The public API and data access objects are contained in the inc.combustion.framework.service package. The DeviceManager class is the primary entrypoint for the API and encapsulates the Combustion Service. See the DeviceManager source documentation for more details on the API.

The CombustionService manages the communications and data buffer with Combustion devices. The service can optionally be run in the Foreground, ensuring that it is long-lived, by passing a foreground notification when starting the service. If your use-case is lighter weight and only needs to access BLE advertisements from the probe, then you can use the ProbeScanner and ProbeScanResult.

The Android example provides more detail on using these APIs.

Adding the Library to Your Project

You can find our library on JitPack. Go to that page for instructions on setting up your root build.gradle to use the JitPack repository and add the library dependency to your build. See our build.gradle for the compiler arguments and dependencies used by the library.

Permissions

The library uses BLE to communicate with Combustion's thermometers so your app is required to declare Bluetooth permissions. Additionally the library also interacts with the notification system service which requires Notification permissions. The Android example walks through an approach for getting consent from your users as part of your app's UI. Also see the library's AndroidManifest.xml for the specific permission list.

Feature Requests & Issues

Your feedback is important. For requesting new features or reporting issues use the issue tracker.

Framework Features Coming Soon

The following features are planned for near-term development:

  • Firmware update: Methods for updating a Probe's firmware with a signed firmware image.

About

Bluetooth Low Energy framework for communicating with Combustion Inc. Predictive Thermometers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages