int(sensors[mac]["calpoint1"]), int(sensors[mac]["calpoint2"])) print( "Humidity calibrated (2 points calibration): ", measurement.humidity) elif "humidityOffset" in sensors[mac]: measurement.humidity = humidity + int( sensors[mac]["humidityOffset"]) print("Humidity calibrated (offset calibration): ", measurement.humidity) else: measurement.sensorname = mac if (args.callback): measurements.append(measurement) #print("Length:", len(measurements)) print("") if args.watchdogtimer: keepingLEScanRunningThread = threading.Thread( target=keepingLEScanRunning) keepingLEScanRunningThread.start() logging.debug("keepingLEScanRunningThread started") # Blocking call (the given handler will be called each time a new LE # advertisement packet is detected) parse_le_advertising_events(sock, handler=le_advertise_packet_handler, debug=False) except KeyboardInterrupt: disable_le_scan(sock)
pkt_start = pkt_data_start + pkt_data_len pkt_data_start = pkt_start + 2 pkt_data_len = data[pkt_start] - 1 assert data[pkt_start + 1] == 0xFF # Type should be "Manufacturer Specific Data" print("manufacturer data len is", pkt_data_len) my_data = data[pkt_data_start:pkt_data_start + pkt_data_len] my_data = struct.unpack('B' * pkt_data_len, my_data) print("manufacturer data is", my_data) if my_data[2] == 1: key = pynput.keyboard.Key.right key = KEY_VOLUME_UP keyboard.press(key); keyboard.release(key) elif my_data[2] == 2: key = pynput.keyboard.Key.left key = KEY_VOLUME_DOWN keyboard.press(key); keyboard.release(key) prev_rot_val = my_data[1] prev_data = data_wo_rssi # Blocking call (the given handler will be called each time a new LE # advertisement packet is detected) parse_le_advertising_events(sock, # mac_addr=['24:0A:C4:00:A9:72'], # wipy2 mac_addr=['E1:1B:2B:AC:1F:F9'], # ble nano v2 handler=le_advertise_packet_handler, debug=False) except KeyboardInterrupt: disable_le_scan(sock)