MessageListenerC001.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. from hub import methods, Global
  2. import threading
  3. import time
  4. import json
  5. import os
  6. # --- for linux
  7. # save_dir = f"/home/server/logs"
  8. # --- for windows
  9. # save_dir = r'C:\SRI-DINO.Server-py\logs' # sri内网测试环境
  10. save_dir = r'C:\logs' # sri内网测试环境
  11. def method_c001(client, userdata, message):
  12. """消息处理方法"""
  13. """
  14. {
  15. 'basControl': {
  16. 'directSwitch': 1,
  17. 'eStop': 0,
  18. 'gearControl': 0,
  19. 'hazardLight': 0,
  20. 'keyStatus': 0,
  21. 'parkControl': 0,
  22. 'silencedAlarm': 0,
  23. 'travelLight': 2,
  24. 'travelMode': 0,
  25. 'vehicleHorn': 0
  26. },
  27. 'cockpitID': 'Cop001',
  28. 'driverControl': {
  29. 'accPedal': '0 AND 0 || 0 AND -1',
  30. 'brakePedal': '2 AND 2',
  31. 'steeringWheel': '1 AND 0',
  32. 'turnMode': 0,
  33. 'turnSignal': 0
  34. },
  35. 'errCode': {
  36. 'errAccPedal': 0,
  37. 'errBasOperation': '',
  38. 'errBrakePedal': 0,
  39. 'errEndTool': 0,
  40. 'errHandle': 0,
  41. 'errOther': '',
  42. 'errSteeringWheel': 0
  43. },
  44. 'taskControl': {
  45. 'baseLegControl': '103 AND 24',
  46. 'baseLegSwitch': 0,
  47. 'bypassSwitch': 0,
  48. 'cabLift': 0,
  49. 'coopSignal': 3,
  50. 'enableHydraulic': 1,
  51. 'endJoint': '1 AND 0',
  52. 'esCabLift': 0,
  53. 'suckerSelect': 0,
  54. 'taskJoint_1': '5 AND 0',
  55. 'taskJoint_2': '0 AND 0',
  56. 'taskJoint_3': '0 AND 0',
  57. 'toolControl': '0 AND 0',
  58. 'workLight': 0
  59. },
  60. 'timeStamp': 576301601,
  61. 'userID': 'Ego',
  62. 'vehicleID': '0538'
  63. }
  64. """
  65. # --- log ---
  66. methods.debug_log(f"MessageListenerC001|19", f"#message.payload: {message.payload}")
  67. log_dict = json.loads(message.payload)
  68. # try:
  69. # log_dict = json.loads(message.payload)
  70. # methods.debug_log(f"MessageListenerC001|19", f"#message.payload: {repr(log_dict)}")
  71. # except Exception as e:
  72. # pass
  73. def subscribe_c001():
  74. """"""
  75. Global.emqx.start_subscribe_loop(
  76. decorate_method=method_c001,
  77. subscribe_topic='Cockpit/CanBus/CanId001/Cop001'
  78. )