|
31 | 31 | # Barometric pressure sensor:
|
32 | 32 | bmp280 = adafruit_bmp280.Adafruit_BMP280_I2C(i2c)
|
33 | 33 |
|
34 |
| -last_sht31d_temperature = None |
35 |
| -last_sht31d_relative_humidity = None |
36 |
| -last_bmp280_temperature = None |
37 |
| -last_bmp280_pressure = None |
38 |
| -last_lsm6ds_acceleration = None |
39 |
| -last_lis3mdl_magnetic = None |
40 |
| - |
41 | 34 | while True:
|
42 | 35 | measurement = adafruit_ble_broadcastnet.AdafruitSensorMeasurement()
|
43 |
| - |
44 |
| - # Handle the two temperature measurements. We must always provide both because they split into |
45 |
| - # feeds based on the position in the field. |
46 |
| - sht31d_temperature = round(sht31d.temperature, 0) |
47 |
| - bmp280_temperature = round(bmp280.temperature, 0) |
48 |
| - if (sht31d_temperature != last_sht31d_temperature or |
49 |
| - bmp280_temperature != last_bmp280_temperature): |
50 |
| - measurement.temperature = (sht31d_temperature, bmp280_temperature) |
51 |
| - last_sht31d_temperature = sht31d_temperature |
52 |
| - last_bmp280_temperature = bmp280_temperature |
53 |
| - |
54 |
| - # Relative humidity, rounded to the nearest whole integer. |
55 |
| - sht31d_relative_humidity = round(sht31d.relative_humidity, 0) |
56 |
| - if sht31d_relative_humidity != last_sht31d_relative_humidity: |
57 |
| - measurement.relative_humidity = sht31d_relative_humidity |
58 |
| - last_sht31d_relative_humidity = sht31d_relative_humidity |
59 |
| - |
60 |
| - # Pressure, round to one decimal place. |
61 |
| - bmp280_pressure = round(bmp280.pressure, 1) |
62 |
| - if bmp280_pressure != last_bmp280_pressure: |
63 |
| - measurement.pressure = bmp280_pressure |
64 |
| - last_bmp280_pressure = bmp280_pressure |
65 |
| - |
66 |
| - # Acceleration, each axis rounded to one decimal place. |
67 |
| - lsm6ds_acceleration = tuple([round(axis, 1) for axis in lsm6ds.acceleration]) |
68 |
| - if lsm6ds_acceleration != last_lsm6ds_acceleration: |
69 |
| - measurement.acceleration = lsm6ds_acceleration |
70 |
| - last_lsm6ds_acceleration = lsm6ds_acceleration |
71 |
| - |
72 |
| - # Magnetic, each axis rounded to two decimal places. |
73 |
| - lis3mdl_magnetic = tuple([round(axis, 2) for axis in lis3mdl.magnetic]) |
74 |
| - if lis3mdl_magnetic != last_lis3mdl_magnetic: |
75 |
| - measurement.magnetic = lis3mdl_magnetic |
76 |
| - last_lis3mdl_magnetic = lis3mdl_magnetic |
77 |
| - |
78 |
| - if measurement: |
79 |
| - print(measurement) |
80 |
| - adafruit_ble_broadcastnet.broadcast(measurement) |
81 |
| - time.sleep(10) |
| 36 | + measurement.temperature = (sht31d.temperature, bmp280.temperature) |
| 37 | + measurement.relative_humidity = sht31d.relative_humidity |
| 38 | + measurement.pressure = bmp280.pressure |
| 39 | + measurement.acceleration = lsm6ds.acceleration |
| 40 | + measurement.magnetic = lis3mdl.magnetic |
| 41 | + print(measurement) |
| 42 | + adafruit_ble_broadcastnet.broadcast(measurement) |
| 43 | + time.sleep(60) |
0 commit comments