wxApp.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import wx
  2. import window_screen as ws
  3. import async_communication as CM
  4. import led
  5. import DatabaseSearch as DB
  6. import threading
  7. #db参数
  8. db_ip="192.168.1.233"
  9. db_port=3306
  10. db_name="ct_project"
  11. db_user="zx"
  12. db_password="zx123456"
  13. #启动led
  14. led=led.EntranceLED("192.168.1.165",5005)
  15. def db_callback(suv,small):
  16. led.fresh_led(suv,small,False)
  17. #启动数据库,绑定led与数据库
  18. DBSearcher=DB.DBSeacher(db_ip,db_port,db_name,db_user,db_password,1)
  19. DBSearcher.set_ledcallback(db_callback)
  20. #启动入口单片机,向rabbitmq发送数据,并接收关门请求
  21. #[消息服务器ip,port,用户,密码,状态交换机名称,状态消息key]
  22. rabbitmq_parameter={"ip":"192.168.1.233","port":5672,"user":"zx","password":"zx123456"}
  23. statu_ex_keys=[["statu_ex","in_mcpu_1_statu_port"],
  24. ["statu_ex","measure_1_statu_port"]
  25. ]
  26. cpu_ex,cpu_key=statu_ex_keys[0]
  27. measure_ex,measure_key=statu_ex_keys[1]
  28. g_rabbitmq=CM.RabbitAsyncCommunicator(rabbitmq_parameter["ip"],rabbitmq_parameter["port"],
  29. rabbitmq_parameter["user"],rabbitmq_parameter["password"])
  30. g_rabbitmq.Init(None,statu_ex_keys)
  31. #启动界面
  32. #绑定单片机与界面
  33. images={"传感器超时":"./resource/arrows/传感器超时.png",
  34. "测绘超时":"./resource/arrows/测绘超时.png",
  35. "正确文字":"./resource/arrows/正确文字.png",
  36. "正确图片":"./resource/arrows/正确图片.png",
  37. "超宽车辆":"./resource/arrows/超宽车辆.png",
  38. "轴距超差":"./resource/arrows/轴距超差.png",
  39. "请调整":"./resource/arrows/请调整.png",
  40. "向前调整":"./resource/arrows/向前调整.png",
  41. "向后调整":"./resource/arrows/向后调整.png",
  42. "向左调整":"./resource/arrows/向左调整.png",
  43. "向右调整":"./resource/arrows/向右调整.png",
  44. "左前调整":"./resource/arrows/左前调整.png",
  45. "左后调整":"./resource/arrows/左后调整.png",
  46. "右前调整":"./resource/arrows/右前调整.png",
  47. "右后调整":"./resource/arrows/右后调整.png",
  48. "向左旋转":"./resource/arrows/向左旋转.png",
  49. "向右旋转":"./resource/arrows/向右旋转.png",
  50. "空闲":"./resource/arrows/空闲.png",
  51. "回正方向盘":"./resource/arrows/回正方向盘.png"}
  52. imageArrow={}
  53. app = wx.App()
  54. frame = ws.Frame(None,images=images,title="zx123456",size=(500,1000),second_screen=False)
  55. frame.Show(True) # frame.Show(False) 或 frame.Hide()是隐藏
  56. g_rabbitmq.bind_statu_callback(cpu_ex,cpu_key,frame.receive_icpu)
  57. g_rabbitmq.bind_statu_callback(measure_ex,measure_key,frame.receive_measureInfo)
  58. g_rabbitmq.start()
  59. DBSearcher.start()
  60. # 一个app可以包含好几个frame,只有一个是顶级
  61. app.SetTopWindow(frame)
  62. app.MainLoop()
  63. g_rabbitmq.close()
  64. DBSearcher.close()
  65. g_rabbitmq.join()
  66. DBSearcher.join()