---
title: Sensor Pilot: A Progressive Web App (PWA) for Bluetooth Sensors
date: 2019-12-30T12:05:35+00:00
modified: 2020-01-26T13:22:50+00:00
image:: https://kaspars.net/wp-content/uploads/2019/12/server-pilot-pwa-screenshot-desktop-2x.png
permalink: https://kaspars.net/blog/sensor-pilot-web-bluetooth
post_type: post
author:
  name: Kaspars
  avatar: https://reverse.kaspars.net/gravatar/avatar/92bfcd3a8c3a21a033a6484d32c25a40b113ec6891f674336081513d5c98ef76?s=96&d=mm&r=g
category:
  - Development
  - Electronics
  - Home Automation
---

# Sensor Pilot: A Progressive Web App (PWA) for Bluetooth Sensors

Did you know that Chrome-based browsers (including on Android phones) can interact with Bluetooth Low Energy (LE) sensors and devices without any additional software using the [Web Bluetooth API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API)? Bundle that with the off-line features enabled by the [progressive web apps](https://developers.google.com/web/progressive-web-apps) (PWA) and we get a real application using pure web technologies and standards.

Visit the [Sensor Pilot app →](https://kasparsd.github.io/sensor-pilot/)

I started playing with the Web Bluetooth API after getting the [Xiaomi Mijia clock](https://kaspars.net/go/xiaomi-mijia-clock-bluetooth) that also also measures air temperature and relative humidity:

[![Xiaomi Mijia clock with temperature and humidity sensor and Bluetooth LE interface](https://kaspars.net/wp-content/uploads/2019/12/xiaomi-mijia-bluetooth-temperature-humidity-sensor.jpg?strip=all&quality=90&resize=1000,491)](https://kaspars.net/go/xiaomi-mijia-clock-bluetooth)Xiaomi Mijia clock with temperature and humidity sensor and Bluetooth LE interface.Turns out that reading sensor values and updating the time is relatively simple as long as you can get your head around the Bluetooth LE communication patterns such as [GATT services](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothRemoteGATTServer) and [characteristics](https://developer.mozilla.org/en-US/docs/Web/API/BluetoothRemoteGATTCharacteristic).

## Screenshots

![Sensor Pilot Progressive Web App for Bluetooth Sensors on Desktop](https://kaspars.net/wp-content/uploads/2019/12/sensor-pilot-desktop-pwa-bluetooth.png?strip=all&quality=90&resize=1024,1024)Google Chrome web browser connected to [Aranet4](https://aranet4.com/).![Sensor Pilot Progressive Web App for Bluetooth Sensors as an app](https://kaspars.net/wp-content/uploads/2019/12/server-pilot-pwa-screenshot-desktop-2x.png?strip=all&quality=90&resize=1024,1024)Web app view of the progressive web app connected to [Aranet4](https://aranet4.com/).The app currently works only with the [Aranet4 Home device](https://kaspars.net/blog/aranet4-teardown).