node.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import sys
  2. sys.path.append("..")
  3. import sys
  4. import time
  5. import tool.db_helper.db_operation as spmng
  6. import tool.json_helper.parse_json as parse_json
  7. import async_communication as CM
  8. import led_control_XmSgj as led_XmSgj
  9. import led_control_GyBhhy as led_GyBhhy
  10. if __name__ == "__main__":
  11. # 读取文件
  12. config = parse_json.parse_json_with_comments('./config.json')
  13. # 数据库配置
  14. db_config = config['db_config']
  15. # rabbitmq配置
  16. mq_config = config['mq_config']
  17. # LED配置
  18. led_config = config['led_config']
  19. led_list_all_config = led_config['led_list_all']
  20. area_list_all_config = led_config['area_list_all']
  21. p_unit_id = led_config['unit']
  22. p_channel = led_config['channel']
  23. if len(sys.argv) == 3:
  24. p_unit_id = int(sys.argv[1])
  25. p_channel = int(sys.argv[2])
  26. g_rabbitmq = CM.RabbitAsyncCommunicator(mq_config['mq_ip'], mq_config['mq_port'], mq_config['mq_user'], mq_config['mq_password'])
  27. for list in mq_config['mq_statu_exchange_keys']:
  28. if list[1].find(str(p_unit_id)) >= 0:
  29. g_rabbitmq.Init(None, [list],"export_%d_led"%p_channel)
  30. g_space = spmng.DBOperation(db_config['db_ip'],db_config['db_port'],db_config['db_name'],db_config['db_user'],db_config['db_password'])
  31. if config['project_name'] == 'xm_sgj':
  32. led = led_XmSgj.led_control(p_unit_id, p_channel,led_list_all_config[str(p_unit_id)][p_channel - 1],
  33. area_list_all_config[str(p_unit_id)][p_channel - 1], g_space)
  34. elif config['project_name'] == 'gy_bhhy':
  35. led = led_GyBhhy.led_control(p_unit_id,p_channel, led_list_all_config[str(p_unit_id)][p_channel - 1],
  36. area_list_all_config[str(p_unit_id)][p_channel - 1], g_space)
  37. for ex,key in mq_config['mq_statu_exchange_keys']:
  38. g_rabbitmq.bind_statu_callback(ex,key,led.receive_dispatch_statu)
  39. g_rabbitmq.start()
  40. time.sleep(0.05)
  41. led.start()
  42. g_rabbitmq.join()
  43. led.join()