def __init__(self):
        global inventory_msg
        global tag_dict

        # Init our global vars...
        inventory_msg = Inventory()
        tag_dict = {}

        # Get the ~private namespace parameters from command line or launch file.
        self.tinventory = float(rospy.get_param('~tinventory', '2.0'))
        self.trest = float(rospy.get_param('~trest', '1.0'))
        self.txpower = int(rospy.get_param('~txpower', '2000'))
        self.topic = rospy.get_param('~topic', 'Inventory')

        rospy.loginfo('tinventory = %d', self.tinventory)
        rospy.loginfo('txpower = %d', self.txpower)
        rospy.loginfo('trest = %d', self.trest)       
        rospy.loginfo('topic = %s', self.topic)

	# Configure reader and launch
	m6e.init()
        reader = m6e.startReader("tmr:///dev/rfid", rfidCallback)
        m6e.setHopTime(reader, 40)
	m6e.getPower(reader)        
        m6e.setPower(reader,self.txpower)
	m6e.getPower(reader)

        # Create a publisher
        pub = rospy.Publisher(self.topic, Inventory,queue_size=10)





        # Main while loop.
        while not rospy.is_shutdown():
            # Prepare custom mesage
	    #inventory_msg = Inventory()
            inventory_msg.startTime = rospy.get_rostime()
            inventory_msg.maxTimeMiliSecs = int(self.tinventory)  # shall change msg to be a double...
            inventory_msg.TxPower = self.txpower
            inventory_msg.tagList = []
            tag_dict = {}
            # get inventory: read tags for specified time
            self.getInventory()
            inventory_msg.tagList = tag_dict.values()

            # publish them
            pub.publish(inventory_msg)

            # Sleep for a while after publishing new messages
            rospy.sleep(self.trest)
Beispiel #2
0
    def __init__(self):
        global inventory_msg
        global tag_dict

        # Init our global vars...
        inventory_msg = Inventory()
        tag_dict = {}

        # Get the ~private namespace parameters from command line or launch file.
        self.tinventory = float(rospy.get_param('~tinventory', '2.0'))
        self.trest = float(rospy.get_param('~trest', '1.0'))
        self.txpower = int(rospy.get_param('~txpower', '2000'))
        self.topic = rospy.get_param('~topic', 'Inventory')

        rospy.loginfo('tinventory = %d', self.tinventory)
        rospy.loginfo('txpower = %d', self.txpower)
        rospy.loginfo('trest = %d', self.trest)
        rospy.loginfo('topic = %s', self.topic)

        # Configure reader and launch
        m6e.init()
        reader = m6e.startReader("tmr:///dev/rfid", rfidCallback)
        m6e.setHopTime(reader, 40)
        m6e.getPower(reader)
        m6e.setPower(reader, self.txpower)
        m6e.getPower(reader)

        # Create a publisher
        pub = rospy.Publisher(self.topic, Inventory, queue_size=10)

        # Main while loop.
        while not rospy.is_shutdown():
            # Prepare custom mesage
            #inventory_msg = Inventory()
            inventory_msg.startTime = rospy.get_rostime()
            inventory_msg.maxTimeMiliSecs = int(
                self.tinventory)  # shall change msg to be a double...
            inventory_msg.TxPower = self.txpower
            inventory_msg.tagList = []
            tag_dict = {}
            # get inventory: read tags for specified time
            self.getInventory()
            inventory_msg.tagList = tag_dict.values()

            # publish them
            pub.publish(inventory_msg)

            # Sleep for a while after publishing new messages
            rospy.sleep(self.trest)
Beispiel #3
0
#!/usr/bin/env python
import rfid


def rfidCallback(message):
    pass


if __name__ == "__main__":

    rfid.init()
    reader = rfid.startReader("tmr:///dev/rfid", rfidCallback)

    print "Current hop time is: " + str(rfid.getHopTime(reader))
    print "Setting hop time to 100ms"
    rfid.setHopTime(reader, 100)
    print "Current hop time is: " + str(rfid.getHopTime(reader))

    _ = raw_input()

    rfid.stopReader(reader)
    rfid.close()
Beispiel #4
0
#!/usr/bin/env python
import rfid

def rfidCallback(message):
	pass

if __name__ == "__main__":

	rfid.init()
	reader = rfid.startReader("tmr:///dev/rfid", rfidCallback)

	print "Current hop time is: " + str(rfid.getHopTime(reader))
	print "Setting hop time to 100ms"
	rfid.setHopTime(reader, 100)
	print "Current hop time is: " + str(rfid.getHopTime(reader))

	_ = raw_input()
	
	rfid.stopReader(reader)
	rfid.close()

Beispiel #5
0
import rospy
import std_msgs
import rfid

pub = ""

def rfidCallback(message):
	msg = str(message[0]) + ":" + str(message[1]) + ":" + str(message[2]) + ":" + str(message[3]) + ":"
	# + ":" + str(message[4]) + ":" + str(message[5])
	print str(msg)
	
	pub.publish(str(msg))

if __name__ == "__main__":

	rospy.init_node("rfid_detect")
	pub = rospy.Publisher("rfid/rfid_detect", std_msgs.msg.String, queue_size=100)

	rfid.init()
	reader = rfid.startReader("tmr:///dev/rfid", rfidCallback)

	print rfid.getHopTime(reader) #defaults to 375
	rfid.setHopTime(reader, 40) 
	print rfid.getHopTime(reader)

	rospy.spin()

	rfid.stopReader(reader)
	rfid.close()