def main(argv): import_manager = Import_Manager() thread_manager = Thread_Manager() usb_manager = USB_Manager() usb_manager.index() arguments = Arguments("settings.json", argv, positionals=[{ "name": "rf_sensor_class", "help": "Sensor class to use for the RF sensor", "type": "class", "module": "zigbee.RF_Sensor", "required": True }]) rf_sensor_class = arguments.get_positional_value("rf_sensor_class") rf_sensor_type = import_manager.load_class(rf_sensor_class, relative_module="zigbee") rf_sensor = rf_sensor_type(arguments, thread_manager, get_location, receive_packet, location_valid, usb_manager=usb_manager) arguments.check_help() try: rf_sensor.activate() print("RF sensor has joined the network.") while True: if rf_sensor.id == 0: # The ground station does not need to start in order to receive # measurements, so do not bother giving this possibility. time.sleep(1) else: # Wait for the user to determine when to perform measurements # and when to stop. Add a newline so that the messages do not # mess up other output. raw_input("Press Enter to start measurements...\n") rf_sensor.start() raw_input("Press Enter to stop measurements...\n") rf_sensor.stop() except: traceback.print_exc() thread_manager.destroy() usb_manager.clear()
def main(argv): arguments = Arguments("settings.json", argv) settings = arguments.get_settings("xbee_configurator") arguments.check_help() usb_manager = USB_Manager() for sensor_id in range(0, settings.get("number_of_sensors") + 1): if sensor_id == 0: raw_input("Connect the ground station XBee sensor and press Enter...") else: raw_input("Connect XBee sensor {} and press Enter...".format(sensor_id)) usb_manager.index() parameters = { "ID": settings.get("pan_id"), "NI": str(sensor_id), "PM": 0, "PL": 0 } xbee_configurator = XBee_Configurator(arguments, usb_manager) # Show the current parameters. for key in parameters.iterkeys(): value = xbee_configurator.get(key) if value != None: print("{}[Sensor {}] {} is {}.{}".format(COLORS["green"], sensor_id, key, value, COLORS["end"])) else: print("{}[Sensor {}] {} is unknown.{}".format(COLORS["red"], sensor_id, key, COLORS["end"])) # Set the new parameters. for key, value in parameters.iteritems(): if xbee_configurator.set(key, value): print("{}[Sensor {}] {} set to {}.{}".format(COLORS["green"], sensor_id, key, value, COLORS["end"])) else: print("{}[Sensor {}] {} not set to {}.{}".format(COLORS["red"], sensor_id, key, value, COLORS["end"])) # Write the changes to the sensor. if xbee_configurator.write(): print("{}[Sensor {}] Changes written to sensor.{}".format(COLORS["green"], sensor_id, COLORS["end"])) else: print("{}[Sensor {}] Changes not written to sensor.{}".format(COLORS["red"], sensor_id, COLORS["end"])) usb_manager.clear()