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)
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)
#!/usr/bin/env python import rfid def myCallback(message): print message if __name__ == "__main__": rfid.init() reader = rfid.startReader("tmr:///dev/rfid", myCallback) _ = raw_input() rfid.stopReader(reader) rfid.close()
#!/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()