Python class that encapsulates all the procedures for connecting to a specific BLE device, getting a characteristic, and subscribing to notifications.
Once a data set has been received (from an exercise) it sends the data via UART to another device to serve via the web. This is required because the ESP32S3 only has one antennae, and can't do Bluetooth and Wifi at the same time.
Also uses NTP for accurate clock time for data filenames
Driver for the Elliptical.py class
Python class that serves up CSV files via a webserver.
Driver for the Webserver2 class and manages the UART data for new exercise data sets.
An investigation into using aioble
- Connects to LAN and gets time
- Scans for the Schwinn 470 device (based on name),
- Connects to the device and scans for characteristics
- Can skip a list of known characteristics
- Reads Data, Sets up a subscription, and Writes Data
Reading multiple data characteristics from a BLE device.
Connects to specific device by name, a specific service id, and specific GATTC Read characteristic. Reads the data and performs required calculations. Based on some wonderful code I found from ursoft here