Advertisement
Guest User

Untitled

a guest
Aug 24th, 2019
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. # -*- coding:utf-8 -*-
  2. """ Case1 """
  3. # !/usr/bin/python
  4. # Python: 3.6.5
  5. # Platform: Windows/Linux/ARMv7
  6. # Author: Heyn (heyunhuan@gmail.com)
  7. # Program: Read tag EPC.
  8. # History: 2018-10-30 Ver:1.0 [Heyn] Initialization
  9.  
  10. import sys
  11. import time
  12. import queue
  13. import datetime
  14. import threading
  15. from magicrf import m100
  16.  
  17.  
  18. import serial.tools.list_ports
  19. PLIST = list(serial.tools.list_ports.comports())
  20. if (len(PLIST) <= 0):
  21. sys.stderr.write('Could not find serial port !!!\n')
  22. sys.exit(1)
  23.  
  24. SERIAL_PORT = list(PLIST[0])[0]
  25. print(SERIAL_PORT)
  26.  
  27.  
  28. QUEUE_READER = queue.Queue(2048)
  29.  
  30.  
  31. READER = m100(SERIAL_PORT)
  32.  
  33. def receive_callback(data):
  34. QUEUE_READER.put(data)
  35.  
  36.  
  37. READER.rxcallback( receive_callback )
  38. READER.start()
  39.  
  40.  
  41. def realtime_threading( queue ):
  42. data = ''
  43. while True:
  44. data = queue.get()
  45. for item in data.split(';'):
  46. if not item:
  47. continue
  48. try:
  49. epc, rssi = item.split(',')
  50. except ValueError:
  51. print(item)
  52. continue
  53. timenow = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  54. print('{0} -> {1} RSSI: -{2} dBm'.format(timenow, epc, int(rssi, 16)))
  55. queue.task_done()
  56.  
  57. REALTIME_THD = threading.Thread( target=realtime_threading, args=( QUEUE_READER, ) )
  58. REALTIME_THD.setDaemon(True)
  59. REALTIME_THD.start()
  60.  
  61.  
  62. for _ in ( READER.power(22), READER.mode(), READER.hfss(m100.HFSS_AUTO), READER.param(q=4) ):
  63. time.sleep(0.1)
  64.  
  65. while True:
  66. READER.query(500)
  67. time.sleep(0.01)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement