/ examples / ble_broadcastnet_multisensor.py
ble_broadcastnet_multisensor.py
 1  """This is a complex sensor node that uses the sensors on a Clue and Feather Bluefruit Sense."""
 2  
 3  import time
 4  import board
 5  import adafruit_bmp280
 6  import adafruit_sht31d
 7  
 8  # import adafruit_apds9960.apds9960
 9  import adafruit_lis3mdl
10  import adafruit_lsm6ds
11  import adafruit_ble_broadcastnet
12  
13  print("This is BroadcastNet sensor:", adafruit_ble_broadcastnet.device_address)
14  
15  i2c = board.I2C()
16  
17  # Define sensors:
18  # Accelerometer/gyroscope:
19  lsm6ds = adafruit_lsm6ds.LSM6DS33(i2c)
20  
21  # Magnetometer:
22  lis3mdl = adafruit_lis3mdl.LIS3MDL(i2c)
23  
24  # DGesture/proximity/color/light sensor:
25  # TODO: How do we get the light level?
26  # apds9960 = adafruit_apds9960.apds9960.APDS9960(i2c)
27  # apds9960.enable_color = True
28  
29  # Humidity sensor:
30  sht31d = adafruit_sht31d.SHT31D(i2c)
31  
32  # Barometric pressure sensor:
33  bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
34  
35  while True:
36      measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement()
37      measurement.temperature = (sht31d.temperature, bmp280.temperature)
38      measurement.relative_humidity = sht31d.relative_humidity
39      measurement.pressure = bmp280.pressure
40      measurement.acceleration = lsm6ds.acceleration
41      measurement.magnetic = lis3mdl.magnetic
42      print(measurement)
43      adafruit_ble_broadcastnet.broadcast(measurement)
44      time.sleep(60)