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)