Adafruit_CircuitPython_BLE/examples/ble_bluefruit_connect_plotter.py
David Glaude af621843a1
Maximum 10 data per second + Mu plotter syntax
This should fix issue #57
2020-01-16 00:08:07 +01:00

35 lines
1 KiB
Python
Executable file

# CircuitPython Bluefruit LE Connect Plotter Example
import time
import board
import analogio
import adafruit_thermistor
from adafruit_ble import BLERadio
from adafruit_ble.advertising.standard import ProvideServicesAdvertisement
from adafruit_ble.services.nordic import UARTService
ble = BLERadio()
uart_server = UARTService()
advertisement = ProvideServicesAdvertisement(uart_server)
thermistor = adafruit_thermistor.Thermistor(board.TEMPERATURE, 10000, 10000, 25, 3950)
light = analogio.AnalogIn(board.LIGHT)
def scale(value):
"""Scale the light sensor values from 0-65535 (AnalogIn range)
to 0-50 (arbitrarily chosen to plot well with temperature)"""
return value / 65535 * 50
while True:
# Advertise when not connected.
ble.start_advertising(advertisement)
while not ble.connected:
pass
ble.stop_advertising()
while ble.connected:
print((scale(light.value), thermistor.temperature))
uart_server.write('{},{}\n'.format(scale(light.value), thermistor.temperature))
time.sleep(0.1)