def __init__(self, dev, bus): #TODO deprecate bus param, and dev becomes a usb.core.Device object, not a string in pyUSB 1.x use ''' Instantiates the KillerBee class for the RZUSBSTICK hardware. @type dev: TODO @param dev: USB device identifier @type bus: TODO @param bus: Identifies the USB bus the device is on @return: None @rtype: None ''' self._channel = None self.handle = None self.dev = dev self.__bus = bus if self.dev != None: self.__handle_open() else: raise Exception('No interface found') # Tracking the command operating mode (None or AirCapture Mode) self.__cmdmode = RZ_CMD_MODE_NONE # Tracking if the RZ_CMD_OPEN_STREAM parameter is set for packet reception self.__stream_open = False # Capabilities list self.capabilities = KBCapabilities() self.__set_capabilities()
def __init__(self, dev, revision=DEFAULT_REVISION): ''' Instantiates the KillerBee class for the ApiMote platform running GoodFET firmware. @type dev: String @param dev: Serial device identifier (ex /dev/ttyUSB0) @type revision: Integer @param revision: The revision number for the ApiMote, which is used by the called GoodFET libraries to properly communicate with and configure the hardware. @return: None @rtype: None ''' self._channel = None self._page = 0 self.handle = None self.dev = dev self.__revision_num = revision # Set enviroment variables for GoodFET code to use os.environ["platform"] = "apimote%d".format(self.__revision_num) os.environ["board"] = "apimote%d".format(self.__revision_num) self.handle = GoodFETCCSPI() self.handle.serInit(port=self.dev) self.handle.setup() # TODO can we verify here the revision number that was sent is correct? self.__stream_open = False self.capabilities = KBCapabilities() self.__set_capabilities()
def __init__(self, dev, bus, variant): #TODO deprecate bus param, and dev becomes a usb.core.Device object, not a string in pyUSB 1.x use """ Instantiates the KillerBee class for Zigduino running GoodFET firmware. @type dev: String @param dev: PyUSB device @return: None @rtype: None """ if variant == CC253x.VARIANT_CC2530: self._data_ep = CC253x.USB_CC2530_DATA_EP else: self._data_ep = CC253x.USB_CC2531_DATA_EP self._channel = None self._page = 0 self.dev = dev self.__stream_open = False self.capabilities = KBCapabilities() self.__set_capabilities() # Set default configuration self.dev.set_configuration() # get name from USB descriptor self.name = usb.util.get_string(self.dev, self.dev.iProduct) # Get wMaxPacketSize from the data endpoint for cfg in self.dev: for intf in cfg: for ep in intf: if ep.bEndpointAddress == self._data_ep: self._maxPacketSize = ep.wMaxPacketSize
def __init__(self, serialpath): ''' Instantiates the KillerBee class for our sketch running on ChibiArduino on Freakduino hardware. @param serialpath: /dev/ttyUSB* type serial port identifier @return: None @rtype: None ''' self._channel = None self.handle = None self.dev = serialpath self.date = None self.lon, self.lat, self.alt = (None, None, None) self.handle = serial.Serial(port=self.dev, baudrate=57600, \ timeout=1, bytesize=8, parity='N', stopbits=1, xonxoff=0) self.capabilities = KBCapabilities() self.__set_capabilities()
def __init__(self, serialpath): ''' Instantiates the KillerBee class for Silabs BEEHIVE @param serialpath: /dev/ttyACM* type serial port identifier @return: None @rtype: None ''' self._channel = None self._page = 0 self.handle = None self.dev = serialpath self.date = None self.lon, self.lat, self.alt = (None, None, None) self.__stream_open = False self.handle = serial.Serial(port=self.dev, baudrate=115200, \ timeout=.02, bytesize=8, parity='N', stopbits=1, xonxoff=0) self.capabilities = KBCapabilities() self.__set_capabilities()
def __init__(self, dev): ''' Instantiates the KillerBee class for Zigduino running GoodFET firmware. @type dev: String @param dev: Serial device identifier (ex /dev/ttyUSB0) @return: None @rtype: None ''' self._channel = None self.handle = None self.dev = dev self.handle = GoodFETatmel128rfa1() self.handle.serInit(port=self.dev) self.handle.setup() self.__stream_open = False self.capabilities = KBCapabilities() self.__set_capabilities()
def __init__(self, dev): ''' Instantiates the KillerBee class for our TelosB/TmoteSky running GoodFET firmware. @type dev: String @param dev: Serial device identifier (ex /dev/ttyUSB0) @return: None @rtype: None ''' self._channel = None self.handle = None self.dev = dev os.environ["board"] = "telosb" #set enviroment variable for GoodFET code to use self.handle = GoodFETCCSPI() self.handle.serInit(port=self.dev) self.handle.setup() self.__stream_open = False self.capabilities = KBCapabilities() self.__set_capabilities()
def __init__(self, dev=DEFAULT_IP, recvport=DEFAULT_UDP, recvip=DEFAULT_GW): ''' Instantiates the KillerBee class for the Sewio Sniffer. @type dev: String @param dev: IP address (ex 10.10.10.2) @type recvport: Integer @param recvport: UDP port to listen for sniffed packets on. @type recvip: String @param recvip: IP address of the host, where the sniffer will send sniffed packets to. @return: None @rtype: None ''' self._channel = None self._modulation = 0 #unknown, will be set by change channel currently self.handle = None self.dev = dev #TODO The receive port and receive IP address are currently not # obtained from or verified against the Sewio sniffer, nor are they # used to change the settings on the sniffer. self.udp_recv_port = recvport self.udp_recv_ip = recvip self.__revision_num = getFirmwareVersion(self.dev) if self.__revision_num not in TESTED_FW_VERS: print( "Warning: Firmware revision {0} reported by the sniffer is not currently supported. Errors may occur and dev_sewio.py may need updating." .format(self.__revision_num)) self.handle = socket.socket(AF_INET, SOCK_DGRAM) self.handle.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) self.handle.bind((self.udp_recv_ip, self.udp_recv_port)) self.__stream_open = False self.capabilities = KBCapabilities() self.__set_capabilities() self.sniffer = OpenSniffer('10.10.10.2')