# initialise the list distance_samples = [] sumDistance = 0 # take 10 samples and append them into the list for count in range(10): distance_samples.append(int(distance_measure())) sumDistance += distance_samples[count] # sort the list distance_samples = sorted(distance_samples) distance_average = math.trunc(sumDistance / 10) # take the center list row value (median average) distance_median = distance_samples[int(len(distance_samples) / 2)] # apply the function to scale to volts print(distance_samples) packet = struct.pack('iii', distance_median, distance_average, vol_batTrunc) print(packet) s.send(packet) return int(distance_median) print(distance_median()) MF(0) #s.send(sendPacket) py.setup_sleep(720) py.go_to_sleep(False)
print('\n\n** Humidity and Temperature Sensor (SI7006A20)') print('Humidity', si.humidity()) print('Temperature', si.temperature()) lpp.add_relative_humidity(1, si.humidity()) lpp.add_temperature(1, si.temperature()) mpPress = MPL3115A2(py,mode=PRESSURE) print('\n\n** Barometric Pressure Sensor with Altimeter (MPL3115A2)') print('Pressure (hPa)', mpPress.pressure()/100) lpp.add_barometric_pressure(1, mpPress.pressure()/100) mpAlt = MPL3115A2(py,mode=ALTITUDE) print('Altitude', mpAlt.altitude()) print('Temperature', mpAlt.temperature()) lpp.add_gps(1, 0, 0, mpAlt.altitude()) lpp.add_temperature(2, mpAlt.temperature()) print('Sending data (uplink)...') s.send(bytes(lpp.get_buffer())) s.setblocking(False) data = s.recv(64) print('Received data (downlink)', data) except: 1 lora.nvram_save() py.setup_sleep(300) py.go_to_sleep()